aiox-core 5.0.0 → 5.0.2

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 (91) hide show
  1. package/.aiox-core/data/entity-registry.yaml +5297 -1814
  2. package/.aiox-core/data/registry-update-log.jsonl +2 -0
  3. package/.aiox-core/development/templates/service-template/README.md.hbs +158 -158
  4. package/.aiox-core/development/templates/service-template/__tests__/index.test.ts.hbs +237 -237
  5. package/.aiox-core/development/templates/service-template/client.ts.hbs +403 -403
  6. package/.aiox-core/development/templates/service-template/errors.ts.hbs +182 -182
  7. package/.aiox-core/development/templates/service-template/index.ts.hbs +120 -120
  8. package/.aiox-core/development/templates/service-template/package.json.hbs +87 -87
  9. package/.aiox-core/development/templates/service-template/types.ts.hbs +145 -145
  10. package/.aiox-core/development/templates/squad-template/LICENSE +21 -21
  11. package/.aiox-core/infrastructure/scripts/tool-resolver.js +4 -4
  12. package/.aiox-core/infrastructure/templates/aiox-sync.yaml.template +182 -182
  13. package/.aiox-core/infrastructure/templates/coderabbit.yaml.template +279 -279
  14. package/.aiox-core/infrastructure/templates/github-workflows/ci.yml.template +169 -169
  15. package/.aiox-core/infrastructure/templates/github-workflows/pr-automation.yml.template +330 -330
  16. package/.aiox-core/infrastructure/templates/github-workflows/release.yml.template +196 -196
  17. package/.aiox-core/infrastructure/templates/gitignore/gitignore-aiox-base.tmpl +63 -63
  18. package/.aiox-core/infrastructure/templates/gitignore/gitignore-brownfield-merge.tmpl +18 -18
  19. package/.aiox-core/infrastructure/templates/gitignore/gitignore-node.tmpl +85 -85
  20. package/.aiox-core/infrastructure/templates/gitignore/gitignore-python.tmpl +145 -145
  21. package/.aiox-core/install-manifest.yaml +58 -58
  22. package/.aiox-core/local-config.yaml.template +71 -71
  23. package/.aiox-core/monitor/hooks/lib/__init__.py +1 -1
  24. package/.aiox-core/monitor/hooks/lib/enrich.py +58 -58
  25. package/.aiox-core/monitor/hooks/lib/send_event.py +47 -47
  26. package/.aiox-core/monitor/hooks/notification.py +29 -29
  27. package/.aiox-core/monitor/hooks/post_tool_use.py +45 -45
  28. package/.aiox-core/monitor/hooks/pre_compact.py +29 -29
  29. package/.aiox-core/monitor/hooks/pre_tool_use.py +40 -40
  30. package/.aiox-core/monitor/hooks/stop.py +29 -29
  31. package/.aiox-core/monitor/hooks/subagent_stop.py +29 -29
  32. package/.aiox-core/monitor/hooks/user_prompt_submit.py +38 -38
  33. package/.aiox-core/product/templates/adr.hbs +125 -125
  34. package/.aiox-core/product/templates/dbdr.hbs +241 -241
  35. package/.aiox-core/product/templates/engine/elicitation.js +2 -3
  36. package/.aiox-core/product/templates/epic.hbs +212 -212
  37. package/.aiox-core/product/templates/pmdr.hbs +186 -186
  38. package/.aiox-core/product/templates/prd-v2.0.hbs +216 -216
  39. package/.aiox-core/product/templates/prd.hbs +201 -201
  40. package/.aiox-core/product/templates/story.hbs +263 -263
  41. package/.aiox-core/product/templates/task.hbs +170 -170
  42. package/.aiox-core/product/templates/tmpl-comment-on-examples.sql +158 -158
  43. package/.aiox-core/product/templates/tmpl-migration-script.sql +91 -91
  44. package/.aiox-core/product/templates/tmpl-rls-granular-policies.sql +104 -104
  45. package/.aiox-core/product/templates/tmpl-rls-kiss-policy.sql +10 -10
  46. package/.aiox-core/product/templates/tmpl-rls-roles.sql +135 -135
  47. package/.aiox-core/product/templates/tmpl-rls-simple.sql +77 -77
  48. package/.aiox-core/product/templates/tmpl-rls-tenant.sql +152 -152
  49. package/.aiox-core/product/templates/tmpl-rollback-script.sql +77 -77
  50. package/.aiox-core/product/templates/tmpl-seed-data.sql +140 -140
  51. package/.aiox-core/product/templates/tmpl-smoke-test.sql +16 -16
  52. package/.aiox-core/product/templates/tmpl-staging-copy-merge.sql +139 -139
  53. package/.aiox-core/product/templates/tmpl-stored-proc.sql +140 -140
  54. package/.aiox-core/product/templates/tmpl-trigger.sql +152 -152
  55. package/.aiox-core/product/templates/tmpl-view-materialized.sql +133 -133
  56. package/.aiox-core/product/templates/tmpl-view.sql +177 -177
  57. package/.aiox-core/scripts/pm.sh +0 -0
  58. package/.claude/hooks/code-intel-pretool.cjs +107 -0
  59. package/.claude/hooks/enforce-architecture-first.py +196 -196
  60. package/.claude/hooks/mind-clone-governance.py +192 -192
  61. package/.claude/hooks/read-protection.py +151 -151
  62. package/.claude/hooks/slug-validation.py +176 -176
  63. package/.claude/hooks/sql-governance.py +182 -182
  64. package/.claude/hooks/write-path-validation.py +194 -194
  65. package/LICENSE +33 -33
  66. package/bin/aiox-graph.js +0 -0
  67. package/bin/aiox-minimal.js +0 -0
  68. package/bin/aiox.js +0 -0
  69. package/docs/guides/aios-workflows/README.md +247 -0
  70. package/docs/guides/aios-workflows/bob-orchestrator-workflow.md +1536 -0
  71. package/package.json +1 -1
  72. package/packages/aiox-install/bin/aiox-install.js +0 -0
  73. package/packages/aiox-install/bin/edmcp.js +0 -0
  74. package/packages/aiox-pro-cli/bin/aiox-pro.js +0 -0
  75. package/packages/installer/src/wizard/pro-setup.js +210 -123
  76. package/pro/README.md +66 -0
  77. package/pro/license/degradation.js +220 -0
  78. package/pro/license/errors.js +450 -0
  79. package/pro/license/feature-gate.js +354 -0
  80. package/pro/license/index.js +181 -0
  81. package/pro/license/license-api.js +679 -0
  82. package/pro/license/license-cache.js +523 -0
  83. package/pro/license/license-crypto.js +303 -0
  84. package/scripts/check-markdown-links.py +352 -352
  85. package/scripts/dashboard-parallel-dev.sh +0 -0
  86. package/scripts/dashboard-parallel-phase3.sh +0 -0
  87. package/scripts/dashboard-parallel-phase4.sh +0 -0
  88. package/scripts/glue/README.md +355 -0
  89. package/scripts/glue/compose-agent-prompt.cjs +362 -0
  90. package/scripts/install-monitor-hooks.sh +0 -0
  91. package/.aiox-core/lib/build.json +0 -1
