diff options
| -rw-r--r-- | AGENTS.md | 2 | ||||
| -rw-r--r-- | config/pi/compact-tools.json | 28 | ||||
| -rw-r--r-- | config/pi/settings.json | 3 | ||||
| -rwxr-xr-x | link.sh | 1 |
4 files changed, 33 insertions, 1 deletions
@@ -268,6 +268,8 @@ theme --list-bat ### Configuration Management The repository uses a centralized linking system where `link.sh` creates symlinks from `config/` files to their expected locations in `$HOME` and `$XDG_CONFIG_HOME`. This allows version control of dotfiles while maintaining standard file locations. +Two linked files are rewritten by the tool that reads them, so on a machine in use they differ from the repo and that is their normal state: `config/claude/settings.json`, which Claude Code writes to (model, theme), and `config/pi/compact-tools.json`, which pi-compact-tools' `/compact-tools` command saves through the link on purpose. **Do not commit, revert or "fix" a change to either without asking.** One meant for every machine is committed deliberately; one that is a single machine's preference stays where it is. + `link.sh` holds only the plain one-line links. Anything with logic of its own is a part in `link/` (`ssh`, `claude`, `pi`, `skills`, `icloud`, `hammerspoon`, `kwin`): a script with the same `[yes]` dry-run interface that decides for itself whether it applies, and can be run alone (`link/ssh.sh yes`). Shared helpers are in `link/lib.sh`. New logic goes in a part, not in `link.sh`. A part named in `~/.config/dot/skip`, one per line, does nothing on that machine — whether it is reached through `link.sh` or run on its own. That file is hand-written and in no repo, like `~/.localenv`: it is for a machine where a part would do the wrong thing, such as one whose `~/.claude/settings.json` belongs to its owner rather than to this account, and it keeps that machine's exception out of this repo, which every machine shares. diff --git a/config/pi/compact-tools.json b/config/pi/compact-tools.json new file mode 100644 index 0000000..09a5768 --- /dev/null +++ b/config/pi/compact-tools.json @@ -0,0 +1,28 @@ +{ + "style": "compact", + "tools": [ + "read", + "write", + "edit", + "bash", + "powershell", + "grep", + "find", + "ls" + ], + "previewLines": 3, + "auto_compact": { + "read": false, + "write": false, + "edit": false, + "bash": false, + "powershell": false, + "grep": false, + "find": false, + "ls": false + }, + "custom_tools": { + "enabled": true, + "auto_compact": false + } +} diff --git a/config/pi/settings.json b/config/pi/settings.json index 239fe1b..9891dcc 100644 --- a/config/pi/settings.json +++ b/config/pi/settings.json @@ -6,6 +6,7 @@ "theme": "dark", "packages": [ "npm:@narumitw/pi-goal", - "git:github.com/Optomatica/pi-auto-session-name@3253c3d1c29c71cb034b2fbffb3efe5f83d35802" + "git:github.com/Optomatica/pi-auto-session-name@3253c3d1c29c71cb034b2fbffb3efe5f83d35802", + "git:github.com/nedleeds/pi-compact-tools@bfbf9a7d85dc757f089bd296e65d81847fc9e030" ] } @@ -36,6 +36,7 @@ link_all "$config_dir/bat" "$xdg_config_dir/bat" link "$config_dir/aider.conf.yml" "$HOME/.aider.conf.yml" link "$config_dir/pi/extensions" "$HOME/.pi/agent/extensions" +link "$config_dir/pi/compact-tools.json" "$HOME/.pi/agent/compact-tools.json" # settings.json and models.json are both generated by link/pi.sh; AGENTS.md and # mcp.json, if any, come from another layer. |
