在项目中工作

项目

给 Code 一个文件夹。它只在那里读取、修改和执行命令,别处都不行。

项目就是 Code 工作的那一个文件夹。每个路径都会先解析符号链接,再与该文件夹核对,所以 .. 和指向树外的链接都哪儿也去不了。

Draggy 中 weather-cli 的项目设置:名称、文件夹和项目记忆,已选择的「接受修改」权限,以及一个空的始终允许命令列表。

仍会被拒绝的东西

  • .ssh.aws.gnupg.kube 之类的文件夹
  • .envid_rsa.pem.npmrccredentials 之类的文件
  • 超过 2 MB 的,以及任何非文本的内容

每次改动都能撤销

改过文件的步骤会显示 diff 和一个撤销按钮。改动前的字节保存在 Draggy 自己的文件夹里,所以即便不是 git 仓库也能撤销。被删除的文件进了回收站。

画布

点击文件树里的文件,它会在对话旁边打开:代码文件进入带语法高亮的编辑模式,Markdown 则有编辑预览的切换。模型对同一文件的修改会实时出现在这里。

侧边栏里的文件把同一棵树全屏显示,编辑器旁边有重命名、在系统中显示和删除。

Git

在仓库里,文件树下方的条带会显示分支、尚未推送的内容和改动了什么,每个文件旁有 Diff 按钮。模型通过 git_statusgit_diff 读到同样的信息,并且关闭了仓库自己的钩子、过滤器和外部 diff 工具。它从不提交,也从不拉取。

项目记忆

项目根目录下的 AGENTS.md 每一轮都会被读入。把新人需要知道的写进去:怎么跑测试、什么不要碰、代码风格。 /init 会根据现有内容替你起草一份。