Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
155 commits
Select commit Hold shift + click to select a range
d48f6a1
test(worktree): assert recipes drive the claude CLI
c-vigo Jun 23, 2026
b305386
test(claude): assert no tracked file references .cursor/skills/
c-vigo Jun 23, 2026
165a7c1
feat(worktree): drive autonomous pipelines with the claude CLI
c-vigo Jun 23, 2026
abdd9f0
test(image): make testinfra suite portable across Debian and Nix images
c-vigo Jun 23, 2026
62a0b12
chore(claude): make .claude the SSoT for rules and skills
c-vigo Jun 23, 2026
562adb0
chore(claude): make .claude the SSoT for rules & skills (#646)
c-vigo Jun 23, 2026
6468529
Merge remote-tracking branch 'origin/feature/625-nix-claude-migration…
c-vigo Jun 23, 2026
567915b
Merge remote-tracking branch 'origin/feature/625-nix-claude-migration…
c-vigo Jun 23, 2026
bc14fd2
feat(worktree): drive autonomous pipelines with the claude CLI (#644)
c-vigo Jun 23, 2026
5bed411
Merge remote-tracking branch 'origin/feature/625-nix-claude-migration…
c-vigo Jun 23, 2026
eee9cf9
test(image): make testinfra suite portable across Debian and Nix imag…
c-vigo Jun 23, 2026
bea28be
Merge branch 'dev' into feature/625-nix-claude-migration
c-vigo Jun 23, 2026
065bb66
build(image): remove cursor-agent install from the image
c-vigo Jun 23, 2026
86972c6
test(image): drop coupled cursor-agent install test
c-vigo Jun 23, 2026
4f65f68
build(security): drop piscina CVE ignore tied to cursor-agent
c-vigo Jun 23, 2026
c8ba7e8
docs(changelog): record cursor-agent removal
c-vigo Jun 23, 2026
09b27c6
test(templates): assert Claude-native template scaffold, no Cursor
c-vigo Jun 23, 2026
d3d8b50
chore(templates): migrate template and editor glue off Cursor
c-vigo Jun 23, 2026
977e6a4
chore(templates): migrate templates and editor glue off Cursor (#648)
c-vigo Jun 23, 2026
9ee0c2f
build(image): remove cursor-agent install from the image (#649)
c-vigo Jun 23, 2026
7ad587f
test(blocklist): assert cursor and claude identities stay blocked
c-vigo Jun 23, 2026
245b767
test(worktree): rewrite trust-prompt test for the claude CLI
c-vigo Jun 23, 2026
669d98f
test(worktree): adapt cursor-coupled tests and keep the AI blocklist …
c-vigo Jun 23, 2026
6e01062
test(nix): add per-tool dev-shell parity test from flake SSoT
c-vigo Jun 23, 2026
42992d4
feat(nix): de-duplicate the flake into the toolchain SSoT
c-vigo Jun 23, 2026
a8fe5d3
ci(nix): add non-blocking Cachix dev-shell cache-warming workflow
c-vigo Jun 23, 2026
5a34082
fix(nix): keep flake description as vigOS, not eXoma
c-vigo Jun 23, 2026
eccd282
docs(claude): correct project name to vigOS, not eXoma
c-vigo Jun 23, 2026
87e3286
feat(nix): de-duplicate the flake into the toolchain SSoT (#651)
c-vigo Jun 23, 2026
655523a
feat(nix): nix-direnv onboarding fast path
c-vigo Jun 23, 2026
43e7294
ci(nix): provision CI tooling via the flake dev-shell
c-vigo Jun 23, 2026
67ec7c8
feat(nix): build the devcontainer image with buildLayeredImage
c-vigo Jun 23, 2026
fcf6768
ci(renovate): add nix manager and lockFileMaintenance for flake.lock
c-vigo Jun 23, 2026
f0634cb
ci(nix): provision CI tooling via the flake dev-shell (#653)
c-vigo Jun 23, 2026
23a3bf2
feat(nix): nix-direnv onboarding fast path (#652)
c-vigo Jun 23, 2026
64c2978
ci(renovate): add nix manager and lockFileMaintenance for flake.lock …
c-vigo Jun 23, 2026
d241c9b
ci(nix): let flake uv fetch the pinned CPython 3.14.6
c-vigo Jun 23, 2026
ad23b31
ci(nix): forward uv download-metadata URL to flake CI steps
c-vigo Jun 23, 2026
7b7b263
ci(nix): keep host podman on PATH under flake provisioning
c-vigo Jun 23, 2026
e03b247
ci(nix): let flake uv fetch the pinned CPython 3.14.6 (#656)
c-vigo Jun 23, 2026
b8d0f31
Merge remote-tracking branch 'origin/feature/625-nix-claude-migration…
c-vigo Jun 23, 2026
05753f4
feat(nix): build the devcontainer image with buildLayeredImage (non-p…
c-vigo Jun 23, 2026
12ae891
test(vigutils): assert derive-branch-summary --help exits 0
c-vigo Jun 23, 2026
a0a9d4a
fix(vigutils): handle --help in derive-branch-summary
c-vigo Jun 23, 2026
ac429ee
fix(vigutils): handle --help in derive-branch-summary (#658)
c-vigo Jun 23, 2026
245ce83
chore(claude): stop tracking local settings file
c-vigo Jun 23, 2026
6fcd17b
ci(nix): build a multi-arch Nix image discovery index (amd64 + arm64)
c-vigo Jun 23, 2026
5c078c4
test(vigutils): add failing tests for the vulnix CVE gate
c-vigo Jun 23, 2026
e927d0b
feat(vigutils): add vulnix-gate to gate unexcepted HIGH/CRITICAL CVEs
c-vigo Jun 23, 2026
9a4b4ec
feat(nix): add image scan-target env and pinned vulnix for CVE scanning
c-vigo Jun 23, 2026
08240dc
ci(security): add nightly vulnix CVE scan + CycloneDX SBOM for the Ni…
c-vigo Jun 23, 2026
c2b9ca0
docs(security): re-author CONTAINER_SECURITY.md for the Nix/vulnix po…
c-vigo Jun 23, 2026
7f8d3cd
ci(nix): keep the per-arch push running after discovery testinfra fails
c-vigo Jun 23, 2026
a31e55e
ci(nix): multi-arch Nix image discovery index (amd64 + arm64) (#636) …
c-vigo Jun 23, 2026
f57ee04
Merge remote-tracking branch 'origin/feature/625-nix-claude-migration…
c-vigo Jun 23, 2026
343234a
ci(security): vulnix + SBOM CVE scanning for the Nix image (#637) (#660)
c-vigo Jun 23, 2026
57837de
build(nix): advance the nixpkgs baseline to nixos-26.05
c-vigo Jun 23, 2026
1ede35d
chore(security): triage residual vulnix findings for the 26.05 cutover
c-vigo Jun 23, 2026
ff21d0b
ci(release): add a debian|nix builder selector to stage the cutover
c-vigo Jun 23, 2026
65f5abd
ci(security): make the nightly vulnix gate blocking
c-vigo Jun 23, 2026
8209f5c
feat(nix): scaffold a downstream flake stub + nix2container pattern
c-vigo Jun 23, 2026
4df06c3
feat(scripts): add the install/init delivery-mode picker
c-vigo Jun 23, 2026
42b8a7c
fix(scripts): default the install mode to both without a TTY
c-vigo Jun 23, 2026
fc20736
test(scripts): answer the delivery-mode prompt in the interactive ini…
c-vigo Jun 23, 2026
2c0fd7f
feat(nix): downstream flake stub (non-overwriting) + nix2container pa…
c-vigo Jun 23, 2026
f686b56
feat(scripts): install/init delivery-mode picker — devcontainer|diren…
c-vigo Jun 23, 2026
45ecdb9
build(nix): stage the publish-cutover + advance nixpkgs to 26.05 (#63…
c-vigo Jun 23, 2026
ba50d08
fix(scripts): scaffold real writable files from the Nix image
c-vigo Jun 23, 2026
10dc426
fix(scripts): Nix image scaffolds real writable files, not store syml…
c-vigo Jun 23, 2026
c783960
build(nix): relax requires-python to >=3.14,<3.15
c-vigo Jun 24, 2026
d953a8c
feat(nix): bake the project Python toolchain into the image
c-vigo Jun 24, 2026
b4b411a
test(image): adapt version assertions to the Nix toolchain; gate nix-…
c-vigo Jun 24, 2026
142e405
feat(nix): Nix image toolchain parity — pass the full testinfra suite…
c-vigo Jun 24, 2026
1d4e9db
build(nix): decommission the Debian build path
c-vigo Jun 24, 2026
ced9706
fix(nix): bake the .vig-os version; drop tests for deleted build scripts
c-vigo Jun 24, 2026
30e931e
build(nix): decommission the Debian path — Nix is the only build (#64…
c-vigo Jun 24, 2026
0a3e783
docs(claude): replace stale cursor-agent references with claude in pi…
c-vigo Jun 24, 2026
b9ca442
docs(claude): clear residual cursor-agent references in pipeline docs…
c-vigo Jun 24, 2026
90714f6
Merge branch 'dev' into feature/625-nix-claude-migration
c-vigo Jun 24, 2026
cbcf10a
test(scripts): cover Nix-first init gate and bootstrap
c-vigo Jun 24, 2026
aef2fca
feat(scripts): make just init Nix-first; retire requirements.yaml
c-vigo Jun 24, 2026
7c8930a
feat(scripts): make just init Nix-first; retire requirements.yaml (#672)
c-vigo Jun 24, 2026
07ba671
docs(readme): describe the Nix-built image, drop the Debian base claim
c-vigo Jun 24, 2026
40f78e6
docs(nix): add consolidated docs/NIX.md reference
c-vigo Jun 24, 2026
85cc6ba
docs(nix): add consolidated docs/NIX.md reference (#681)
c-vigo Jun 24, 2026
8a2e997
docs(readme): describe the Nix-built image, drop the Debian base clai…
c-vigo Jun 24, 2026
f14687d
test(nix): smoke-test the in-container nix/direnv runtime
c-vigo Jun 24, 2026
c0d1fdb
test(nix): smoke-test the in-container nix/direnv runtime (#679)
c-vigo Jun 24, 2026
726c4cf
test: add flake formatter + checks quality-gate tests
c-vigo Jun 24, 2026
8e81d98
feat(nix): add flake formatter + checks and a nix flake check CI gate
c-vigo Jun 24, 2026
ca4efc8
docs(nix): correct the stale nixos-25.05 channel comment
c-vigo Jun 24, 2026
c4671fd
feat(nix): add flake formatter + checks and a nix flake check CI gate…
c-vigo Jun 24, 2026
abc3a00
docs(changelog): reconcile the Unreleased section to the Nix end-state
c-vigo Jun 24, 2026
920a7d4
docs(changelog): reconcile the Unreleased section to the Nix end-stat…
c-vigo Jun 24, 2026
306c201
test: assert dev-shell pins a Nix store CPython for uv
c-vigo Jun 24, 2026
c9e119b
fix(nix): pin a Nix store CPython for uv in the dev-shell
c-vigo Jun 24, 2026
4b90ef1
docs(changelog): record the NixOS uv-bootstrap fix
c-vigo Jun 24, 2026
7e120c3
fix(nix): scope the uv interpreter pin to the dev-shell, keep CI down…
c-vigo Jun 24, 2026
5fd6c5a
fix(nix): pin a Nix store CPython for uv in the dev-shell (#684)
c-vigo Jun 24, 2026
f5add2f
test: assert init ensures a containers policy.json for podman load
c-vigo Jun 24, 2026
0cafe29
fix(setup): ensure a containers policy.json so podman load works in t…
c-vigo Jun 24, 2026
5557a90
docs: record the podman policy.json onboarding fix in the changelog
c-vigo Jun 24, 2026
5a2ec17
fix(setup): ensure a containers policy.json so podman load works in t…
c-vigo Jun 24, 2026
38b6f04
test(setup): assert host scripts use portable env-bash shebang
c-vigo Jun 24, 2026
59ae728
fix(setup): use portable #!/usr/bin/env bash in host scripts
c-vigo Jun 24, 2026
a4082b9
fix(setup): use portable env-bash shebang in host scripts (#690)
c-vigo Jun 24, 2026
8a1f0d7
fix(ci): accept ECDSA and security-key types in allowed-signers test
c-vigo Jun 24, 2026
171348c
fix(ci): accept ECDSA and security-key types in allowed-signers test …
c-vigo Jun 24, 2026
655af38
test(setup): align install.sh bats shebang assertion with portable sh…
c-vigo Jun 24, 2026
d99765c
fix(ci): make install_workspace a staticmethod fixture
c-vigo Jun 24, 2026
8cd1d55
fix(setup): use portable env-bash shebang in git hooks
c-vigo Jun 24, 2026
95ab585
test(setup): raise init dep-sync timeout and make it configurable
c-vigo Jun 24, 2026
388182f
fix(ci): make install_workspace a staticmethod fixture (#691) (#693)
c-vigo Jun 24, 2026
2b09e08
Merge branch 'feature/625-nix-claude-migration' into bugfix/692-init-…
c-vigo Jun 24, 2026
23aae6d
fix(setup): unblock testinfra init fixture (dep-sync timeout + NixOS …
c-vigo Jun 24, 2026
4c30fa8
docs(setup): document direnv shell hook prerequisite in CONTRIBUTE
c-vigo Jun 24, 2026
9975662
test(nix): assert flake provides bats with resolvable helper libs
c-vigo Jun 24, 2026
36ee161
build(nix): provide bats + helper libraries from the flake
c-vigo Jun 24, 2026
c0642cd
build(nix): resolve bats via flake BATS_LIB_PATH; drop npm bats deps
c-vigo Jun 24, 2026
addb632
build(nix): resolve BATS helper libraries from the flake (#696)
c-vigo Jun 24, 2026
501d988
test(nix): assert ruff and typos are in the devTools SSoT
c-vigo Jun 24, 2026
943a834
test(nix): assert dev-shell LD_LIBRARY_PATH carries libstdc++ for pym…
c-vigo Jun 24, 2026
e588e4f
build(nix): source ruff/ruff-format/typos pre-commit hooks from the f…
c-vigo Jun 24, 2026
c59f932
build(nix): expose libstdc++ in dev-shell so pymarkdown runs on NixOS
c-vigo Jun 24, 2026
134119f
build(nix): source ruff from the flake, not the project venv
c-vigo Jun 24, 2026
f30f4f9
build(nix): source ruff/ruff-format/typos pre-commit hooks from the f…
c-vigo Jun 24, 2026
2a03092
Merge remote-tracking branch 'origin/feature/625-nix-claude-migration…
c-vigo Jun 24, 2026
77a8f4a
build(nix): expose libstdc++ in the dev-shell so pymarkdown runs on N…
c-vigo Jun 24, 2026
1236458
style: taplo-format pyproject lint group after ruff removal
c-vigo Jun 24, 2026
6ec3a51
fix(image): declare PATH in the devcontainer OCI config
c-vigo Jun 24, 2026
fabf6d1
fix(setup): keep scaffolded ruff/typos as self-contained pre-commit h…
c-vigo Jun 24, 2026
58f198e
test(integration): assert devcontainer runs the image under test
c-vigo Jun 24, 2026
baa4637
fix(testing): run the integration devcontainer from the image under test
c-vigo Jun 25, 2026
e4d4e5e
fix(setup): bring the Nix image up cleanly under devcontainer up
c-vigo Jun 25, 2026
5824bdf
fix(setup): scaffold ruff/ruff-format/typos as language:system hooks
c-vigo Jun 25, 2026
f4fff13
docs(testing): document the integration image-selection behaviour
c-vigo Jun 25, 2026
3b1b1e0
fix(testing): run integration tests against the freshly-built image (…
c-vigo Jun 25, 2026
a818fb7
test(setup): gate dev-shell libstdc++ tests to NixOS, add FHS leak guard
c-vigo Jun 25, 2026
e27962a
fix(setup): gate dev-shell C++ runtime LD_LIBRARY_PATH injection to N…
c-vigo Jun 25, 2026
25554b4
fix(setup): gate dev-shell C++ runtime LD_LIBRARY_PATH injection to N…
c-vigo Jun 25, 2026
2172bc7
build(image): tag the discovery image nix-dev to match CI
c-vigo Jun 25, 2026
c3c17bb
style: fix the duplicated word in the just clean recipe
c-vigo Jun 25, 2026
fdd1a0c
docs: correct the Python version to 3.14 in the TESTING template
c-vigo Jun 25, 2026
3652cda
fix(setup): drop the duplicate sync-manifest pre-commit hook
c-vigo Jun 25, 2026
37ce798
test(setup): assert workspace interpreter uses the workspace venv
c-vigo Jun 25, 2026
fcd99e8
fix(setup): point the workspace python interpreter at the workspace venv
c-vigo Jun 25, 2026
c0b5f5d
docs(setup): note the workspace interpreter path fix in the changelog
c-vigo Jun 25, 2026
606d114
style(setup): ruff-format the workspace interpreter test
c-vigo Jun 25, 2026
ad1a5d5
chore(ci): set ruff target-version to py314
c-vigo Jun 25, 2026
25b8620
build(image): tag the discovery image nix-dev to match CI (#713)
c-vigo Jun 25, 2026
78a973d
style: fix the duplicated word in the just clean recipe (#714)
c-vigo Jun 25, 2026
0423186
docs: correct the Python version to 3.14 in the TESTING template (#715)
c-vigo Jun 25, 2026
30f02ed
fix(setup): drop the duplicate sync-manifest pre-commit hook (#712)
c-vigo Jun 25, 2026
8975eca
chore(ci): set ruff target-version to py314 (#711)
c-vigo Jun 25, 2026
5eb64b1
fix(setup): point the workspace python interpreter at the workspace v…
c-vigo Jun 25, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# .cursor/agent-models.toml
# Single source of truth for cursor-agent model assignments.
# .claude/agent-models.toml
# Single source of truth for agent model assignments.
# Referenced by: justfile.worktree (worktree-start recipe)

[models]
Expand Down
2 changes: 1 addition & 1 deletion .claude/commands/ci_check.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
Read and follow the workflow in `.cursor/skills/ci_check/SKILL.md`.
Read and follow the workflow in `.claude/skills/ci_check/SKILL.md`.

Context: $ARGUMENTS
2 changes: 1 addition & 1 deletion .claude/commands/ci_fix.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
Read and follow the workflow in `.cursor/skills/ci_fix/SKILL.md`.
Read and follow the workflow in `.claude/skills/ci_fix/SKILL.md`.

Context: $ARGUMENTS
2 changes: 1 addition & 1 deletion .claude/commands/code_debug.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
Read and follow the workflow in `.cursor/skills/code_debug/SKILL.md`.
Read and follow the workflow in `.claude/skills/code_debug/SKILL.md`.

Context: $ARGUMENTS
2 changes: 1 addition & 1 deletion .claude/commands/code_execute.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
Read and follow the workflow in `.cursor/skills/code_execute/SKILL.md`.
Read and follow the workflow in `.claude/skills/code_execute/SKILL.md`.

Context: $ARGUMENTS
2 changes: 1 addition & 1 deletion .claude/commands/code_review.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
Read and follow the workflow in `.cursor/skills/code_review/SKILL.md`.
Read and follow the workflow in `.claude/skills/code_review/SKILL.md`.

Context: $ARGUMENTS
4 changes: 2 additions & 2 deletions .claude/commands/code_tdd.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Read and follow the workflow in `.cursor/skills/code_tdd/SKILL.md`.
Also read `.cursor/rules/tdd.mdc` for the scenario checklist and TDD rules.
Read and follow the workflow in `.claude/skills/code_tdd/SKILL.md`.
Also read `.claude/skills/tdd/SKILL.md` for the scenario checklist and TDD rules.

Context: $ARGUMENTS
2 changes: 1 addition & 1 deletion .claude/commands/code_verify.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
Read and follow the workflow in `.cursor/skills/code_verify/SKILL.md`.
Read and follow the workflow in `.claude/skills/code_verify/SKILL.md`.

Context: $ARGUMENTS
2 changes: 1 addition & 1 deletion .claude/commands/design_brainstorm.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
Read and follow the workflow in `.cursor/skills/design_brainstorm/SKILL.md`.
Read and follow the workflow in `.claude/skills/design_brainstorm/SKILL.md`.

Context: $ARGUMENTS
2 changes: 1 addition & 1 deletion .claude/commands/design_plan.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
Read and follow the workflow in `.cursor/skills/design_plan/SKILL.md`.
Read and follow the workflow in `.claude/skills/design_plan/SKILL.md`.

Context: $ARGUMENTS
4 changes: 2 additions & 2 deletions .claude/commands/git_commit.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Read and follow the workflow in `.cursor/skills/git_commit/SKILL.md`.
Also read `.cursor/rules/commit-messages.mdc` for the commit message format.
Read and follow the workflow in `.claude/skills/git_commit/SKILL.md`.
Also read the Commit Message Standard in `CLAUDE.md` for the commit message format.

Context: $ARGUMENTS
2 changes: 1 addition & 1 deletion .claude/commands/inception_architect.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
Read and follow the workflow in `.cursor/skills/inception_architect/SKILL.md`.
Read and follow the workflow in `.claude/skills/inception_architect/SKILL.md`.

Context: $ARGUMENTS
2 changes: 1 addition & 1 deletion .claude/commands/inception_explore.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
Read and follow the workflow in `.cursor/skills/inception_explore/SKILL.md`.
Read and follow the workflow in `.claude/skills/inception_explore/SKILL.md`.

Context: $ARGUMENTS
2 changes: 1 addition & 1 deletion .claude/commands/inception_plan.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
Read and follow the workflow in `.cursor/skills/inception_plan/SKILL.md`.
Read and follow the workflow in `.claude/skills/inception_plan/SKILL.md`.

Context: $ARGUMENTS
2 changes: 1 addition & 1 deletion .claude/commands/inception_scope.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
Read and follow the workflow in `.cursor/skills/inception_scope/SKILL.md`.
Read and follow the workflow in `.claude/skills/inception_scope/SKILL.md`.

Context: $ARGUMENTS
2 changes: 1 addition & 1 deletion .claude/commands/issue_claim.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
Read and follow the workflow in `.cursor/skills/issue_claim/SKILL.md`.
Read and follow the workflow in `.claude/skills/issue_claim/SKILL.md`.

Context: $ARGUMENTS
2 changes: 1 addition & 1 deletion .claude/commands/issue_create.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Read and follow the workflow in `.cursor/skills/issue_create/SKILL.md`.
Read and follow the workflow in `.claude/skills/issue_create/SKILL.md`.
Also read `.github/ISSUE_TEMPLATE/` and `.github/label-taxonomy.toml` for templates and labels.

Context: $ARGUMENTS
2 changes: 1 addition & 1 deletion .claude/commands/issue_triage.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Read and follow the workflow in `.cursor/skills/issue_triage/SKILL.md`.
Read and follow the workflow in `.claude/skills/issue_triage/SKILL.md`.
Also read `.github/label-taxonomy.toml` for canonical labels.

Context: $ARGUMENTS
2 changes: 1 addition & 1 deletion .claude/commands/pr_create.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Read and follow the workflow in `.cursor/skills/pr_create/SKILL.md`.
Read and follow the workflow in `.claude/skills/pr_create/SKILL.md`.
Also read `.github/pull_request_template.md` for the PR template.

Context: $ARGUMENTS
2 changes: 1 addition & 1 deletion .claude/commands/pr_post-merge.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
Read and follow the workflow in `.cursor/skills/pr_post-merge/SKILL.md`.
Read and follow the workflow in `.claude/skills/pr_post-merge/SKILL.md`.

Context: $ARGUMENTS
2 changes: 1 addition & 1 deletion .claude/commands/pr_solve.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
Read and follow the workflow in `.cursor/skills/pr_solve/SKILL.md`.
Read and follow the workflow in `.claude/skills/pr_solve/SKILL.md`.

Context: $ARGUMENTS
2 changes: 1 addition & 1 deletion .claude/commands/worktree_ask.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
Read and follow the workflow in `.cursor/skills/worktree_ask/SKILL.md`.
Read and follow the workflow in `.claude/skills/worktree_ask/SKILL.md`.

Context: $ARGUMENTS
2 changes: 1 addition & 1 deletion .claude/commands/worktree_brainstorm.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
Read and follow the workflow in `.cursor/skills/worktree_brainstorm/SKILL.md`.
Read and follow the workflow in `.claude/skills/worktree_brainstorm/SKILL.md`.

Context: $ARGUMENTS
2 changes: 1 addition & 1 deletion .claude/commands/worktree_ci-check.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
Read and follow the workflow in `.cursor/skills/worktree_ci-check/SKILL.md`.
Read and follow the workflow in `.claude/skills/worktree_ci-check/SKILL.md`.

Context: $ARGUMENTS
2 changes: 1 addition & 1 deletion .claude/commands/worktree_ci-fix.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
Read and follow the workflow in `.cursor/skills/worktree_ci-fix/SKILL.md`.
Read and follow the workflow in `.claude/skills/worktree_ci-fix/SKILL.md`.

Context: $ARGUMENTS
4 changes: 2 additions & 2 deletions .claude/commands/worktree_execute.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Read and follow the workflow in `.cursor/skills/worktree_execute/SKILL.md`.
Also read `.cursor/rules/tdd.mdc` for TDD rules.
Read and follow the workflow in `.claude/skills/worktree_execute/SKILL.md`.
Also read `.claude/skills/tdd/SKILL.md` for TDD rules.

Context: $ARGUMENTS
2 changes: 1 addition & 1 deletion .claude/commands/worktree_plan.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
Read and follow the workflow in `.cursor/skills/worktree_plan/SKILL.md`.
Read and follow the workflow in `.claude/skills/worktree_plan/SKILL.md`.

Context: $ARGUMENTS
2 changes: 1 addition & 1 deletion .claude/commands/worktree_pr.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
Read and follow the workflow in `.cursor/skills/worktree_pr/SKILL.md`.
Read and follow the workflow in `.claude/skills/worktree_pr/SKILL.md`.

Context: $ARGUMENTS
4 changes: 2 additions & 2 deletions .claude/commands/worktree_solve-and-pr.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Read and follow the workflow in `.cursor/skills/worktree_solve-and-pr/SKILL.md`.
Also read `.cursor/rules/subagent-delegation.mdc` for delegation patterns.
Read and follow the workflow in `.claude/skills/worktree_solve-and-pr/SKILL.md`.
Also read `.claude/skills/subagent-delegation/SKILL.md` for delegation patterns.

Context: $ARGUMENTS
2 changes: 1 addition & 1 deletion .claude/commands/worktree_verify.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
Read and follow the workflow in `.cursor/skills/worktree_verify/SKILL.md`.
Read and follow the workflow in `.claude/skills/worktree_verify/SKILL.md`.

Context: $ARGUMENTS
7 changes: 0 additions & 7 deletions .claude/settings.local.json

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
description: Topic branch naming and workflow for starting work on an issue. Attach when creating branches, starting work on issues, or checking out branches.
alwaysApply: false
name: branch-naming
description: Topic branch naming and workflow for starting work on an issue. Use when creating branches, starting work on issues, or checking out branches.
disable-model-invocation: true
---

# Topic Branch Naming and Workflow
Expand Down Expand Up @@ -40,15 +41,19 @@ When the user asks to create or start work on an issue (e.g. "create branch for
## Branch name format (reference)

### Issue-tied branches

```
<type>/<issue_number>-<short_summary>
```

Example: `feature/36-standardize-commit-messages`, `bugfix/42-fix-login-bug`

### Chore branches (no issue required)

```
chore/<short_summary>
```

Example: `chore/sync-main-to-dev`, `chore/update-dependencies`

## Branch types (reference)
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ STEPS:
Flag any change NOT traceable to a requirement (scope creep).
4. Check project standards:
- Changelog: is CHANGELOG.md updated under ## Unreleased? Does the entry match?
- Commit messages: do all commits follow the format in .cursor/rules/commit-messages.mdc?
- Commit messages: do all commits follow the format in CLAUDE.md (Commit Message Standard)?
- Tests: are there tests for new/changed behavior?
- Docs: are documentation changes needed?
5. Produce your report in EXACTLY this structure:
Expand Down
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -180,4 +180,4 @@ User: "Add multi-tenancy to the system"
- [RFC template](../../templates/RFC.md)
- [DESIGN template](../../templates/DESIGN.md)
- [Keep a Changelog](https://keepachangelog.com/) — format for CHANGELOG.md entries
- [Single Source of Truth rule](../../../.cursor/rules/single-source-of-truth.mdc)
- [Single Source of Truth rule](../../../CLAUDE.md)
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ Create a new GitHub issue using the appropriate issue template.
- Draft the body with all required fields from the chosen template.
- Include a Changelog Category value based on the issue type.
- For testable issue types (`feature`, `bug`, `refactor`), include a TDD acceptance criterion:
`- [ ] TDD compliance (see .cursor/rules/tdd.mdc)`
`- [ ] TDD compliance (see .claude/skills/tdd/SKILL.md)`

4. **Show draft and ask for confirmation**
- Present the title, labels, and body to the user.
Expand Down
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ This command:
- Resolves or creates the linked branch
- Sets up the environment (`uv sync`, `pre-commit install`)
- Captures the local gh user as the reviewer (`gh api user --jq '.login'`)
- Launches a tmux session running `cursor-agent` with `--yolo` mode
- Launches a tmux session running `claude --dangerously-skip-permissions`
- Passes `/worktree-solve-and-pr` as the initial prompt

### 3. Report back to the user
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,16 @@
---
name: subagent-delegation
description: How to delegate mechanical sub-steps to lightweight subagents when executing skills. Use when running a skill that has data-gathering, formatting, or structured-review sub-steps.
disable-model-invocation: true
---

# Subagent Delegation

When executing skills, delegate mechanical sub-steps to lightweight subagents via the Task tool to reduce token consumption on the primary model.

## Model Tiers

See [.cursor/agent-models.toml](../.cursor/agent-models.toml) for the single source of truth. Summary:
See [.claude/agent-models.toml](../../agent-models.toml) for the single source of truth. Summary:

- **lightweight** (`composer-1.5`) — CLI commands, API calls, file reading, parsing, template filling
- **standard** (`sonnet-4.5`) — structured analysis, code review with clear inputs
Expand Down Expand Up @@ -84,7 +90,7 @@ The following steps SHOULD be delegated to reduce token consumption:
- **Step 6** (publish comment): Spawn a Task subagent with `model: "fast"` that
posts the formatted comment and returns the comment URL.

Reference: [subagent-delegation rule](../../rules/subagent-delegation.mdc)
Reference: [subagent-delegation skill](../subagent-delegation/SKILL.md)
```

## Important Notes
Expand Down
17 changes: 5 additions & 12 deletions .cursor/rules/tdd.mdc → .claude/skills/tdd/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,26 +1,19 @@
---
description: TDD discipline and test scenario guidance when writing code
alwaysApply: false
globs:
- "**/*.py"
- "**/*.ts"
- "**/*.js"
- "**/*.sh"
- "**/test_*"
- "**/*_test.*"
- "**/tests/**"
name: tdd
description: TDD discipline and test scenario guidance when writing code. Use when implementing features or fixes that have testable behavior.
disable-model-invocation: true
---

# TDD

When implementing features or fixes that have testable behavior:

1. Write the failing test first. Run it. Confirm it fails.
2. **Commit** the failing test following [commit-messages.mdc](commit-messages.mdc) (`test: ...`). Do not proceed before committing.
2. **Commit** the failing test following the commit message standard in `CLAUDE.md` (`test: ...`). Do not proceed before committing.
3. Write minimal code to make the test pass. Run it. Confirm it passes. **Commit** the implementation.
4. Refactor. Run tests. Confirm no regressions. **Commit** the refactor if meaningful.

All commits must follow [commit-messages.mdc](commit-messages.mdc). Never use `--no-verify`.
All commits must follow the commit message standard in `CLAUDE.md`. Never use `--no-verify`.

Each phase gets its own commit so the git history proves TDD compliance.

Expand Down
File renamed without changes.
79 changes: 0 additions & 79 deletions .cursor/rules/changelog.mdc

This file was deleted.

21 changes: 0 additions & 21 deletions .cursor/rules/coding-principles.mdc

This file was deleted.

Loading
Loading