aios-core 4.2.14 → 4.3.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.
Files changed (288) hide show
  1. package/.aios-core/cli/commands/validate/index.js +1 -1
  2. package/.aios-core/core/code-intel/helpers/creation-helper.js +183 -0
  3. package/.aios-core/core/code-intel/helpers/devops-helper.js +166 -0
  4. package/.aios-core/core/code-intel/helpers/planning-helper.js +248 -0
  5. package/.aios-core/core/code-intel/helpers/qa-helper.js +187 -0
  6. package/.aios-core/core/code-intel/helpers/story-helper.js +146 -0
  7. package/.aios-core/core/config/schemas/framework-config.schema.json +155 -7
  8. package/.aios-core/core/config/schemas/project-config.schema.json +329 -15
  9. package/.aios-core/core/config/template-overrides.js +84 -0
  10. package/.aios-core/core/docs/troubleshooting-guide.md +1 -1
  11. package/.aios-core/core/doctor/checks/agent-memory.js +63 -0
  12. package/.aios-core/core/doctor/checks/claude-md.js +56 -0
  13. package/.aios-core/core/doctor/checks/code-intel.js +57 -0
  14. package/.aios-core/core/doctor/checks/commands-count.js +81 -0
  15. package/.aios-core/core/doctor/checks/core-config.js +53 -0
  16. package/.aios-core/core/doctor/checks/entity-registry.js +53 -0
  17. package/.aios-core/core/doctor/checks/git-hooks.js +50 -0
  18. package/.aios-core/core/doctor/checks/graph-dashboard.js +48 -0
  19. package/.aios-core/core/doctor/checks/hooks-claude-count.js +107 -0
  20. package/.aios-core/core/doctor/checks/ide-sync.js +68 -0
  21. package/.aios-core/core/doctor/checks/index.js +46 -0
  22. package/.aios-core/core/doctor/checks/node-version.js +33 -0
  23. package/.aios-core/core/doctor/checks/npm-packages.js +35 -0
  24. package/.aios-core/core/doctor/checks/rules-files.js +61 -0
  25. package/.aios-core/core/doctor/checks/settings-json.js +121 -0
  26. package/.aios-core/core/doctor/checks/skills-count.js +72 -0
  27. package/.aios-core/core/doctor/fix-handler.js +165 -0
  28. package/.aios-core/core/doctor/formatters/json.js +14 -0
  29. package/.aios-core/core/doctor/formatters/text.js +59 -0
  30. package/.aios-core/core/doctor/index.js +94 -0
  31. package/.aios-core/core/graph-dashboard/cli.js +361 -0
  32. package/.aios-core/core/graph-dashboard/data-sources/code-intel-source.js +234 -0
  33. package/.aios-core/core/graph-dashboard/data-sources/metrics-source.js +95 -0
  34. package/.aios-core/core/graph-dashboard/data-sources/registry-source.js +106 -0
  35. package/.aios-core/core/graph-dashboard/formatters/dot-formatter.js +45 -0
  36. package/.aios-core/core/graph-dashboard/formatters/html-formatter.js +1437 -0
  37. package/.aios-core/core/graph-dashboard/formatters/json-formatter.js +13 -0
  38. package/.aios-core/core/graph-dashboard/formatters/mermaid-formatter.js +59 -0
  39. package/.aios-core/core/graph-dashboard/index.js +21 -0
  40. package/.aios-core/core/graph-dashboard/renderers/stats-renderer.js +217 -0
  41. package/.aios-core/core/graph-dashboard/renderers/status-renderer.js +125 -0
  42. package/.aios-core/core/graph-dashboard/renderers/tree-renderer.js +119 -0
  43. package/.aios-core/core/health-check/base-check.js +1 -1
  44. package/.aios-core/core/health-check/check-registry.js +1 -1
  45. package/.aios-core/core/health-check/checks/deployment/build-config.js +1 -1
  46. package/.aios-core/core/health-check/checks/deployment/ci-config.js +1 -1
  47. package/.aios-core/core/health-check/checks/deployment/deployment-readiness.js +1 -1
  48. package/.aios-core/core/health-check/checks/deployment/docker-config.js +1 -1
  49. package/.aios-core/core/health-check/checks/deployment/env-file.js +1 -1
  50. package/.aios-core/core/health-check/checks/deployment/index.js +1 -1
  51. package/.aios-core/core/health-check/checks/index.js +1 -1
  52. package/.aios-core/core/health-check/checks/local/disk-space.js +1 -1
  53. package/.aios-core/core/health-check/checks/local/environment-vars.js +1 -1
  54. package/.aios-core/core/health-check/checks/local/git-install.js +1 -1
  55. package/.aios-core/core/health-check/checks/local/ide-detection.js +1 -1
  56. package/.aios-core/core/health-check/checks/local/index.js +1 -1
  57. package/.aios-core/core/health-check/checks/local/memory.js +1 -1
  58. package/.aios-core/core/health-check/checks/local/network.js +1 -1
  59. package/.aios-core/core/health-check/checks/local/npm-install.js +1 -1
  60. package/.aios-core/core/health-check/checks/local/shell-environment.js +1 -1
  61. package/.aios-core/core/health-check/checks/project/agent-config.js +1 -1
  62. package/.aios-core/core/health-check/checks/project/aios-directory.js +1 -1
  63. package/.aios-core/core/health-check/checks/project/dependencies.js +1 -1
  64. package/.aios-core/core/health-check/checks/project/framework-config.js +1 -1
  65. package/.aios-core/core/health-check/checks/project/index.js +1 -1
  66. package/.aios-core/core/health-check/checks/project/node-version.js +1 -1
  67. package/.aios-core/core/health-check/checks/project/package-json.js +1 -1
  68. package/.aios-core/core/health-check/checks/project/task-definitions.js +1 -1
  69. package/.aios-core/core/health-check/checks/project/workflow-dependencies.js +1 -1
  70. package/.aios-core/core/health-check/checks/repository/branch-protection.js +1 -1
  71. package/.aios-core/core/health-check/checks/repository/commit-history.js +1 -1
  72. package/.aios-core/core/health-check/checks/repository/conflicts.js +1 -1
  73. package/.aios-core/core/health-check/checks/repository/git-repo.js +1 -1
  74. package/.aios-core/core/health-check/checks/repository/git-status.js +1 -1
  75. package/.aios-core/core/health-check/checks/repository/gitignore.js +1 -1
  76. package/.aios-core/core/health-check/checks/repository/index.js +1 -1
  77. package/.aios-core/core/health-check/checks/repository/large-files.js +1 -1
  78. package/.aios-core/core/health-check/checks/repository/lockfile-integrity.js +1 -1
  79. package/.aios-core/core/health-check/checks/services/api-endpoints.js +1 -1
  80. package/.aios-core/core/health-check/checks/services/claude-code.js +1 -1
  81. package/.aios-core/core/health-check/checks/services/gemini-cli.js +1 -1
  82. package/.aios-core/core/health-check/checks/services/github-cli.js +1 -1
  83. package/.aios-core/core/health-check/checks/services/index.js +1 -1
  84. package/.aios-core/core/health-check/checks/services/mcp-integration.js +1 -1
  85. package/.aios-core/core/health-check/engine.js +1 -1
  86. package/.aios-core/core/health-check/healers/backup-manager.js +1 -1
  87. package/.aios-core/core/health-check/healers/index.js +1 -1
  88. package/.aios-core/core/health-check/index.js +9 -2
  89. package/.aios-core/core/health-check/reporters/console.js +1 -1
  90. package/.aios-core/core/health-check/reporters/index.js +1 -1
  91. package/.aios-core/core/health-check/reporters/json.js +1 -1
  92. package/.aios-core/core/health-check/reporters/markdown.js +1 -1
  93. package/.aios-core/core/ids/layer-classifier.js +65 -0
  94. package/.aios-core/core/ids/registry-updater.js +49 -0
  95. package/.aios-core/core/index.esm.js +1 -1
  96. package/.aios-core/core/index.js +1 -1
  97. package/.aios-core/core/session/context-detector.js +2 -7
  98. package/.aios-core/core/synapse/context/context-tracker.js +9 -1
  99. package/.aios-core/core/synapse/engine.js +33 -13
  100. package/.aios-core/core/synapse/runtime/hook-runtime.js +40 -2
  101. package/.aios-core/core/synapse/session/session-manager.js +3 -2
  102. package/.aios-core/core/synapse/utils/atomic-write.js +79 -0
  103. package/.aios-core/core-config.yaml +34 -1
  104. package/.aios-core/data/aios-kb.md +2 -2
  105. package/.aios-core/data/capability-detection.js +290 -0
  106. package/.aios-core/data/entity-registry.yaml +10424 -2127
  107. package/.aios-core/data/mcp-discipline.js +166 -0
  108. package/.aios-core/data/mcp-tool-examples.yaml +215 -0
  109. package/.aios-core/data/tok2-validation.js +168 -0
  110. package/.aios-core/data/tok3-token-comparison.js +123 -0
  111. package/.aios-core/data/tool-registry.yaml +648 -0
  112. package/.aios-core/data/tool-search-validation.js +174 -0
  113. package/.aios-core/development/agents/analyst/MEMORY.md +33 -0
  114. package/.aios-core/development/agents/architect/MEMORY.md +39 -0
  115. package/.aios-core/development/agents/data-engineer/MEMORY.md +32 -0
  116. package/.aios-core/development/agents/dev/MEMORY.md +46 -0
  117. package/.aios-core/development/agents/dev.md +1 -1
  118. package/.aios-core/development/agents/devops/MEMORY.md +39 -0
  119. package/.aios-core/development/agents/devops.md +22 -0
  120. package/.aios-core/development/agents/pm/MEMORY.md +38 -0
  121. package/.aios-core/development/agents/po/MEMORY.md +45 -0
  122. package/.aios-core/development/agents/qa/MEMORY.md +42 -0
  123. package/.aios-core/development/agents/qa.md +1 -1
  124. package/.aios-core/development/agents/sm/MEMORY.md +31 -0
  125. package/.aios-core/development/agents/ux/MEMORY.md +31 -0
  126. package/.aios-core/development/checklists/issue-triage-checklist.md +35 -0
  127. package/.aios-core/development/checklists/memory-audit-checklist.md +53 -0
  128. package/.aios-core/development/scripts/issue-triage.js +171 -0
  129. package/.aios-core/development/scripts/populate-entity-registry.js +412 -19
  130. package/.aios-core/development/scripts/unified-activation-pipeline.js +31 -10
  131. package/.aios-core/development/tasks/analyze-project-structure.md +48 -0
  132. package/.aios-core/development/tasks/brownfield-create-epic.md +41 -0
  133. package/.aios-core/development/tasks/create-doc.md +44 -0
  134. package/.aios-core/development/tasks/create-next-story.md +10 -0
  135. package/.aios-core/development/tasks/dev-develop-story.md +1 -1
  136. package/.aios-core/development/tasks/github-devops-github-pr-automation.md +49 -0
  137. package/.aios-core/development/tasks/github-devops-pre-push-quality-gate.md +63 -0
  138. package/.aios-core/development/tasks/github-issue-triage.md +118 -0
  139. package/.aios-core/development/tasks/health-check.yaml +206 -171
  140. package/.aios-core/development/tasks/kb-mode-interaction.md +3 -3
  141. package/.aios-core/development/tasks/plan-create-context.md +47 -1
  142. package/.aios-core/development/tasks/plan-create-implementation.md +55 -0
  143. package/.aios-core/development/tasks/pr-automation.md +5 -5
  144. package/.aios-core/development/tasks/qa-gate.md +48 -0
  145. package/.aios-core/development/tasks/qa-review-story.md +24 -1
  146. package/.aios-core/development/tasks/resolve-github-issue.md +608 -0
  147. package/.aios-core/development/tasks/review-contributor-pr.md +152 -0
  148. package/.aios-core/development/tasks/setup-llm-routing.md +1 -1
  149. package/.aios-core/development/tasks/spec-research-dependencies.md +4 -0
  150. package/.aios-core/development/tasks/triage-github-issues.md +356 -0
  151. package/.aios-core/development/tasks/validate-agents.md +4 -0
  152. package/.aios-core/development/tasks/validate-next-story.md +10 -0
  153. package/.aios-core/development/templates/agent-handoff-tmpl.yaml +48 -0
  154. package/.aios-core/development/templates/code-intel-integration-pattern.md +199 -0
  155. package/.aios-core/development/templates/ptc-entity-validation.md +113 -0
  156. package/.aios-core/development/templates/ptc-qa-gate.md +100 -0
  157. package/.aios-core/development/templates/ptc-research-aggregation.md +94 -0
  158. package/.aios-core/development/templates/service-template/README.md.hbs +158 -158
  159. package/.aios-core/development/templates/service-template/__tests__/index.test.ts.hbs +237 -237
  160. package/.aios-core/development/templates/service-template/client.ts.hbs +403 -403
  161. package/.aios-core/development/templates/service-template/errors.ts.hbs +182 -182
  162. package/.aios-core/development/templates/service-template/index.ts.hbs +120 -120
  163. package/.aios-core/development/templates/service-template/package.json.hbs +87 -87
  164. package/.aios-core/development/templates/service-template/types.ts.hbs +145 -145
  165. package/.aios-core/development/templates/squad/agent-template.md +11 -0
  166. package/.aios-core/development/templates/squad/task-template.md +21 -0
  167. package/.aios-core/development/templates/squad-template/LICENSE +21 -21
  168. package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO-V2.1-COMPLETE.md +1 -1
  169. package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO-V2.2-SUMMARY.md +1 -1
  170. package/.aios-core/framework-config.yaml +8 -0
  171. package/.aios-core/index.esm.js +1 -1
  172. package/.aios-core/index.js +1 -1
  173. package/.aios-core/infrastructure/integrations/ai-providers/index.js +1 -1
  174. package/.aios-core/infrastructure/schemas/task-v3-schema.json +6 -0
  175. package/.aios-core/infrastructure/scripts/collect-tool-usage.js +311 -0
  176. package/.aios-core/infrastructure/scripts/generate-optimization-report.js +497 -0
  177. package/.aios-core/infrastructure/scripts/generate-settings-json.js +300 -0
  178. package/.aios-core/infrastructure/scripts/git-config-detector.js +65 -9
  179. package/.aios-core/infrastructure/scripts/ide-sync/index.js +3 -1
  180. package/.aios-core/infrastructure/scripts/ide-sync/transformers/github-copilot.js +184 -0
  181. package/.aios-core/infrastructure/scripts/repository-detector.js +3 -3
  182. package/.aios-core/infrastructure/templates/aios-sync.yaml.template +182 -182
  183. package/.aios-core/infrastructure/templates/coderabbit.yaml.template +279 -279
  184. package/.aios-core/infrastructure/templates/github-workflows/ci.yml.template +169 -169
  185. package/.aios-core/infrastructure/templates/github-workflows/pr-automation.yml.template +330 -330
  186. package/.aios-core/infrastructure/templates/github-workflows/release.yml.template +196 -196
  187. package/.aios-core/infrastructure/templates/gitignore/gitignore-aios-base.tmpl +63 -63
  188. package/.aios-core/infrastructure/templates/gitignore/gitignore-brownfield-merge.tmpl +18 -18
  189. package/.aios-core/infrastructure/templates/gitignore/gitignore-node.tmpl +85 -85
  190. package/.aios-core/infrastructure/templates/gitignore/gitignore-python.tmpl +145 -145
  191. package/.aios-core/install-manifest.yaml +541 -249
  192. package/.aios-core/lib/build.json +1 -0
  193. package/.aios-core/local-config.yaml.template +71 -71
  194. package/.aios-core/monitor/hooks/lib/__init__.py +1 -1
  195. package/.aios-core/monitor/hooks/lib/enrich.py +58 -58
  196. package/.aios-core/monitor/hooks/lib/send_event.py +47 -47
  197. package/.aios-core/monitor/hooks/notification.py +29 -29
  198. package/.aios-core/monitor/hooks/post_tool_use.py +45 -45
  199. package/.aios-core/monitor/hooks/pre_compact.py +29 -29
  200. package/.aios-core/monitor/hooks/pre_tool_use.py +40 -40
  201. package/.aios-core/monitor/hooks/stop.py +29 -29
  202. package/.aios-core/monitor/hooks/subagent_stop.py +29 -29
  203. package/.aios-core/monitor/hooks/user_prompt_submit.py +38 -38
  204. package/.aios-core/product/templates/adr.hbs +125 -125
  205. package/.aios-core/product/templates/dbdr.hbs +241 -241
  206. package/.aios-core/product/templates/epic.hbs +212 -212
  207. package/.aios-core/product/templates/ide-rules/claude-rules.md +77 -0
  208. package/.aios-core/product/templates/pmdr.hbs +186 -186
  209. package/.aios-core/product/templates/prd-v2.0.hbs +216 -216
  210. package/.aios-core/product/templates/prd.hbs +201 -201
  211. package/.aios-core/product/templates/story.hbs +263 -263
  212. package/.aios-core/product/templates/task.hbs +170 -170
  213. package/.aios-core/product/templates/tmpl-comment-on-examples.sql +158 -158
  214. package/.aios-core/product/templates/tmpl-migration-script.sql +91 -91
  215. package/.aios-core/product/templates/tmpl-rls-granular-policies.sql +104 -104
  216. package/.aios-core/product/templates/tmpl-rls-kiss-policy.sql +10 -10
  217. package/.aios-core/product/templates/tmpl-rls-roles.sql +135 -135
  218. package/.aios-core/product/templates/tmpl-rls-simple.sql +77 -77
  219. package/.aios-core/product/templates/tmpl-rls-tenant.sql +152 -152
  220. package/.aios-core/product/templates/tmpl-rollback-script.sql +77 -77
  221. package/.aios-core/product/templates/tmpl-seed-data.sql +140 -140
  222. package/.aios-core/product/templates/tmpl-smoke-test.sql +16 -16
  223. package/.aios-core/product/templates/tmpl-staging-copy-merge.sql +139 -139
  224. package/.aios-core/product/templates/tmpl-stored-proc.sql +140 -140
  225. package/.aios-core/product/templates/tmpl-trigger.sql +152 -152
  226. package/.aios-core/product/templates/tmpl-view-materialized.sql +133 -133
  227. package/.aios-core/product/templates/tmpl-view.sql +177 -177
  228. package/.aios-core/scripts/pm.sh +0 -0
  229. package/.aios-core/user-guide.md +15 -15
  230. package/.aios-core/utils/filters/constants.js +10 -0
  231. package/.aios-core/utils/filters/content-filter.js +223 -0
  232. package/.aios-core/utils/filters/field-filter.js +126 -0
  233. package/.aios-core/utils/filters/index.js +180 -0
  234. package/.aios-core/utils/filters/schema-filter.js +157 -0
  235. package/.claude/CLAUDE.md +62 -0
  236. package/.claude/hooks/enforce-architecture-first.py +196 -196
  237. package/.claude/hooks/enforce-git-push-authority.sh +33 -0
  238. package/.claude/hooks/mind-clone-governance.py +192 -192
  239. package/.claude/hooks/read-protection.py +151 -151
  240. package/.claude/hooks/slug-validation.py +176 -176
  241. package/.claude/hooks/sql-governance.py +182 -182
  242. package/.claude/hooks/synapse-engine.cjs +28 -5
  243. package/.claude/hooks/write-path-validation.py +194 -194
  244. package/.claude/rules/agent-authority.md +105 -0
  245. package/.claude/rules/agent-handoff.md +97 -0
  246. package/.claude/rules/agent-memory-imports.md +15 -0
  247. package/.claude/rules/coderabbit-integration.md +101 -0
  248. package/.claude/rules/ids-principles.md +119 -0
  249. package/.claude/rules/story-lifecycle.md +145 -0
  250. package/.claude/rules/tool-examples.md +64 -0
  251. package/.claude/rules/tool-response-filtering.md +57 -0
  252. package/.claude/rules/workflow-execution.md +150 -0
  253. package/LICENSE +33 -33
  254. package/bin/aios-graph.js +9 -0
  255. package/bin/aios-init.js +2 -2
  256. package/bin/aios-minimal.js +0 -0
  257. package/bin/aios.js +17 -221
  258. package/bin/utils/detect-fsmonitor.js +70 -0
  259. package/bin/utils/framework-guard.js +238 -0
  260. package/bin/utils/validate-publish.js +108 -0
  261. package/package.json +6 -3
  262. package/packages/aios-install/bin/aios-install.js +0 -0
  263. package/packages/aios-install/bin/edmcp.js +0 -0
  264. package/packages/aios-pro-cli/bin/aios-pro.js +2 -0
  265. package/packages/installer/src/installer/brownfield-upgrader.js +68 -5
  266. package/packages/installer/src/merger/index.js +3 -0
  267. package/packages/installer/src/merger/strategies/index.js +6 -0
  268. package/packages/installer/src/merger/strategies/yaml-merger.js +181 -0
  269. package/packages/installer/src/updater/index.js +4 -4
  270. package/packages/installer/src/wizard/i18n.js +321 -3
  271. package/packages/installer/src/wizard/ide-config-generator.js +152 -25
  272. package/packages/installer/src/wizard/index.js +119 -1
  273. package/packages/installer/src/wizard/pro-setup.js +137 -121
  274. package/packages/installer/tests/unit/artifact-copy-pipeline/artifact-copy-pipeline.test.js +261 -0
  275. package/packages/installer/tests/unit/claude-md-template-v5/claude-md-template-v5.test.js +192 -0
  276. package/packages/installer/tests/unit/doctor/doctor-checks.test.js +551 -0
  277. package/packages/installer/tests/unit/doctor/doctor-orchestrator.test.js +134 -0
  278. package/packages/installer/tests/unit/entity-registry-bootstrap.test.js +186 -0
  279. package/packages/installer/tests/unit/generate-settings-json/generate-settings-json.test.js +309 -0
  280. package/packages/installer/tests/unit/ide-sync-integration/ide-sync-integration.test.js +230 -0
  281. package/packages/installer/tests/unit/merger/strategies.test.js +2 -2
  282. package/packages/installer/tests/unit/merger/yaml-merger.test.js +327 -0
  283. package/scripts/check-markdown-links.py +352 -352
  284. package/scripts/dashboard-parallel-dev.sh +0 -0
  285. package/scripts/dashboard-parallel-phase3.sh +0 -0
  286. package/scripts/dashboard-parallel-phase4.sh +0 -0
  287. package/scripts/install-monitor-hooks.sh +0 -0
  288. package/scripts/package-synapse.js +2 -1
