Trabalhar num projeto
Projetos
Dá uma pasta ao Code. Aí lê, edita e executa comandos, e em mais lado nenhum.
Um projeto é uma pasta onde o Code trabalha. Cada caminho é resolvido seguindo
as ligações simbólicas e depois verificado contra essa pasta, por isso nem
.. nem uma ligação para fora da árvore chegam a lado nenhum.
O que é recusado de qualquer forma
- Pastas como
.ssh,.aws,.gnupg,.kube - Ficheiros como
.env,id_rsa,.pem,.npmrc,credentials - Tudo acima de 2 MB, e tudo o que não seja texto
Qualquer alteração se desfaz
Um passo que mudou um ficheiro mostra um diff e um botão Desfazer. Os bytes anteriores ficam na pasta do próprio Draggy, por isso desfazer funciona numa pasta que não é um repositório. Um ficheiro apagado foi para a reciclagem.
A tela
Clica num ficheiro da árvore e abre ao lado da conversa: um ficheiro de código em edição com realce de sintaxe, Markdown com a escolha entre Editar e Pré-visualizar. As alterações do modelo ao mesmo ficheiro vão aparecendo ali.
Ficheiros na barra lateral mostra a mesma árvore em tamanho grande, com mudar o nome, mostrar no sistema e apagar ao lado do editor.
Git
Num repositório, uma faixa por baixo da árvore mostra o ramo, o que falta enviar
e o que mudou, com um botão Diff por ficheiro. O modelo lê o
mesmo por git_status e git_diff, com os hooks, os
filtros e as ferramentas de diff externas do repositório desligados. Nunca faz
commit nem fetch.
Memória do projeto
Um AGENTS.md na raiz do projeto é lido em cada turno. Põe lá o que
seria preciso dizer a quem chega: como correr os testes, no que não mexer, o
estilo da casa. /init escreve um a partir do que já lá está.