@@ -1,241 +1,241 @@
1
- ---
2
- template_id: dbdr
3
- template_name: Database Decision Record
4
- version: 1.0
5
- variables:
6
- - name: number
7
- type: number
8
- required: true
9
- auto: next_dbdr_number
10
- - name: title
11
- type: string
12
- required: true
13
- prompt: "Title of the database decision:"
14
- - name: status
15
- type: choice
16
- required: true
17
- choices: [Proposed, Approved, Implemented, Rolled Back]
18
- default: Proposed
19
- - name: dbType
20
- type: choice
21
- required: true
22
- choices: [PostgreSQL, MySQL, MongoDB, SQLite, Supabase, Other]
23
- prompt: "Which database?"
24
- - name: owner
25
- type: string
26
- required: true
27
- prompt: "Who is the decision owner?"
28
- - name: context
29
- type: text
30
- required: true
31
- prompt: "What is the context and data problem?"
32
- - name: decision
33
- type: text
34
- required: true
35
- prompt: "What is the decision being made?"
36
- - name: migrationStrategy
37
- type: text
38
- required: true
39
- prompt: "What is the migration strategy?"
40
- - name: rollbackPlan
41
- type: text
42
- required: true
43
- prompt: "What is the rollback plan?"
44
- ---
45
-
46
- # DBDR {{padNumber number 3}}: {{title}}
47
-
48
- **Status:** {{status}}
49
- **Date:** {{formatDate now "YYYY-MM-DD"}}
50
- **Owner:** {{owner}}
51
- **Database:** {{dbType}}
52
-
53
- ---
54
-
55
- ## Context
56
-
57
- {{#if currentState}}
58
- ### Current State
59
- {{currentState}}
60
- {{/if}}
61
-
62
- ### Problem Statement
63
- {{context}}
64
-
65
- {{#if dataVolume}}
66
- ### Data Volume Considerations
67
- - **Current Size:** {{dataVolume.current}}
68
- - **Projected Growth:** {{dataVolume.projected}}
69
- - **Retention Policy:** {{dataVolume.retention}}
70
- {{/if}}
71
-
72
- ---
73
-
74
- ## Decision
75
-
76
- {{decision}}
77
-
78
- {{#if rationale}}
79
- ### Rationale
80
- {{rationale}}
81
- {{/if}}
82
-
83
- ---
84
-
85
- ## Schema Changes
86
-
87
- {{#if schemaChanges}}
88
- ### Tables Affected
89
-
90
- | Table | Change Type | Description |
91
- |-------|-------------|-------------|
92
- {{#each schemaChanges}}
93
- | `{{this.table}}` | {{this.changeType}} | {{this.description}} |
94
- {{/each}}
95
-
96
- ### SQL Migrations
97
-
98
- ```sql
99
- {{#each schemaChanges}}
100
- -- {{this.table}}: {{this.changeType}}
101
- {{this.sql}}
102
-
103
- {{/each}}
104
- ```
105
- {{else}}
106
- _No schema changes required._
107
- {{/if}}
108
-
109
- ---
110
-
111
- ## Migration Strategy
112
-
113
- ### Approach
114
- {{migrationStrategy}}
115
-
116
- {{#if migrationPhases}}
117
- ### Phases
118
-
119
- {{#each migrationPhases}}
120
- 1. **{{this.phase}}** ({{this.duration}})
121
- - {{this.description}}
122
- - Validation: {{this.validation}}
123
- {{/each}}
124
- {{/if}}
125
-
126
- {{#if dataMigrationScripts}}
127
- ### Data Migration Scripts
128
-
129
- ```sql
130
- {{dataMigrationScripts}}
131
- ```
132
- {{/if}}
133
-
134
- ---
135
-
136
- ## Performance Impact
137
-
138
- {{#if performanceMetrics}}
139
- ### Expected Impact
140
-
141
- | Metric | Before | After | Acceptable? |
142
- |--------|--------|-------|-------------|
143
- {{#each performanceMetrics}}
144
- | {{this.metric}} | {{this.before}} | {{this.after}} | {{this.acceptable}} |
145
- {{/each}}
146
- {{/if}}
147
-
148
- {{#if indexes}}
149
- ### Indexing Strategy
150
-
151
- {{#each indexes}}
152
- - `{{this.name}}` on `{{this.table}}({{this.columns}})` - {{this.reason}}
153
- {{/each}}
154
- {{else}}
155
- _No new indexes required._
156
- {{/if}}
157
-
158
- ---
159
-
160
- ## Rollback Plan
161
-
162
- ### Rollback Strategy
163
- {{rollbackPlan}}
164
-
165
- {{#if rollbackScripts}}
166
- ### Rollback Scripts
167
-
168
- ```sql
169
- {{rollbackScripts}}
170
- ```
171
- {{/if}}
172
-
173
- {{#if rollbackTriggers}}
174
- ### Rollback Triggers
175
-
176
- {{#each rollbackTriggers}}
177
- - **{{this.condition}}**: {{this.action}}
178
- {{/each}}
179
- {{/if}}
180
-
181
- ---
182
-
183
- ## Testing
184
-
185
- {{#if preMigrationTests}}
186
- ### Pre-Migration Testing
187
- {{#each preMigrationTests}}
188
- - [ ] {{this}}
189
- {{/each}}
190
- {{/if}}
191
-
192
- {{#if postMigrationValidation}}
193
- ### Post-Migration Validation
194
- {{#each postMigrationValidation}}
195
- - [ ] {{this}}
196
- {{/each}}
197
- {{/if}}
198
-
199
- ---
200
-
201
- ## Consequences
202
-
203
- {{#if positiveConsequences}}
204
- ### Positive
205
- {{#each positiveConsequences}}
206
- - ✅ {{this}}
207
- {{/each}}
208
- {{/if}}
209
-
210
- {{#if negativeConsequences}}
211
- ### Negative (Trade-offs)
212
- {{#each negativeConsequences}}
213
- - ⚠️ {{this}}
214
- {{/each}}
215
- {{else}}
216
- _No significant trade-offs identified._
217
- {{/if}}
218
-
219
- ---
220
-
221
- ## Related Decisions
222
-
223
- {{#if relatedDBDRs}}
224
- {{#each relatedDBDRs}}
225
- - [DBDR {{this.number}}](./dbdr-{{padNumber this.number 3}}.md): {{this.title}}
226
- {{/each}}
227
- {{else}}
228
- _No related decisions._
229
- {{/if}}
230
-
231
- {{#if relatedADRs}}
232
- ### Related ADRs
233
- {{#each relatedADRs}}
234
- - [ADR {{this.number}}](../adr/adr-{{padNumber this.number 3}}.md): {{this.title}}
235
- {{/each}}
236
- {{/if}}
237
-
238
- ---
239
-
240
- **Generated by:** AIOX Template Engine v2.0
241
- **Template Version:** dbdr-1.0
1
+ ---
2
+ template_id: dbdr
3
+ template_name: Database Decision Record
4
+ version: 1.0
5
+ variables:
6
+ - name: number
7
+ type: number
8
+ required: true
9
+ auto: next_dbdr_number
10
+ - name: title
11
+ type: string
12
+ required: true
13
+ prompt: "Title of the database decision:"
14
+ - name: status
15
+ type: choice
16
+ required: true
17
+ choices: [Proposed, Approved, Implemented, Rolled Back]
18
+ default: Proposed
19
+ - name: dbType
20
+ type: choice
21
+ required: true
22
+ choices: [PostgreSQL, MySQL, MongoDB, SQLite, Supabase, Other]
23
+ prompt: "Which database?"
24
+ - name: owner
25
+ type: string
26
+ required: true
27
+ prompt: "Who is the decision owner?"
28
+ - name: context
29
+ type: text
30
+ required: true
31
+ prompt: "What is the context and data problem?"
32
+ - name: decision
33
+ type: text
34
+ required: true
35
+ prompt: "What is the decision being made?"
36
+ - name: migrationStrategy
37
+ type: text
38
+ required: true
39
+ prompt: "What is the migration strategy?"
40
+ - name: rollbackPlan
41
+ type: text
42
+ required: true
43
+ prompt: "What is the rollback plan?"
44
+ ---
45
+
46
+ # DBDR {{padNumber number 3}}: {{title}}
47
+
48
+ **Status:** {{status}}
49
+ **Date:** {{formatDate now "YYYY-MM-DD"}}
50
+ **Owner:** {{owner}}
51
+ **Database:** {{dbType}}
52
+
53
+ ---
54
+
55
+ ## Context
56
+
57
+ {{#if currentState}}
58
+ ### Current State
59
+ {{currentState}}
60
+ {{/if}}
61
+
62
+ ### Problem Statement
63
+ {{context}}
64
+
65
+ {{#if dataVolume}}
66
+ ### Data Volume Considerations
67
+ - **Current Size:** {{dataVolume.current}}
68
+ - **Projected Growth:** {{dataVolume.projected}}
69
+ - **Retention Policy:** {{dataVolume.retention}}
70
+ {{/if}}
71
+
72
+ ---
73
+
74
+ ## Decision
75
+
76
+ {{decision}}
77
+
78
+ {{#if rationale}}
79
+ ### Rationale
80
+ {{rationale}}
81
+ {{/if}}
82
+
83
+ ---
84
+
85
+ ## Schema Changes
86
+
87
+ {{#if schemaChanges}}
88
+ ### Tables Affected
89
+
90
+ | Table | Change Type | Description |
91
+ |-------|-------------|-------------|
92
+ {{#each schemaChanges}}
93
+ | `{{this.table}}` | {{this.changeType}} | {{this.description}} |
94
+ {{/each}}
95
+
96
+ ### SQL Migrations
97
+
98
+ ```sql
99
+ {{#each schemaChanges}}
100
+ -- {{this.table}}: {{this.changeType}}
101
+ {{this.sql}}
102
+
103
+ {{/each}}
104
+ ```
105
+ {{else}}
106
+ _No schema changes required._
107
+ {{/if}}
108
+
109
+ ---
110
+
111
+ ## Migration Strategy
112
+
113
+ ### Approach
114
+ {{migrationStrategy}}
115
+
116
+ {{#if migrationPhases}}
117
+ ### Phases
118
+
119
+ {{#each migrationPhases}}
120
+ 1. **{{this.phase}}** ({{this.duration}})
121
+ - {{this.description}}
122
+ - Validation: {{this.validation}}
123
+ {{/each}}
124
+ {{/if}}
125
+
126
+ {{#if dataMigrationScripts}}
127
+ ### Data Migration Scripts
128
+
129
+ ```sql
130
+ {{dataMigrationScripts}}
131
+ ```
132
+ {{/if}}
133
+
134
+ ---
135
+
136
+ ## Performance Impact
137
+
138
+ {{#if performanceMetrics}}
139
+ ### Expected Impact
140
+
141
+ | Metric | Before | After | Acceptable? |
142
+ |--------|--------|-------|-------------|
143
+ {{#each performanceMetrics}}
144
+ | {{this.metric}} | {{this.before}} | {{this.after}} | {{this.acceptable}} |
145
+ {{/each}}
146
+ {{/if}}
147
+
148
+ {{#if indexes}}
149
+ ### Indexing Strategy
150
+
151
+ {{#each indexes}}
152
+ - `{{this.name}}` on `{{this.table}}({{this.columns}})` - {{this.reason}}
153
+ {{/each}}
154
+ {{else}}
155
+ _No new indexes required._
156
+ {{/if}}
157
+
158
+ ---
159
+
160
+ ## Rollback Plan
161
+
162
+ ### Rollback Strategy
163
+ {{rollbackPlan}}
164
+
165
+ {{#if rollbackScripts}}
166
+ ### Rollback Scripts
167
+
168
+ ```sql
169
+ {{rollbackScripts}}
170
+ ```
171
+ {{/if}}
172
+
173
+ {{#if rollbackTriggers}}
174
+ ### Rollback Triggers
175
+
176
+ {{#each rollbackTriggers}}
177
+ - **{{this.condition}}**: {{this.action}}
178
+ {{/each}}
179
+ {{/if}}
180
+
181
+ ---
182
+
183
+ ## Testing
184
+
185
+ {{#if preMigrationTests}}
186
+ ### Pre-Migration Testing
187
+ {{#each preMigrationTests}}
188
+ - [ ] {{this}}
189
+ {{/each}}
190
+ {{/if}}
191
+
192
+ {{#if postMigrationValidation}}
193
+ ### Post-Migration Validation
194
+ {{#each postMigrationValidation}}
195
+ - [ ] {{this}}
196
+ {{/each}}
197
+ {{/if}}
198
+
199
+ ---
200
+
201
+ ## Consequences
202
+
203
+ {{#if positiveConsequences}}
204
+ ### Positive
205
+ {{#each positiveConsequences}}
206
+ - ✅ {{this}}
207
+ {{/each}}
208
+ {{/if}}
209
+
210
+ {{#if negativeConsequences}}
211
+ ### Negative (Trade-offs)
212
+ {{#each negativeConsequences}}
213
+ - ⚠️ {{this}}
214
+ {{/each}}
215
+ {{else}}
216
+ _No significant trade-offs identified._
217
+ {{/if}}
218
+
219
+ ---
220
+
221
+ ## Related Decisions
222
+
223
+ {{#if relatedDBDRs}}
224
+ {{#each relatedDBDRs}}
225
+ - [DBDR {{this.number}}](./dbdr-{{padNumber this.number 3}}.md): {{this.title}}
226
+ {{/each}}
227
+ {{else}}
228
+ _No related decisions._
229
+ {{/if}}
230
+
231
+ {{#if relatedADRs}}
232
+ ### Related ADRs
233
+ {{#each relatedADRs}}
234
+ - [ADR {{this.number}}](../adr/adr-{{padNumber this.number 3}}.md): {{this.title}}
235
+ {{/each}}
236
+ {{/if}}
237
+
238
+ ---
239
+
240
+ **Generated by:** AIOX Template Engine v2.0
241
+ **Template Version:** dbdr-1.0
@@ -140,9 +140,8 @@ class VariableElicitation {
140
140
  * @returns {Promise<number>} Next available number
141
141
  */
142
142
  async getNextNumber(docType) {
143
- const fs = require('fs').promises;
144
143
  const path = require('path');
145
- const glob = require('glob');
144
+ const fg = require('fast-glob');
146
145
 
147
146
  const patterns = {
148
147
  adr: 'docs/architecture/decisions/adr-*.md',
@@ -156,7 +155,7 @@ class VariableElicitation {
156
155
  const pattern = patterns[docType] || `**/${docType}-*.md`;
157
156
 
158
157
  try {
159
- const files = glob.sync(pattern, { cwd: process.cwd() });
158
+ const files = fg.sync(pattern, { cwd: process.cwd() });
160
159
  const numbers = files.map(f => {
161
160
  const match = path.basename(f).match(new RegExp(`${docType}-(\\d+)`));
162
161
  return match ? parseInt(match[1], 10) : 0;