@@ -0,0 +1 @@
1
+ {"built": true}
@@ -1,71 +1,71 @@
1
- # ============================================
2
- # AIOS Local Configuration (Level 4) — TEMPLATE
3
- # ============================================
4
- # Machine-specific overrides and secrets.
5
- # Copy this file to local-config.yaml and customize:
6
- # cp .aios-core/local-config.yaml.template .aios-core/local-config.yaml
7
- #
8
- # Or run: aios config init-local
9
- #
10
- # WARNING: This file contains machine-specific secrets.
11
- # DO NOT commit local-config.yaml to git.
12
- # (It is already in .gitignore)
13
- #
14
- # Level: L4 (Local)
15
- # Mutability: Editable
16
- # Git status: Gitignored
17
- # ADR: ADR-PRO-002 — Configuration Hierarchy
18
- # ============================================
19
-
20
- # --- IDE Configuration (Section 4) ---
21
- ide:
22
- selected:
23
- - vscode
24
- - codex
25
- - gemini
26
- - claude-code
27
- configs:
28
- vscode: true
29
- codex: true
30
- gemini: true
31
- cursor: false
32
- zed: false
33
- claude-desktop: false
34
- claude-code: true
35
-
36
- # --- MCP Configuration (Section 5) ---
37
- mcp:
38
- enabled: true
39
- config_location: ".claude/mcp.json"
40
- docker_mcp:
41
- enabled: true
42
- gateway:
43
- transport: "http"
44
- url: "http://localhost:8080/mcp"
45
- port: 8080
46
- watch: true
47
- default_preset: "minimal"
48
-
49
- # --- CodeRabbit Secrets (Section 9 - secret portion) ---
50
- coderabbit_integration:
51
- installation_mode: "wsl"
52
- wsl_config:
53
- distribution: "Ubuntu"
54
- installation_path: "~/.local/bin/coderabbit"
55
- # Replace ${PROJECT_ROOT} with your actual project root (e.g., /home/user/myproject)
56
- working_directory: "${PROJECT_ROOT}"
57
- commands:
58
- qa_pre_review_uncommitted: |
59
- wsl bash -c 'cd ${PROJECT_ROOT} && ~/.local/bin/coderabbit --prompt-only -t uncommitted'
60
- qa_story_review_committed: |
61
- wsl bash -c 'cd ${PROJECT_ROOT} && ~/.local/bin/coderabbit --prompt-only -t committed --base main'
62
-
63
- # --- Performance Overrides (Section 6 - local overrides) ---
64
- # Uncomment to override framework defaults:
65
- # performance:
66
- # max_concurrent_operations: 8
67
-
68
- # --- pvMindContext (optional per-machine override) ---
69
- # Uncomment to override project-level pv_mind_context:
70
- # pv_mind_context:
71
- # enabled: false
1
+ # ============================================
2
+ # AIOS Local Configuration (Level 4) — TEMPLATE
3
+ # ============================================
4
+ # Machine-specific overrides and secrets.
5
+ # Copy this file to local-config.yaml and customize:
6
+ # cp .aios-core/local-config.yaml.template .aios-core/local-config.yaml
7
+ #
8
+ # Or run: aios config init-local
9
+ #
10
+ # WARNING: This file contains machine-specific secrets.
11
+ # DO NOT commit local-config.yaml to git.
12
+ # (It is already in .gitignore)
13
+ #
14
+ # Level: L4 (Local)
15
+ # Mutability: Editable
16
+ # Git status: Gitignored
17
+ # ADR: ADR-PRO-002 — Configuration Hierarchy
18
+ # ============================================
19
+
20
+ # --- IDE Configuration (Section 4) ---
21
+ ide:
22
+ selected:
23
+ - vscode
24
+ - codex
25
+ - gemini
26
+ - claude-code
27
+ configs:
28
+ vscode: true
29
+ codex: true
30
+ gemini: true
31
+ cursor: false
32
+ zed: false
33
+ claude-desktop: false
34
+ claude-code: true
35
+
36
+ # --- MCP Configuration (Section 5) ---
37
+ mcp:
38
+ enabled: true
39
+ config_location: ".claude/mcp.json"
40
+ docker_mcp:
41
+ enabled: true
42
+ gateway:
43
+ transport: "http"
44
+ url: "http://localhost:8080/mcp"
45
+ port: 8080
46
+ watch: true
47
+ default_preset: "minimal"
48
+
49
+ # --- CodeRabbit Secrets (Section 9 - secret portion) ---
50
+ coderabbit_integration:
51
+ installation_mode: "wsl"
52
+ wsl_config:
53
+ distribution: "Ubuntu"
54
+ installation_path: "~/.local/bin/coderabbit"
55
+ # Replace ${PROJECT_ROOT} with your actual project root (e.g., /home/user/myproject)
56
+ working_directory: "${PROJECT_ROOT}"
57
+ commands:
58
+ qa_pre_review_uncommitted: |
59
+ wsl bash -c 'cd ${PROJECT_ROOT} && ~/.local/bin/coderabbit --prompt-only -t uncommitted'
60
+ qa_story_review_committed: |
61
+ wsl bash -c 'cd ${PROJECT_ROOT} && ~/.local/bin/coderabbit --prompt-only -t committed --base main'
62
+
63
+ # --- Performance Overrides (Section 6 - local overrides) ---
64
+ # Uncomment to override framework defaults:
65
+ # performance:
66
+ # max_concurrent_operations: 8
67
+
68
+ # --- pvMindContext (optional per-machine override) ---
69
+ # Uncomment to override project-level pv_mind_context:
70
+ # pv_mind_context:
71
+ # enabled: false
@@ -1 +1 @@
1
- # AIOS Monitor Hooks Library
1
+ # AIOS Monitor Hooks Library
@@ -1,58 +1,58 @@
1
- #!/usr/bin/env python3
2
- """
3
- Enrich events with AIOS context (agent, story, task, etc.)
4
- """
5
-
6
- import os
7
- import re
8
- from pathlib import Path
9
- from typing import Any
10
-
11
-
12
- def enrich_event(data: dict[str, Any]) -> dict[str, Any]:
13
- """Add AIOS context to event data."""
14
-
15
- # Project detection
16
- cwd = data.get("cwd", os.getcwd())
17
- data["project"] = detect_project(cwd)
18
-
19
- # AIOS context from environment
20
- if os.environ.get("AIOS_AGENT"):
21
- data["aios_agent"] = os.environ["AIOS_AGENT"]
22
-
23
- if os.environ.get("AIOS_STORY_ID"):
24
- data["aios_story_id"] = os.environ["AIOS_STORY_ID"]
25
-
26
- if os.environ.get("AIOS_TASK_ID"):
27
- data["aios_task_id"] = os.environ["AIOS_TASK_ID"]
28
-
29
- # Try to detect AIOS agent from user prompt if available
30
- user_prompt = data.get("user_prompt", "")
31
- if user_prompt:
32
- detected_agent = detect_agent_from_prompt(user_prompt)
33
- if detected_agent and not data.get("aios_agent"):
34
- data["aios_agent"] = detected_agent
35
-
36
- return data
37
-
38
-
39
- def detect_project(cwd: str) -> str:
40
- """Detect project name from cwd."""
41
- path = Path(cwd)
42
-
43
- # Check for common project markers
44
- markers = [".git", "package.json", "Cargo.toml", "go.mod", "pyproject.toml"]
45
- for marker in markers:
46
- if (path / marker).exists():
47
- return path.name
48
-
49
- return path.name
50
-
51
-
52
- def detect_agent_from_prompt(prompt: str) -> str | None:
53
- """Detect AIOS agent activation from prompt."""
54
- # Look for @agent patterns
55
- match = re.search(r'@(dev|architect|qa|pm|po|sm|analyst|devops|aios-master)', prompt.lower())
56
- if match:
57
- return match.group(1)
58
- return None
1
+ #!/usr/bin/env python3
2
+ """
3
+ Enrich events with AIOS context (agent, story, task, etc.)
4
+ """
5
+
6
+ import os
7
+ import re
8
+ from pathlib import Path
9
+ from typing import Any
10
+
11
+
12
+ def enrich_event(data: dict[str, Any]) -> dict[str, Any]:
13
+ """Add AIOS context to event data."""
14
+
15
+ # Project detection
16
+ cwd = data.get("cwd", os.getcwd())
17
+ data["project"] = detect_project(cwd)
18
+
19
+ # AIOS context from environment
20
+ if os.environ.get("AIOS_AGENT"):
21
+ data["aios_agent"] = os.environ["AIOS_AGENT"]
22
+
23
+ if os.environ.get("AIOS_STORY_ID"):
24
+ data["aios_story_id"] = os.environ["AIOS_STORY_ID"]
25
+
26
+ if os.environ.get("AIOS_TASK_ID"):
27
+ data["aios_task_id"] = os.environ["AIOS_TASK_ID"]
28
+
29
+ # Try to detect AIOS agent from user prompt if available
30
+ user_prompt = data.get("user_prompt", "")
31
+ if user_prompt:
32
+ detected_agent = detect_agent_from_prompt(user_prompt)
33
+ if detected_agent and not data.get("aios_agent"):
34
+ data["aios_agent"] = detected_agent
35
+
36
+ return data
37
+
38
+
39
+ def detect_project(cwd: str) -> str:
40
+ """Detect project name from cwd."""
41
+ path = Path(cwd)
42
+
43
+ # Check for common project markers
44
+ markers = [".git", "package.json", "Cargo.toml", "go.mod", "pyproject.toml"]
45
+ for marker in markers:
46
+ if (path / marker).exists():
47
+ return path.name
48
+
49
+ return path.name
50
+
51
+
52
+ def detect_agent_from_prompt(prompt: str) -> str | None:
53
+ """Detect AIOS agent activation from prompt."""
54
+ # Look for @agent patterns
55
+ match = re.search(r'@(dev|architect|qa|pm|po|sm|analyst|devops|aios-master)', prompt.lower())
56
+ if match:
57
+ return match.group(1)
58
+ return None
@@ -1,47 +1,47 @@
1
- #!/usr/bin/env python3
2
- """
3
- Send event to AIOS Monitor server.
4
- Non-blocking with short timeout to avoid slowing Claude.
5
- """
6
-
7
- import json
8
- import os
9
- import time
10
- import urllib.request
11
- from typing import Any
12
-
13
- SERVER_URL = os.environ.get("AIOS_MONITOR_URL", "http://localhost:4001")
14
- TIMEOUT_MS = int(os.environ.get("AIOS_MONITOR_TIMEOUT_MS", "500"))
15
-
16
-
17
- def send_event(event_type: str, data: dict[str, Any]) -> bool:
18
- """
19
- Send event to AIOS Monitor server.
20
-
21
- Args:
22
- event_type: Hook event type (PreToolUse, PostToolUse, etc.)
23
- data: Event data from Claude hook
24
-
25
- Returns:
26
- True if sent successfully, False otherwise
27
- """
28
- try:
29
- payload = json.dumps({
30
- "type": event_type,
31
- "timestamp": int(time.time() * 1000),
32
- "data": data
33
- }).encode("utf-8")
34
-
35
- req = urllib.request.Request(
36
- f"{SERVER_URL}/events",
37
- data=payload,
38
- headers={"Content-Type": "application/json"},
39
- method="POST"
40
- )
41
-
42
- urllib.request.urlopen(req, timeout=TIMEOUT_MS / 1000)
43
- return True
44
-
45
- except Exception:
46
- # Silent fail - never block Claude
47
- return False
1
+ #!/usr/bin/env python3
2
+ """
3
+ Send event to AIOS Monitor server.
4
+ Non-blocking with short timeout to avoid slowing Claude.
5
+ """
6
+
7
+ import json
8
+ import os
9
+ import time
10
+ import urllib.request
11
+ from typing import Any
12
+
13
+ SERVER_URL = os.environ.get("AIOS_MONITOR_URL", "http://localhost:4001")
14
+ TIMEOUT_MS = int(os.environ.get("AIOS_MONITOR_TIMEOUT_MS", "500"))
15
+
16
+
17
+ def send_event(event_type: str, data: dict[str, Any]) -> bool:
18
+ """
19
+ Send event to AIOS Monitor server.
20
+
21
+ Args:
22
+ event_type: Hook event type (PreToolUse, PostToolUse, etc.)
23
+ data: Event data from Claude hook
24
+
25
+ Returns:
26
+ True if sent successfully, False otherwise
27
+ """
28
+ try:
29
+ payload = json.dumps({
30
+ "type": event_type,
31
+ "timestamp": int(time.time() * 1000),
32
+ "data": data
33
+ }).encode("utf-8")
34
+
35
+ req = urllib.request.Request(
36
+ f"{SERVER_URL}/events",
37
+ data=payload,
38
+ headers={"Content-Type": "application/json"},
39
+ method="POST"
40
+ )
41
+
42
+ urllib.request.urlopen(req, timeout=TIMEOUT_MS / 1000)
43
+ return True
44
+
45
+ except Exception:
46
+ # Silent fail - never block Claude
47
+ return False
@@ -1,29 +1,29 @@
1
- #!/usr/bin/env python3
2
- """
3
- Notification hook - captures Claude notifications.
4
- """
5
-
6
- import json
7
- import sys
8
- import os
9
-
10
- # Add lib to path
11
- sys.path.insert(0, os.path.dirname(__file__))
12
-
13
- from lib.send_event import send_event
14
- from lib.enrich import enrich_event
15
-
16
-
17
- def main():
18
- # Read event from stdin
19
- data = json.load(sys.stdin)
20
-
21
- # Enrich with AIOS context
22
- data = enrich_event(data)
23
-
24
- # Send to monitor server
25
- send_event("Notification", data)
26
-
27
-
28
- if __name__ == "__main__":
29
- main()
1
+ #!/usr/bin/env python3
2
+ """
3
+ Notification hook - captures Claude notifications.
4
+ """
5
+
6
+ import json
7
+ import sys
8
+ import os
9
+
10
+ # Add lib to path
11
+ sys.path.insert(0, os.path.dirname(__file__))
12
+
13
+ from lib.send_event import send_event
14
+ from lib.enrich import enrich_event
15
+
16
+
17
+ def main():
18
+ # Read event from stdin
19
+ data = json.load(sys.stdin)
20
+
21
+ # Enrich with AIOS context
22
+ data = enrich_event(data)
23
+
24
+ # Send to monitor server
25
+ send_event("Notification", data)
26
+
27
+
28
+ if __name__ == "__main__":
29
+ main()
@@ -1,45 +1,45 @@
1
- #!/usr/bin/env python3
2
- """
3
- PostToolUse hook - captures tool results after execution.
4
-
5
- This hook runs after Claude executes any tool, capturing the result.
6
- Most important for tracking what actually happened.
7
- """
8
-
9
- import json
10
- import sys
11
- import os
12
-
13
- # Add lib to path
14
- sys.path.insert(0, os.path.dirname(__file__))
15
-
16
- from lib.send_event import send_event
17
- from lib.enrich import enrich_event
18
-
19
-
20
- def main():
21
- # Read event from stdin
22
- data = json.load(sys.stdin)
23
-
24
- # Truncate large fields
25
- if "tool_result" in data:
26
- result = data["tool_result"]
27
- if isinstance(result, str) and len(result) > 1000:
28
- data["tool_result"] = result[:1000] + "...[truncated]"
29
-
30
- if "tool_input" in data:
31
- tool_input = data["tool_input"]
32
- if isinstance(tool_input, dict):
33
- for key, value in tool_input.items():
34
- if isinstance(value, str) and len(value) > 500:
35
- data["tool_input"][key] = value[:500] + "..."
36
-
37
- # Enrich with AIOS context
38
- data = enrich_event(data)
39
-
40
- # Send to monitor server
41
- send_event("PostToolUse", data)
42
-
43
-
44
- if __name__ == "__main__":
45
- main()
1
+ #!/usr/bin/env python3
2
+ """
3
+ PostToolUse hook - captures tool results after execution.
4
+
5
+ This hook runs after Claude executes any tool, capturing the result.
6
+ Most important for tracking what actually happened.
7
+ """
8
+
9
+ import json
10
+ import sys
11
+ import os
12
+
13
+ # Add lib to path
14
+ sys.path.insert(0, os.path.dirname(__file__))
15
+
16
+ from lib.send_event import send_event
17
+ from lib.enrich import enrich_event
18
+
19
+
20
+ def main():
21
+ # Read event from stdin
22
+ data = json.load(sys.stdin)
23
+
24
+ # Truncate large fields
25
+ if "tool_result" in data:
26
+ result = data["tool_result"]
27
+ if isinstance(result, str) and len(result) > 1000:
28
+ data["tool_result"] = result[:1000] + "...[truncated]"
29
+
30
+ if "tool_input" in data:
31
+ tool_input = data["tool_input"]
32
+ if isinstance(tool_input, dict):
33
+ for key, value in tool_input.items():
34
+ if isinstance(value, str) and len(value) > 500:
35
+ data["tool_input"][key] = value[:500] + "..."
36
+
37
+ # Enrich with AIOS context
38
+ data = enrich_event(data)
39
+
40
+ # Send to monitor server
41
+ send_event("PostToolUse", data)
42
+
43
+
44
+ if __name__ == "__main__":
45
+ main()
@@ -1,29 +1,29 @@
1
- #!/usr/bin/env python3
2
- """
3
- PreCompact hook - captures before context compaction.
4
- """
5
-
6
- import json
7
- import sys
8
- import os
9
-
10
- # Add lib to path
11
- sys.path.insert(0, os.path.dirname(__file__))
12
-
13
- from lib.send_event import send_event
14
- from lib.enrich import enrich_event
15
-
16
-
17
- def main():
18
- # Read event from stdin
19
- data = json.load(sys.stdin)
20
-
21
- # Enrich with AIOS context
22
- data = enrich_event(data)
23
-
24
- # Send to monitor server
25
- send_event("PreCompact", data)
26
-
27
-
28
- if __name__ == "__main__":
29
- main()
1
+ #!/usr/bin/env python3
2
+ """
3
+ PreCompact hook - captures before context compaction.
4
+ """
5
+
6
+ import json
7
+ import sys
8
+ import os
9
+
10
+ # Add lib to path
11
+ sys.path.insert(0, os.path.dirname(__file__))
12
+
13
+ from lib.send_event import send_event
14
+ from lib.enrich import enrich_event
15
+
16
+
17
+ def main():
18
+ # Read event from stdin
19
+ data = json.load(sys.stdin)
20
+
21
+ # Enrich with AIOS context
22
+ data = enrich_event(data)
23
+
24
+ # Send to monitor server
25
+ send_event("PreCompact", data)
26
+
27
+
28
+ if __name__ == "__main__":
29
+ main()
@@ -1,40 +1,40 @@
1
- #!/usr/bin/env python3
2
- """
3
- PreToolUse hook - captures tool calls before execution.
4
-
5
- This hook runs before Claude executes any tool (Read, Write, Bash, etc.)
6
- Use this to see what tools are being invoked and their inputs.
7
- """
8
-
9
- import json
10
- import sys
11
- import os
12
-
13
- # Add lib to path
14
- sys.path.insert(0, os.path.dirname(__file__))
15
-
16
- from lib.send_event import send_event
17
- from lib.enrich import enrich_event
18
-
19
-
20
- def main():
21
- # Read event from stdin
22
- data = json.load(sys.stdin)
23
-
24
- # Truncate large fields to avoid memory issues
25
- if "tool_input" in data:
26
- tool_input = data["tool_input"]
27
- if isinstance(tool_input, dict):
28
- for key, value in tool_input.items():
29
- if isinstance(value, str) and len(value) > 500:
30
- data["tool_input"][key] = value[:500] + "..."
31
-
32
- # Enrich with AIOS context
33
- data = enrich_event(data)
34
-
35
- # Send to monitor server
36
- send_event("PreToolUse", data)
37
-
38
-
39
- if __name__ == "__main__":
40
- main()
1
+ #!/usr/bin/env python3
2
+ """
3
+ PreToolUse hook - captures tool calls before execution.
4
+
5
+ This hook runs before Claude executes any tool (Read, Write, Bash, etc.)
6
+ Use this to see what tools are being invoked and their inputs.
7
+ """
8
+
9
+ import json
10
+ import sys
11
+ import os
12
+
13
+ # Add lib to path
14
+ sys.path.insert(0, os.path.dirname(__file__))
15
+
16
+ from lib.send_event import send_event
17
+ from lib.enrich import enrich_event
18
+
19
+
20
+ def main():
21
+ # Read event from stdin
22
+ data = json.load(sys.stdin)
23
+
24
+ # Truncate large fields to avoid memory issues
25
+ if "tool_input" in data:
26
+ tool_input = data["tool_input"]
27
+ if isinstance(tool_input, dict):
28
+ for key, value in tool_input.items():
29
+ if isinstance(value, str) and len(value) > 500:
30
+ data["tool_input"][key] = value[:500] + "..."
31
+
32
+ # Enrich with AIOS context
33
+ data = enrich_event(data)
34
+
35
+ # Send to monitor server
36
+ send_event("PreToolUse", data)
37
+
38
+
39
+ if __name__ == "__main__":
40
+ main()