Linha de comando (lnote)

As mesmas operações do MCP estão num executável de console, lnote, para scripts e automação (também acessível como lightnote cli <comando>). Toda ação fica confinada à pasta-raiz, definida por --root (padrão: a pasta atual).

Exemplos:

lnote list --recursive
lnote read --path src/main.cpp --start-line 1 --end-line 40
lnote write --path nota.md --content "Olá"
echo conteudo | lnote write --path nota.md --content -
lnote search --query TODO --regex
lnote query --sql "SELECT * FROM read_parquet('dados.parquet') LIMIT 10"
lnote describe --path dados.parquet
lnote search-notes --query "onde escrevi sobre orçamento"
lnote audit-links
lnote xlsx-read --path planilha.xlsx --sheet 0
lnote data-diff --a antes.parquet --b depois.parquet --mode changed --keys id
lnote db-describe --connection dados.lnc --table clientes
lnote db-export --connection dados.lnc --sql "SELECT * FROM clientes" --out clientes.parquet
lnote due-tasks
lnote export --sql "SELECT * FROM read_csv_auto('e.csv') WHERE uf='SP'" --out sp.parquet
lnote zip-list --path export.isx
lnote zip-read --path export.isx --entry job/definicao.xml
lnote task-projects
lnote tasks --project Backlog
lnote create-task --project Backlog --title "Revisar texto" --effort 2
lnote move-task --project Backlog --task-id 5 --status-id 2
lnote git-status
lnote http --url https://api.exemplo.com --method GET
lnote notify --message "Processamento concluído"

Globais: --root <pasta>, --json (saída estruturada {ok,data,error}), --help (ou lnote <comando> --help) e --version. Comandos desconhecidos recebem uma sugestão ("você quis dizer…?").

Atualizar dados antigos em lote: lnote upgrade <pasta> moderniza de uma vez os arquivos gravados por versões anteriores do LightNote — hoje, as extensões legadas .lnsh e .lnsm, que passaram a ser .lns e .lne. O aplicativo já faz isso sozinho ao abrir cada arquivo; o comando existe para quem tem dezenas e não quer abrir um a um. Use --dry-run para ver o que mudaria sem tocar em nada. É conveniência, não obrigação: seus arquivos antigos continuam abrindo normalmente sem ele.