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.

As definições de Projetos do Draggy para o weather-cli: o seu nome, pasta e memória de projeto, a permissão Aceitar alterações escolhida, e uma lista vazia de comandos sempre permitidos.

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á.