diff --git a/CLAUDE.md b/CLAUDE.md index 2d42d25..0344e5f 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -15,7 +15,7 @@ Do **not** run shell commands to list directories — the tree is already in your context. Include a brief description if the project has a CLAUDE.md or README.md you can glean one from. 2. Based on the user's choice: - - **Existing project**: `cd` into the directory, read all `.md` files, and read `~/dev/claude/secrets/` (read-only reference — review every file to refresh context). Then read `BESTPRACTICES.md` (loaded automatically by `context-load`) and load any topic files relevant to the selected project's technology stack. Ask clarifying questions if anything is unclear or incomplete, and note context in MEMORY.md. + - **Existing project**: `cd` into the directory. **Pull the latest from the remote** (`git pull --ff-only`) before reading any files — work may have been pushed from another machine or agent. If the pull fails (diverged history, uncommitted changes), warn the user and ask how to proceed. Then read all `.md` files, and read `~/dev/claude/secrets/` (read-only reference — review every file to refresh context). Then read `BESTPRACTICES.md` (loaded automatically by `context-load`) and load any topic files relevant to the selected project's technology stack. Ask clarifying questions if anything is unclear or incomplete, and note context in MEMORY.md. - **No project right now**: Do nothing further — just respond normally. - **New project!**: Follow the "New Projects" section below. Also read `~/dev/claude/secrets/` as above. Read `BESTPRACTICES.md` (loaded automatically by `context-load`) and load topic files relevant to the new project's technology stack. @@ -57,6 +57,7 @@ If this is a new project: - Git remote URLs use the alias: `git@gitea.oreillyit.nz-:/.git` - Example: `git@gitea.oreillyit.nz-ai-enablement:skynet/custom-claude-skills.git` - Optionally push-mirror to GitHub for public visibility +- **Always pull before planning work** — run `git pull --ff-only` when entering a project. Work may have been pushed from another machine or by container agents. If the pull fails, warn the user before proceeding. - Use meaningful commit messages; prefer small, focused commits over large batches - Enable pre-commit hooks where appropriate (secret detection, linting, formatting) - Never commit secrets in plaintext — use SOPS + age or equivalent encryption @@ -279,6 +280,20 @@ These are hard-won lessons from real project work: - **Automate repeated sequences.** If you run the same 3+ commands in sequence more than once, it should become a script. - **Reflect after milestones.** Don't just finish — review what happened, what went wrong, what can be improved. Write it down so future sessions benefit. +## Agent Runtimes Control Plane + +When submitting tasks to the agent-runtimes control plane (locally via Docker Compose or in K8s), always recommend the user run the **agent-monitor** in a separate terminal to track progress: + +```bash +# In a second terminal — filter to your project and recent activity +~/dev/claude/projects/agent-runtimes/scripts/agent-monitor --filter "project=" --filter "age<20m" +``` + +This gives a live view of task states, durations, and time since last status change. Adjust the `age` filter to suit the session — `20m` is a good default for active work, `1h` for longer-running tasks. + +For full control plane usage (submitting tasks, checking logs, cancelling, common workflows), see: +**`~/dev/claude/projects/agent-runtimes/readme/control-plane-operations.md`** + ## Status Line A persistent bar at the bottom of Claude Code shows the current topic, model, and context usage: `[Model Name] topic | N% context`.