riskrails 3.2.2 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +2 -2
- package/.claude-plugin/plugin.json +1 -1
- package/.codex-plugin/plugin.json +1 -1
- package/README.md +50 -84
- package/agents/ai-reviewer.md.tmpl +1 -1
- package/ai/using-riskrails.md +0 -3
- package/bin/menu.js +116 -0
- package/bin/riskrails.js +132 -79
- package/hooks/ai-path-guard-defaults.json +1 -1
- package/hooks/context-guard.py +2 -4
- package/hooks/guard/dialog.py +14 -2
- package/hooks/guard/paths.py +3 -6
- package/hooks/guard/scope.py +1 -3
- package/hooks/runtime-gate.py +18 -58
- package/instructions/routing.md +2 -2
- package/package.json +1 -1
- package/scripts/ai-path +1 -1
- package/scripts/resolve-profile.py +0 -3
- package/skills/ai-audit/templates/ai-sdlc-adoption-plan.md +1 -1
- package/skills/ai-audit/templates/play-scoring-rubric.md +1 -1
- package/skills/ai-init/scaffold-ai.sh +2 -1
- package/skills/ai-init/templates/.ai/AGENTS.md +6 -6
- package/skills/ai-init/templates/.ai/VERSION +1 -1
- package/skills/ai-init/templates/.ai/policies/safety.md +4 -3
- package/skills/ai-init/templates/.ai/policies/security.md +1 -2
- package/skills/ai-init/templates/.ai/policies/testing.md +5 -12
- package/skills/ai-init/templates/.ai/policies/verification.md +18 -0
- package/skills/ai-init/templates/.ai/policies/weight.json +0 -1
- package/skills/ai-init/templates/.ai/policies/weight.md +1 -2
- package/skills/ai-init/templates/.ai/policies/weight.project.json +4 -0
- package/skills/ai-init/templates/.ai/project/architecture.md +1 -1
- package/skills/ai-init/templates/.ai/project/initial-assessment.md +2 -2
- package/skills/ai-init/templates/.ai/project/overview.md +1 -1
- package/skills/ai-init/templates/.ai/rules/README.md +2 -2
- package/skills/ai-init/templates/.ai/state/README.md +1 -1
- package/skills/ai-task/memory_store.py +8 -9
- package/skills/ai-task/rr_state/cli.py +2 -2
- package/skills/ai-task/rr_state/dialog.py +2 -4
- package/skills/ai-task/rr_state/dialog_cmd.py +183 -6
- package/skills/ai-task/rr_state/fs.py +5 -13
- package/skills/ai-task/rr_state/labels.py +14 -2
- package/skills/ai-task/rr_state/memory_cmd.py +7 -4
- package/skills/ai-task/rr_state/profile.py +2 -4
- package/skills/ai-task/rr_state/questions_cmd.py +1 -1
- package/skills/ai-task/rr_state/report.py +3 -4
- package/skills/ai-task/rr_state/runtime.py +1 -1
- package/skills/ai-task/rr_state/start.py +7 -7
- package/skills/ai-task/sensors.py +10 -11
- package/skills/ai-task/state.py +4 -24
- package/skills/ai-task/weight.py +17 -17
- package/skills/ai-task/weight_overlay.py +38 -0
- package/skills/project-init/templates/constitution.md +2 -2
- package/skills/project-update/history/blobs/00f5e27ce2d66e3a1d8b222b013ae8fa1fed32612d91a551e0c661cee3ef9c2d +34 -0
- package/skills/project-update/history/blobs/0a6b1b6dd06a35582b2e9989a1f41c40abc29254b8e482714fcc6f0a7b16c406 +32 -0
- package/skills/project-update/history/blobs/0aeb04b04262683cac6513545683486a73dc473b447bba43b5aaab18403957a6 +34 -0
- package/skills/project-update/history/blobs/0ce913a28996f546f72d570b0e5a376362e993ce4d805bc4aae57d38caa44212 +41 -0
- package/skills/project-update/history/blobs/0ea9e36446b624b73b2a821231b2ee66a357b43d584a5b23da48b3c800855e65 +41 -0
- package/skills/project-update/history/blobs/0fb1d68678a1349195b2e79433bb20174d25874e3bfd0b70410bb4e428b4e4b8 +35 -0
- package/skills/project-update/history/blobs/119b2b9d0f9c647a243540724edac6b29afa020c69aa205797bcfa9eb06bc021 +35 -0
- package/skills/project-update/history/blobs/1d0fe3ee5fb8260ba610942d4bbdfff7410fbe80ed826ac07f32985031dc2b3f +34 -0
- package/skills/project-update/history/blobs/1de9a37ed6402893dcab6e61ddbf15ffd35f15a6d84b18e675a0c5bf4e981f85 +42 -0
- package/skills/project-update/history/blobs/1f44e1a236233dcbab58064f39b69f798b35d1d9a29f8c615b5b12854ce633cb +15 -0
- package/skills/project-update/history/blobs/1f824645299579cbdd8141642ddbb4bca9fd5fe9d3112f036d8221f0811e0abf +40 -0
- package/skills/project-update/history/blobs/235fb88393cfe20dd58b35fe9785cc45baf5ffe21a13d926652d76ec68cea8b7 +35 -0
- package/skills/project-update/history/blobs/3918b4ee011d9477b9d2779e2893ab599749c406d4b09439a9748b64fbff58f3 +18 -0
- package/skills/project-update/history/blobs/449273200dfec2a56885c881ff34d40e8ecc00da53c24c2d09b7fbeb1004d255 +40 -0
- package/skills/project-update/history/blobs/4c45aee9b9fc5f6b4e1d9739e434c4094975a5a8dec6b9703fb25f3080680c77 +124 -0
- package/skills/project-update/history/blobs/4dd3fa12bc45acc8c836ab65d790248ca7504a021bca6677499d17bb3d798ed9 +64 -0
- package/skills/project-update/history/blobs/51e3f15095d7123ea8566b512479ee10a6cb2f336b7352a259a083a887bd7116 +33 -0
- package/skills/project-update/history/blobs/5497a204967bea7dab29079a6e1dfa3d8713b2d2cb294c2779378039f03a55fc +36 -0
- package/skills/project-update/history/blobs/60c4d7e7fde7049d92d84295fc13ca9a91eb2de423be08f093b3ee5d5e817ff8 +64 -0
- package/skills/project-update/history/blobs/6221b7c14cc04634e485e562d464c6860d45666a7f63e293c06bb2944ff556cc +27 -0
- package/skills/project-update/history/blobs/637971cfb844ef4285e2886a4b1c834fb2ed5c46e773adb88c2c147fea626ad3 +33 -0
- package/skills/project-update/history/blobs/65af2282eea2a51fcc27a4acf2c26c727b0961c30e1be13176369200c460c219 +34 -0
- package/skills/project-update/history/blobs/66ecd73e303e7bbc1aa8ee72435d0d10812ff7b2eff0adac59bbf0a303e2cc01 +41 -0
- package/skills/project-update/history/blobs/6a43bf32461b22b87fafe2865529dc04fa66cd00182a2a7598aa071667ca255a +35 -0
- package/skills/project-update/history/blobs/6d6dee8634abf9ac057bb206828b83a893a2afcf4f86bbe69e839a3b47d0adde +48 -0
- package/skills/project-update/history/blobs/7224ede803ea81e65a456e21b6028a0e848e8a880456c6503eebe7534ca4f6aa +74 -0
- package/skills/project-update/history/blobs/765a39a202617096c232017822ae738d37e4405430c71700dc7bc14bf1ba794e +33 -0
- package/skills/project-update/history/blobs/77577440a933d1cabd8c6f4a6401cf361a784aa09a25500a6f7b44ead8ab5e55 +41 -0
- package/skills/project-update/history/blobs/7bae90789625d6fb9071ecb412d14a8d1eb0bc5659d8d284c4eaf213e1b5de56 +67 -0
- package/skills/project-update/history/blobs/7bcdf9a0e6b85277b9b60669150224b9414d2e32821ff06f4d148eb1d18785bb +42 -0
- package/skills/project-update/history/blobs/7f834103e9d97aea44e76717bcdcbbe349c560e5b81a42ce85a1cec341041281 +4 -0
- package/skills/project-update/history/blobs/7fb3acb0211818efebc2234863db0b8c846022a7280a6d2d69f267dbf63db48c +34 -0
- package/skills/project-update/history/blobs/87f0855859ff68cc6c988cc0b631ee7f56af7fbba062172bf80e01f4982cc054 +35 -0
- package/skills/project-update/history/blobs/8abab74759766d02b5cb7b0c3e59a3d440b25a454216cd8fea325c23fd822d36 +33 -0
- package/skills/project-update/history/blobs/8ec171f0fbdf38cc6996d496f01491fd1f21f04a435a118ad979b127a8be06f1 +85 -0
- package/skills/project-update/history/blobs/a1fb50e6c86fae1679ef3351296fd6713411a08cf8dd1790a4fd05fae8688164 +1 -0
- package/skills/project-update/history/blobs/a3df7268feb0780be0d2cf9acced6ed81780a7790f36fe024b6ea0b1bd6eb7a6 +35 -0
- package/skills/project-update/history/blobs/b28721136482dafb9fd2801af340364cb97e9f6eaa987908606c786045b8d334 +28 -0
- package/skills/project-update/history/blobs/b3726422d767f9219fea633bea77f0c99ad9af843c591e6e928e1ccd2a47f374 +27 -0
- package/skills/project-update/history/blobs/b3839425f9d0ab2efa42a6f5e9488ec2d26ca5fb8dcd694b8ab098e10743ca46 +32 -0
- package/skills/project-update/history/blobs/ba14a457e83f9dde65e4190fdfab83b912f7398c1442a2a1cb3d89bfac741cf3 +8 -0
- package/skills/project-update/history/blobs/bceb7189444bb6291b262ca08e34db01010dda2f6e64d696231ec3c343c95c66 +34 -0
- package/skills/project-update/history/blobs/bf82a2bb4fce1bd349ff66118930a01d61a7af8e2bd8d200c721d43afc58c713 +34 -0
- package/skills/project-update/history/blobs/c4dbeb180292a6199ad73a3be861ece07c1f8bf6bf0cc7ca204412bc8e1bb1d8 +31 -0
- package/skills/project-update/history/blobs/c644838866df2001a42501a988dd7b77aacf862bf09d22b465f3cd8a22c6b6eb +33 -0
- package/skills/project-update/history/blobs/c980d74f76a4bdfb38c94b573ac10a54eb50b850b052e15fa6f2442889b36ccb +32 -0
- package/skills/project-update/history/blobs/ceed2f3bd937f862d0e6ca59ce1b1e3603e19a0d7f85d90d6dfeb7bf690153be +29 -0
- package/skills/project-update/history/blobs/d51ea2e893482a20c5882056cf8043327ca1dc1c957927f6746929a47ee8368e +45 -0
- package/skills/project-update/history/blobs/d78f5e0bb1380259fce2cce009785a9a11f6de8b87a160080b9872c059f95060 +34 -0
- package/skills/project-update/history/blobs/d97f46a2cca020406252b1f7baa4184617fa71faca3885e2379c44ae4e1d9327 +67 -0
- package/skills/project-update/history/blobs/da3ecd4c4c414c93d04488685931df39a56bf959bfeb9c45cb1aea2c13bd991b +38 -0
- package/skills/project-update/history/blobs/e129bf71a5a922e24b2c1bc8daa8a5d2b5589b0069770e17ce17e7db5ed4e7a4 +27 -0
- package/skills/project-update/history/blobs/e504529519a371892838725f8b89b5d32e3300e345bcbf2643a3a1a48434b3dd +24 -0
- package/skills/project-update/history/blobs/e9e62d03ca70b3dffccef8dceeb214173352cfef005145e519f0e037993f1c03 +36 -0
- package/skills/project-update/history/blobs/effefbaaf4beb8f1ba55081d6b7e74bf25ebb91045dd10613418f17b95fa7182 +33 -0
- package/skills/project-update/history/blobs/f6af4581bafbf62b257d57e06c3ae2c5998aeca608ee7df037fcc3c3e4b563a9 +34 -0
- package/skills/project-update/history/blobs/fc35045777d29630303430752a651b3e553580a581036a02cc103eb96a46f4b0 +34 -0
- package/skills/project-update/history/blobs/fdc21345c77f92a42d244aa104f393f439a0ff9981a9fd462bd837e8a47931bb +48 -0
- package/skills/project-update/history/index.json +34 -14
- package/skills/project-update/render_instructions.py +12 -45
- package/skills/project-update/update.py +757 -1172
- package/skills/rr-setup/SKILL.md +114 -97
- package/skills/rr-setup/scaffold_ai.py +15 -9
- package/skills/rr-setup/setup.py +462 -164
- package/skills/rr-status/status.py +7 -10
- package/skills/usage-report/usage-report.py +4 -5
- package/skills/ai-audit/SKILL.md +0 -9
- package/skills/ai-init/SKILL.md +0 -9
- package/skills/ai-status/SKILL.md +0 -9
- package/skills/ai-task/SKILL.md +0 -9
- package/skills/project-init/SKILL.md +0 -9
- package/skills/project-update/SKILL.md +0 -9
- package/skills/project-update/adopt-map.json +0 -91
- package/skills/project-update/adopt.py +0 -2225
- package/skills/project-update/migrations/0001_schema_version.py +0 -13
- package/skills/project-update/migrations/0002_task_journal.py +0 -123
- package/skills/project-update/migrations/0003_context_diet.py +0 -65
- package/skills/project-update/migrations/0004_deterministic_gates.py +0 -57
- package/skills/project-update/migrations/0005_runtimes_and_plans.py +0 -35
- package/skills/project-update/migrations/0006_shared_files.py +0 -154
- package/skills/project-update/migrations/0007_weight_model.py +0 -295
- package/skills/project-update/migrations/0008_renames.py +0 -43
- package/skills/project-update/migrations/0009_state_file.py +0 -25
- package/skills/project-update/migrations/0010_dialog_switch.py +0 -30
- package/skills/project-update/migrations/0011_retire_risk_tiers.py +0 -37
- package/skills/project-update/migrations/README.md +0 -76
- package/skills/project-update/migrations/__init__.py +0 -186
- package/skills/sdlc-intent/SKILL.md +0 -9
- package/skills/sdlc-plan/SKILL.md +0 -9
- package/skills/sdlc-spec/SKILL.md +0 -9
- package/skills/usage-report/SKILL.md +0 -10
- /package/{ai/workflows/refactoring.md → skills/project-update/history/blobs/36cb593293496fbcf38df828a9b9b2bc0d5a53333f584a5319ebc3d799016e24} +0 -0
- /package/{ai/workflows/feature.md → skills/project-update/history/blobs/56e16072c2f3edc6c8897c690d09a11d12fc414c3e3f361f359f7dc609a21282} +0 -0
- /package/{ai/workflows/hotfix.md → skills/project-update/history/blobs/8cbefbf1aa412bae3e5019acd40b8fe0598fceba6c781906b3bc6dbd014f6b23} +0 -0
- /package/{ai/workflows/bugfix.md → skills/project-update/history/blobs/af56dc16e44ae1d8c3dac4c3ca82e2163b719553c02ea455e77430bab9a14089} +0 -0
- /package/{ai/workflows/investigation.md → skills/project-update/history/blobs/b9e09cb24958cd6831589997558974bd6356305306e8f9685e226bcdc30d60ac} +0 -0
- /package/{ai/agents/manager.md → skills/project-update/history/blobs/d0cf6388f35a92a0cf607d33909278382f6d7b6a4c32e281b9f9e0ea652c7b91} +0 -0
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
Read-only and model-free. A schema-7 task is described by `state.py status`;
|
|
7
7
|
for any other task, and whenever that call fails, it reads the files directly —
|
|
8
|
-
.ai/state/state.json
|
|
8
|
+
.ai/state/state.json, the task's events.jsonl, .ai/policies/weight.json (else the shipped table)
|
|
9
9
|
and .ai/VERSION — so it answers in a project whose state.py is older, newer or
|
|
10
10
|
broken. The root is found the way the guards find it (find_ai_root in
|
|
11
11
|
hooks/lib/ai-hook-common.sh): the nearest ancestor holding .ai/, not stopping at
|
|
@@ -16,7 +16,6 @@ a git root, so a .ai/ inherited from a parent directory shows up here.
|
|
|
16
16
|
import argparse
|
|
17
17
|
import json
|
|
18
18
|
import os
|
|
19
|
-
import re
|
|
20
19
|
import subprocess
|
|
21
20
|
import sys
|
|
22
21
|
|
|
@@ -36,9 +35,8 @@ def find_ai_root(start):
|
|
|
36
35
|
|
|
37
36
|
|
|
38
37
|
def state_file(root):
|
|
39
|
-
"""
|
|
40
|
-
|
|
41
|
-
return path if os.path.isfile(path) else os.path.join(root, ".ai", "state", "current.json")
|
|
38
|
+
"""The task's state file."""
|
|
39
|
+
return os.path.join(root, ".ai", "state", "state.json")
|
|
42
40
|
|
|
43
41
|
|
|
44
42
|
def read_json(path):
|
|
@@ -73,13 +71,12 @@ def schema_line(root):
|
|
|
73
71
|
project = fh.read().strip() or "0"
|
|
74
72
|
except OSError:
|
|
75
73
|
project = "0"
|
|
76
|
-
# The plugin's schema is
|
|
74
|
+
# The plugin's schema is the .ai/VERSION it ships as a template (R25).
|
|
77
75
|
try:
|
|
78
|
-
|
|
76
|
+
with open(os.path.join(SKILLS, "ai-init", "templates", ".ai", "VERSION"), encoding="utf-8") as fh:
|
|
77
|
+
plugin = fh.read().strip() or "?"
|
|
79
78
|
except OSError:
|
|
80
|
-
|
|
81
|
-
numbers = [int(name[:4]) for name in names if re.match(r"\d{4}_", name)]
|
|
82
|
-
plugin = str(max(numbers)) if numbers else "?"
|
|
79
|
+
plugin = "?"
|
|
83
80
|
behind = project.isdigit() and plugin.isdigit() and int(project) < int(plugin)
|
|
84
81
|
return "schema: project %s · plugin %s%s" % (project, plugin, " — behind: run /rr-setup --update" if behind else "")
|
|
85
82
|
|
|
@@ -17,7 +17,7 @@ Usage:
|
|
|
17
17
|
usage-report.py --provider codex # one runtime only
|
|
18
18
|
usage-report.py --provider claude --root DIR # explicit transcript dir
|
|
19
19
|
usage-report.py --task T-2026-09-21-001 [--project DIR]
|
|
20
|
-
# one /
|
|
20
|
+
# one /rr-build task: its window, tokens per
|
|
21
21
|
# runtime, and each runtime's plan budget
|
|
22
22
|
usage-report.py --budgets # the installed plans' budget tables
|
|
23
23
|
|
|
@@ -581,9 +581,8 @@ def runtime_home(runtime: str) -> str:
|
|
|
581
581
|
|
|
582
582
|
|
|
583
583
|
def profile_file(home: str) -> str:
|
|
584
|
-
"""<home>/riskrails/profile.json
|
|
585
|
-
|
|
586
|
-
return path if os.path.exists(path) else os.path.join(home, "claude-agentic", "profile.json")
|
|
584
|
+
"""<home>/riskrails/profile.json."""
|
|
585
|
+
return os.path.join(home, "riskrails", "profile.json")
|
|
587
586
|
|
|
588
587
|
|
|
589
588
|
def read_profile(runtime: str) -> dict:
|
|
@@ -784,7 +783,7 @@ def main() -> int:
|
|
|
784
783
|
ap.add_argument("--root", help="explicit transcript directory (needs a single --provider)")
|
|
785
784
|
ap.add_argument("--provider", choices=("auto", "claude", "codex", "both"), default="auto",
|
|
786
785
|
help="which runtime's transcripts to read (default: auto — whichever are present)")
|
|
787
|
-
ap.add_argument("--task", metavar="ID", help="one /
|
|
786
|
+
ap.add_argument("--task", metavar="ID", help="one /rr-build task: window, tokens per runtime, budget")
|
|
788
787
|
ap.add_argument("--project", metavar="DIR", help="the project holding .ai/ (default: search upwards)")
|
|
789
788
|
ap.add_argument("--no-cache", action="store_true",
|
|
790
789
|
help="ignore and do not write the incremental parse cache")
|
package/skills/ai-audit/SKILL.md
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: ai-audit
|
|
3
|
-
description: Deprecated alias of /rr-setup --audit — the twelve-play audit.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
deprecated → /rr-setup --audit
|
|
7
|
-
|
|
8
|
-
Read `skills/rr-setup/SKILL.md` in the install root this skill was loaded from
|
|
9
|
-
(`~/.claude` or `~/.codex`) and follow it with these arguments: --audit $ARGUMENTS
|
package/skills/ai-init/SKILL.md
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: ai-init
|
|
3
|
-
description: Deprecated alias of /rr-setup — set up .ai/ for this project.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
deprecated → /rr-setup
|
|
7
|
-
|
|
8
|
-
Read `skills/rr-setup/SKILL.md` in the install root this skill was loaded from
|
|
9
|
-
(`~/.claude` or `~/.codex`) and follow it with these arguments: $ARGUMENTS
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: ai-status
|
|
3
|
-
description: Deprecated alias of /rr-status — where the current task stands.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
deprecated → /rr-status
|
|
7
|
-
|
|
8
|
-
Read `skills/rr-status/SKILL.md` in the install root this skill was loaded from
|
|
9
|
-
(`~/.claude` or `~/.codex`) and follow it with these arguments: $ARGUMENTS
|
package/skills/ai-task/SKILL.md
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: ai-task
|
|
3
|
-
description: Deprecated alias of /rr-build — run one task.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
deprecated → /rr-build
|
|
7
|
-
|
|
8
|
-
Read `skills/rr-build/SKILL.md` in the install root this skill was loaded from
|
|
9
|
-
(`~/.claude` or `~/.codex`) and follow it with these arguments: $ARGUMENTS
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: project-init
|
|
3
|
-
description: Deprecated alias of /rr-setup — scaffold this project.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
deprecated → /rr-setup
|
|
7
|
-
|
|
8
|
-
Read `skills/rr-setup/SKILL.md` in the install root this skill was loaded from
|
|
9
|
-
(`~/.claude` or `~/.codex`) and follow it with these arguments: $ARGUMENTS
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: project-update
|
|
3
|
-
description: Deprecated alias of /rr-setup --update — update this project.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
deprecated → /rr-setup --update
|
|
7
|
-
|
|
8
|
-
Read `skills/rr-setup/SKILL.md` in the install root this skill was loaded from
|
|
9
|
-
(`~/.claude` or `~/.codex`) and follow it with these arguments: --update $ARGUMENTS
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
{"version": 1,
|
|
2
|
-
"tools": {
|
|
3
|
-
"speckit": {"signature": [".specify/"],
|
|
4
|
-
"roots": [".specify/", "specs/",
|
|
5
|
-
".claude/commands/speckit*", ".claude/skills/speckit-*",
|
|
6
|
-
".github/prompts/speckit*", ".github/skills/speckit-*", ".github/agents/speckit*",
|
|
7
|
-
".codex/prompts/speckit*", ".agents/skills/speckit-*",
|
|
8
|
-
".gemini/commands/speckit*",
|
|
9
|
-
".cursor/commands/speckit*", ".cursor/skills/speckit-*"]},
|
|
10
|
-
"kiro": {"signature": [".kiro/"], "roots": [".kiro/"]},
|
|
11
|
-
"aidlc": {"signature": ["aidlc-docs/"],
|
|
12
|
-
"roots": ["aidlc-docs/", ".amazonq/rules/aws-aidlc-rules/", ".amazonq/aws-aidlc-rule-details/"]},
|
|
13
|
-
"cursor": {"signature": [".cursorrules", ".cursor/rules/"], "roots": [".cursorrules", ".cursor/"]},
|
|
14
|
-
"copilot": {"signature": [".github/copilot-instructions.md", ".github/instructions/"],
|
|
15
|
-
"roots": [".github/copilot-instructions.md", ".github/instructions/"]},
|
|
16
|
-
"junie": {"signature": [".junie/guidelines.md"], "roots": []},
|
|
17
|
-
"gemini": {"signature": ["GEMINI.md"], "roots": []},
|
|
18
|
-
"claude": {"signature": ["CLAUDE.md"], "roots": []},
|
|
19
|
-
"codex": {"signature": ["AGENTS.md"], "roots": []}
|
|
20
|
-
},
|
|
21
|
-
"own": {
|
|
22
|
-
"_doc": "setup.py survey|adopt: a project's own toolbox, inventoried in place (SQ5) — never copied, never moved; update.py --adopt does not read this key",
|
|
23
|
-
"inventory": [
|
|
24
|
-
{"glob": ".claude/skills/*/SKILL.md", "kind": "skill", "router": "skill"},
|
|
25
|
-
{"glob": ".claude/commands/**/*.md", "kind": "command", "router": "command"},
|
|
26
|
-
{"glob": ".claude/rules/**/*.md", "kind": "rule"},
|
|
27
|
-
{"glob": ".claude/agents/*.md", "kind": "agent"},
|
|
28
|
-
{"glob": ".claude/hooks/*", "kind": "hook"},
|
|
29
|
-
{"glob": ".agents/skills/*/SKILL.md", "kind": "skill", "router": "skill"},
|
|
30
|
-
{"glob": ".codex/skills/*/SKILL.md", "kind": "skill", "router": "skill"},
|
|
31
|
-
{"glob": ".codex/prompts/*.md", "kind": "command", "router": "command"},
|
|
32
|
-
{"glob": ".codex/agents/*", "kind": "agent"},
|
|
33
|
-
{"glob": ".codex/hooks/*", "kind": "hook"},
|
|
34
|
-
{"glob": "bin/*.sh", "kind": "script"},
|
|
35
|
-
{"glob": "Makefile", "kind": "make"}
|
|
36
|
-
],
|
|
37
|
-
"guards": {
|
|
38
|
-
"ai-git-guard": ["git", "commit", "push", "merge"],
|
|
39
|
-
"ai-path-guard": ["path", "protect", "protected", "secret", "secrets", "dotenv"],
|
|
40
|
-
"ai-scope-guard": ["scope"]
|
|
41
|
-
},
|
|
42
|
-
"verify": [
|
|
43
|
-
{"file": "Makefile", "make_target": ["test", "tests", "check", "qa"], "command": "make {name}"},
|
|
44
|
-
{"file": "composer.json", "script": ["test", "tests", "qa", "check"], "command": "composer {name}"},
|
|
45
|
-
{"file": "package.json", "script": ["test"], "command": "npm test"},
|
|
46
|
-
{"file": "bin/*.sh", "stem": ["test", "tests", "run-tests", "check"], "command": "bin/{name}.sh"},
|
|
47
|
-
{"file": "phpunit.xml.dist", "command": "vendor/bin/phpunit"},
|
|
48
|
-
{"file": "phpunit.xml", "command": "vendor/bin/phpunit"},
|
|
49
|
-
{"file": "pytest.ini", "command": "python3 -m pytest"}
|
|
50
|
-
]
|
|
51
|
-
},
|
|
52
|
-
"rows": [
|
|
53
|
-
{"tool":"speckit","source":".specify/memory/constitution.md","dest":"docs/sdlc/constitution.md","transform":"append-section","cleanup":true},
|
|
54
|
-
{"tool":"speckit","source":"specs/*/spec.md","dest":"docs/sdlc/specs/{dir}.md","transform":"copy","cleanup":true,"router":"an adopted Spec Kit spec"},
|
|
55
|
-
{"tool":"speckit","source":"specs/*/plan.md","dest":"docs/sdlc/plans/{dir}.md","transform":"copy","cleanup":true,"router":"an adopted Spec Kit plan"},
|
|
56
|
-
{"tool":"speckit","source":"specs/*/tasks.md","dest":"docs/sdlc/plans/{dir}-tasks.md","transform":"copy","cleanup":true},
|
|
57
|
-
{"tool":"speckit","source":"specs/*/*.md","dest":"docs/sdlc/specs/{dir}-{stem}.md","transform":"copy","cleanup":true},
|
|
58
|
-
{"tool":"speckit","source":"specs/*/checklists/*.md","dest":"docs/sdlc/specs/{rel}.md","transform":"copy","cleanup":true},
|
|
59
|
-
{"tool":"speckit","source":".specify/templates/**","transform":"drop","why":"Spec Kit templates; docs/sdlc/*/TEMPLATE.md replace them","cleanup":true},
|
|
60
|
-
{"tool":"speckit","source":".specify/scripts/**","transform":"drop","why":"Spec Kit tool machinery; the skills replace it","cleanup":true},
|
|
61
|
-
{"tool":"speckit","source":".specify/extensions/**","transform":"drop","why":"Spec Kit tool machinery; the skills replace it","cleanup":true},
|
|
62
|
-
{"tool":"speckit","source":".specify/presets/**","transform":"drop","why":"Spec Kit tool machinery; the skills replace it","cleanup":true},
|
|
63
|
-
{"tool":"speckit","source":".specify/workflows/**","transform":"drop","why":"Spec Kit tool machinery; the skills replace it","cleanup":true},
|
|
64
|
-
{"tool":"speckit","source":".specify/integrations/**","transform":"drop","why":"Spec Kit tool machinery; the skills replace it","cleanup":true},
|
|
65
|
-
{"tool":"speckit","source":".specify/*.json","transform":"drop","why":"Spec Kit tool machinery; the skills replace it","cleanup":true},
|
|
66
|
-
{"tool":"speckit","source":".specify/extensions.yml","transform":"drop","why":"Spec Kit tool machinery; the skills replace it","cleanup":true},
|
|
67
|
-
{"tool":"speckit","source":"*/**/speckit*","transform":"drop","why":"Spec Kit agent commands; they call .specify/ and the sdlc skills replace them","cleanup":true},
|
|
68
|
-
{"tool":"speckit","source":"*/**/speckit-*/**","transform":"drop","why":"Spec Kit agent skills; they call .specify/ and the sdlc skills replace them","cleanup":true},
|
|
69
|
-
{"tool":"kiro","source":".kiro/steering/aws-aidlc-rules/**","transform":"ignore","why":"the AI-DLC methodology installed for Kiro, not project knowledge; kept in place"},
|
|
70
|
-
{"tool":"kiro","source":".kiro/aws-aidlc-rule-details/**","transform":"ignore","why":"the AI-DLC methodology installed for Kiro, not project knowledge; kept in place"},
|
|
71
|
-
{"tool":"kiro","source":".kiro/steering/*.md","dest":"auto","transform":"rule","cleanup":true,"frontmatter":{"paths":"fileMatchPattern","always":"inclusion=always","always_when_absent":true}},
|
|
72
|
-
{"tool":"kiro","source":".kiro/specs/*/requirements.md","dest":"docs/sdlc/intent/{dir}.md","transform":"copy","cleanup":true,"router":"an adopted Kiro requirement"},
|
|
73
|
-
{"tool":"kiro","source":".kiro/specs/*/design.md","dest":"docs/sdlc/specs/{dir}.md","transform":"copy","cleanup":true},
|
|
74
|
-
{"tool":"kiro","source":".kiro/specs/*/tasks.md","dest":"docs/sdlc/plans/{dir}.md","transform":"copy","cleanup":true},
|
|
75
|
-
{"tool":"kiro","source":".kiro/settings/**","transform":"ignore","why":"Kiro tool configuration"},
|
|
76
|
-
{"tool":"aidlc","source":"aidlc-docs/aidlc-state.md","transform":"drop","why":"AI-DLC workflow tracker; .ai/state/ replaces it","cleanup":true},
|
|
77
|
-
{"tool":"aidlc","source":"aidlc-docs/audit.md","transform":"ignore","why":"AI-DLC audit trail; history, kept in place"},
|
|
78
|
-
{"tool":"aidlc","source":"aidlc-docs/inception/**/*.md","dest":"docs/sdlc/intent/aidlc-{rel}.md","transform":"copy","cleanup":true},
|
|
79
|
-
{"tool":"aidlc","source":"aidlc-docs/construction/**/*.md","dest":"docs/sdlc/plans/aidlc-{rel}.md","transform":"copy","cleanup":true},
|
|
80
|
-
{"tool":"aidlc","source":".amazonq/rules/aws-aidlc-rules/**","transform":"ignore","why":"the AI-DLC methodology, not project knowledge; kept in place"},
|
|
81
|
-
{"tool":"aidlc","source":".amazonq/aws-aidlc-rule-details/**","transform":"ignore","why":"the AI-DLC methodology, not project knowledge; kept in place"},
|
|
82
|
-
{"tool":"cursor","source":".cursorrules","dest":".ai/policies/adopted/cursorrules.md","transform":"copy","cleanup":true,"router":"anything, first (rules adopted from Cursor)"},
|
|
83
|
-
{"tool":"cursor","source":".cursor/rules/**/*.mdc","dest":"auto","transform":"rule","cleanup":true,"frontmatter":{"paths":"globs","always":"alwaysApply=true","title":"description"}},
|
|
84
|
-
{"tool":"cursor","source":".cursor/*","transform":"ignore","why":"Cursor tool configuration (mcp.json and the like)"},
|
|
85
|
-
{"tool":"copilot","source":".github/copilot-instructions.md","dest":".ai/policies/adopted/copilot-instructions.md","transform":"copy","cleanup":true,"router":"anything, first (rules adopted from Copilot)"},
|
|
86
|
-
{"tool":"copilot","source":".github/instructions/*.instructions.md","dest":"auto","transform":"rule","cleanup":true,"frontmatter":{"paths":"applyTo","title":"description"}},
|
|
87
|
-
{"tool":"junie","source":".junie/guidelines.md","transform":"instruction-file","cleanup":false},
|
|
88
|
-
{"tool":"gemini","source":"GEMINI.md","transform":"instruction-file","cleanup":false},
|
|
89
|
-
{"tool":"claude","source":"CLAUDE.md","transform":"instruction-file","cleanup":false},
|
|
90
|
-
{"tool":"codex","source":"AGENTS.md","transform":"instruction-file","cleanup":false}
|
|
91
|
-
]}
|