aios-core 4.1.0 → 4.2.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 (145) hide show
  1. package/.aios-core/.session/current-session.json +14 -0
  2. package/.aios-core/core/registry/registry-schema.json +166 -166
  3. package/.aios-core/core/registry/service-registry.json +6585 -6585
  4. package/.aios-core/data/entity-registry.yaml +208 -8
  5. package/.aios-core/data/registry-update-log.jsonl +165 -0
  6. package/.aios-core/development/scripts/approval-workflow.js +642 -642
  7. package/.aios-core/development/scripts/backup-manager.js +606 -606
  8. package/.aios-core/development/scripts/branch-manager.js +389 -389
  9. package/.aios-core/development/scripts/code-quality-improver.js +1311 -1311
  10. package/.aios-core/development/scripts/commit-message-generator.js +849 -849
  11. package/.aios-core/development/scripts/conflict-resolver.js +674 -674
  12. package/.aios-core/development/scripts/dependency-analyzer.js +637 -637
  13. package/.aios-core/development/scripts/diff-generator.js +351 -351
  14. package/.aios-core/development/scripts/elicitation-engine.js +384 -384
  15. package/.aios-core/development/scripts/elicitation-session-manager.js +299 -299
  16. package/.aios-core/development/scripts/git-wrapper.js +461 -461
  17. package/.aios-core/development/scripts/manifest-preview.js +244 -244
  18. package/.aios-core/development/scripts/metrics-tracker.js +775 -775
  19. package/.aios-core/development/scripts/modification-validator.js +554 -554
  20. package/.aios-core/development/scripts/pattern-learner.js +1224 -1224
  21. package/.aios-core/development/scripts/performance-analyzer.js +757 -757
  22. package/.aios-core/development/scripts/refactoring-suggester.js +1138 -1138
  23. package/.aios-core/development/scripts/rollback-handler.js +530 -530
  24. package/.aios-core/development/scripts/security-checker.js +358 -358
  25. package/.aios-core/development/scripts/template-engine.js +239 -239
  26. package/.aios-core/development/scripts/template-validator.js +278 -278
  27. package/.aios-core/development/scripts/test-generator.js +843 -843
  28. package/.aios-core/development/scripts/transaction-manager.js +589 -589
  29. package/.aios-core/development/scripts/usage-tracker.js +673 -673
  30. package/.aios-core/development/scripts/validate-filenames.js +226 -226
  31. package/.aios-core/development/scripts/version-tracker.js +526 -526
  32. package/.aios-core/development/scripts/yaml-validator.js +396 -396
  33. package/.aios-core/development/tasks/validate-next-story.md +99 -2
  34. package/.aios-core/development/templates/service-template/README.md.hbs +158 -158
  35. package/.aios-core/development/templates/service-template/__tests__/index.test.ts.hbs +237 -237
  36. package/.aios-core/development/templates/service-template/client.ts.hbs +403 -403
  37. package/.aios-core/development/templates/service-template/errors.ts.hbs +182 -182
  38. package/.aios-core/development/templates/service-template/index.ts.hbs +120 -120
  39. package/.aios-core/development/templates/service-template/package.json.hbs +87 -87
  40. package/.aios-core/development/templates/service-template/types.ts.hbs +145 -145
  41. package/.aios-core/development/templates/squad-template/LICENSE +21 -21
  42. package/.aios-core/docs/SHARD-TRANSLATION-GUIDE.md +335 -0
  43. package/.aios-core/docs/component-creation-guide.md +458 -0
  44. package/.aios-core/docs/session-update-pattern.md +307 -0
  45. package/.aios-core/docs/standards/AIOS-FRAMEWORK-MASTER.md +1963 -0
  46. package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO-V2.1-SUMMARY.md +1190 -0
  47. package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO-V2.1.md +439 -0
  48. package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO.md +5398 -0
  49. package/.aios-core/docs/standards/V3-ARCHITECTURAL-DECISIONS.md +523 -0
  50. package/.aios-core/docs/template-syntax.md +267 -0
  51. package/.aios-core/docs/troubleshooting-guide.md +625 -0
  52. package/.aios-core/infrastructure/templates/aios-sync.yaml.template +193 -193
  53. package/.aios-core/infrastructure/templates/coderabbit.yaml.template +279 -279
  54. package/.aios-core/infrastructure/templates/github-workflows/ci.yml.template +169 -169
  55. package/.aios-core/infrastructure/templates/github-workflows/pr-automation.yml.template +330 -330
  56. package/.aios-core/infrastructure/templates/github-workflows/release.yml.template +196 -196
  57. package/.aios-core/infrastructure/templates/gitignore/gitignore-aios-base.tmpl +63 -63
  58. package/.aios-core/infrastructure/templates/gitignore/gitignore-brownfield-merge.tmpl +18 -18
  59. package/.aios-core/infrastructure/templates/gitignore/gitignore-node.tmpl +85 -85
  60. package/.aios-core/infrastructure/templates/gitignore/gitignore-python.tmpl +145 -145
  61. package/.aios-core/infrastructure/tests/utilities-audit-results.json +501 -0
  62. package/.aios-core/install-manifest.yaml +101 -101
  63. package/.aios-core/local-config.yaml.template +70 -70
  64. package/.aios-core/manifests/agents.csv +29 -0
  65. package/.aios-core/manifests/schema/manifest-schema.json +190 -190
  66. package/.aios-core/manifests/tasks.csv +198 -0
  67. package/.aios-core/manifests/workers.csv +204 -0
  68. package/.aios-core/monitor/hooks/lib/__init__.py +1 -1
  69. package/.aios-core/monitor/hooks/lib/enrich.py +58 -58
  70. package/.aios-core/monitor/hooks/lib/send_event.py +47 -47
  71. package/.aios-core/monitor/hooks/notification.py +29 -29
  72. package/.aios-core/monitor/hooks/post_tool_use.py +45 -45
  73. package/.aios-core/monitor/hooks/pre_compact.py +29 -29
  74. package/.aios-core/monitor/hooks/pre_tool_use.py +40 -40
  75. package/.aios-core/monitor/hooks/stop.py +29 -29
  76. package/.aios-core/monitor/hooks/subagent_stop.py +29 -29
  77. package/.aios-core/monitor/hooks/user_prompt_submit.py +38 -38
  78. package/.aios-core/product/templates/adr.hbs +125 -125
  79. package/.aios-core/product/templates/component-react-tmpl.tsx +98 -98
  80. package/.aios-core/product/templates/dbdr.hbs +241 -241
  81. package/.aios-core/product/templates/engine/schemas/adr.schema.json +102 -102
  82. package/.aios-core/product/templates/engine/schemas/dbdr.schema.json +205 -205
  83. package/.aios-core/product/templates/engine/schemas/epic.schema.json +175 -175
  84. package/.aios-core/product/templates/engine/schemas/pmdr.schema.json +175 -175
  85. package/.aios-core/product/templates/engine/schemas/prd-v2.schema.json +300 -300
  86. package/.aios-core/product/templates/engine/schemas/prd.schema.json +152 -152
  87. package/.aios-core/product/templates/engine/schemas/story.schema.json +222 -222
  88. package/.aios-core/product/templates/engine/schemas/task.schema.json +154 -154
  89. package/.aios-core/product/templates/epic.hbs +212 -212
  90. package/.aios-core/product/templates/eslintrc-security.json +32 -32
  91. package/.aios-core/product/templates/github-actions-cd.yml +212 -212
  92. package/.aios-core/product/templates/github-actions-ci.yml +172 -172
  93. package/.aios-core/product/templates/pmdr.hbs +186 -186
  94. package/.aios-core/product/templates/prd-v2.0.hbs +216 -216
  95. package/.aios-core/product/templates/prd.hbs +201 -201
  96. package/.aios-core/product/templates/shock-report-tmpl.html +502 -502
  97. package/.aios-core/product/templates/story.hbs +263 -263
  98. package/.aios-core/product/templates/task.hbs +170 -170
  99. package/.aios-core/product/templates/tmpl-comment-on-examples.sql +158 -158
  100. package/.aios-core/product/templates/tmpl-migration-script.sql +91 -91
  101. package/.aios-core/product/templates/tmpl-rls-granular-policies.sql +104 -104
  102. package/.aios-core/product/templates/tmpl-rls-kiss-policy.sql +10 -10
  103. package/.aios-core/product/templates/tmpl-rls-roles.sql +135 -135
  104. package/.aios-core/product/templates/tmpl-rls-simple.sql +77 -77
  105. package/.aios-core/product/templates/tmpl-rls-tenant.sql +152 -152
  106. package/.aios-core/product/templates/tmpl-rollback-script.sql +77 -77
  107. package/.aios-core/product/templates/tmpl-seed-data.sql +140 -140
  108. package/.aios-core/product/templates/tmpl-smoke-test.sql +16 -16
  109. package/.aios-core/product/templates/tmpl-staging-copy-merge.sql +139 -139
  110. package/.aios-core/product/templates/tmpl-stored-proc.sql +140 -140
  111. package/.aios-core/product/templates/tmpl-trigger.sql +152 -152
  112. package/.aios-core/product/templates/tmpl-view-materialized.sql +133 -133
  113. package/.aios-core/product/templates/tmpl-view.sql +177 -177
  114. package/.aios-core/product/templates/token-exports-css-tmpl.css +240 -240
  115. package/.aios-core/quality/schemas/quality-metrics.schema.json +233 -233
  116. package/.aios-core/scripts/migrate-framework-docs.sh +300 -300
  117. package/.aios-core/scripts/pm.sh +0 -0
  118. package/.claude/hooks/enforce-architecture-first.py +196 -196
  119. package/.claude/hooks/mind-clone-governance.py +192 -192
  120. package/.claude/hooks/read-protection.py +151 -151
  121. package/.claude/hooks/slug-validation.py +176 -176
  122. package/.claude/hooks/sql-governance.py +182 -182
  123. package/.claude/hooks/write-path-validation.py +194 -194
  124. package/.claude/rules/agent-authority.md +105 -0
  125. package/.claude/rules/coderabbit-integration.md +93 -0
  126. package/.claude/rules/ids-principles.md +112 -0
  127. package/.claude/rules/story-lifecycle.md +139 -0
  128. package/.claude/rules/workflow-execution.md +150 -0
  129. package/LICENSE +48 -48
  130. package/bin/aios-minimal.js +0 -0
  131. package/bin/aios.js +0 -0
  132. package/package.json +1 -1
  133. package/packages/aios-install/bin/aios-install.js +0 -0
  134. package/packages/aios-install/bin/edmcp.js +0 -0
  135. package/packages/aios-pro-cli/bin/aios-pro.js +0 -0
  136. package/packages/installer/src/wizard/pro-setup.js +433 -49
  137. package/scripts/check-markdown-links.py +352 -352
  138. package/scripts/code-intel-health-check.js +343 -0
  139. package/scripts/dashboard-parallel-dev.sh +0 -0
  140. package/scripts/dashboard-parallel-phase3.sh +0 -0
  141. package/scripts/dashboard-parallel-phase4.sh +0 -0
  142. package/scripts/glue/README.md +355 -0
  143. package/scripts/glue/compose-agent-prompt.cjs +362 -0
  144. package/scripts/install-monitor-hooks.sh +0 -0
  145. package/.aios-core/lib/build.json +0 -1
@@ -190,13 +190,24 @@ token_usage: ~3,000-10,000 tokens
190
190
 
191
191
  ```yaml
192
192
  story: N/A
193
- version: 1.0.0
193
+ version: 2.0.0
194
194
  dependencies:
195
195
  - N/A
196
196
  tags:
197
197
  - automation
198
198
  - workflow
199
- updated_at: 2025-11-17
199
+ - self-healing
200
+ - auto-fix
201
+ updated_at: 2026-02-15
202
+ changelog:
203
+ - version: 2.0.0
204
+ date: 2026-02-15
205
+ author: "@po (Pax)"
206
+ change: "Added Step 12: Auto-Fix and Re-Validate loop — fixes template compliance, CodeRabbit, Dev Notes, Testing, Risks, and task AC mapping automatically"
207
+ - version: 1.0.0
208
+ date: 2025-11-17
209
+ author: "original"
210
+ change: "Initial validate-next-story task (report-only, no auto-fix)"
200
211
  ```
201
212
 
202
213
  ---
@@ -452,4 +463,90 @@ Provide a structured validation report including:
452
463
  - **NO-GO**: Story requires fixes before implementation
453
464
  - **Implementation Readiness Score**: 1-10 scale
454
465
  - **Confidence Level**: High/Medium/Low for successful implementation
466
+
467
+ ### 12. Auto-Fix and Re-Validate (Self-Healing Loop)
468
+
469
+ **Purpose:** Automatically fix all fixable issues found during validation instead of just reporting them. This eliminates the manual round-trip of validate → report → fix → re-validate.
470
+
471
+ **EXECUTION RULES:**
472
+
473
+ ```yaml
474
+ auto_fix:
475
+ enabled: true
476
+ max_iterations: 2
477
+ fixable_categories:
478
+ - template_compliance # Missing sections from story template
479
+ - executor_assignment # Missing or incorrect executor/quality_gate fields
480
+ - story_format # Missing "As a / I want / So that"
481
+ - coderabbit_section # Missing or incomplete CodeRabbit Integration
482
+ - dev_notes # Missing Dev Notes, Source Tree, Testing
483
+ - task_ac_mapping # Tasks without AC references
484
+ - risks_section # Missing Risks section
485
+ - placeholder_sections # Missing Dev Agent Record, QA Results placeholders
486
+ non_fixable_categories:
487
+ - anti_hallucination # Requires human verification
488
+ - business_logic # Requires PO decision
489
+ - scope_changes # Requires stakeholder approval
490
+ ```
491
+
492
+ **SEQUENTIAL AUTO-FIX PROCEDURE:**
493
+
494
+ 1. **Classify issues** from Step 11 report:
495
+ - `FIXABLE`: Template compliance, missing sections, structural issues
496
+ - `NON-FIXABLE`: Business logic, scope, anti-hallucination findings
497
+
498
+ 2. **IF fixable issues exist AND iteration < max_iterations:**
499
+
500
+ a. **Template Compliance Fixes:**
501
+ - Missing Executor Assignment → Infer from story Agent field and Work Type mapping (Step 1.1 table)
502
+ - Missing Story format → Generate from Description section (extract role, action, benefit)
503
+ - Missing Dev Notes → Generate from Technical Notes, File List, and epic context
504
+ - Missing Testing section → Generate from Acceptance Criteria (derive test scenarios)
505
+ - Missing Risks section → Generate from Description and Scope (identify common risk patterns)
506
+ - Missing placeholder sections (Dev Agent Record, QA Results) → Add standard placeholders
507
+
508
+ b. **CodeRabbit Integration Fixes (if `coderabbit_integration.enabled: true`):**
509
+ - Missing section → Generate from story type analysis:
510
+ - Infer Primary Type from Description keywords
511
+ - Assign agents from Work Type mapping
512
+ - Add Quality Gate checkboxes (Pre-Commit always, Pre-PR if applicable)
513
+ - Add Self-Healing config based on primary agent
514
+ - Add Focus Areas based on story type
515
+
516
+ c. **Task Enhancement Fixes:**
517
+ - Missing AC references → Map tasks to ACs by content matching
518
+ - Missing subtasks → Break down vague tasks into specific subtasks
519
+ - Add edge case scenarios to ACs if obvious gaps found
520
+
521
+ d. **Nice-to-Have Improvements:**
522
+ - Add external dependency links (GitHub, npm) if referenced in Technical Notes
523
+ - Expand Scope IN/OUT if implicit from Description
524
+
525
+ 3. **Apply all fixes** to the story file using Edit tool
526
+
527
+ 4. **Re-validate** (run Steps 1-11 again on fixed story)
528
+
529
+ 5. **IF still NO-GO after max_iterations:**
530
+ - Report remaining NON-FIXABLE issues
531
+ - List what was auto-fixed vs what needs human decision
532
+ - HALT for user input
533
+
534
+ 6. **IF GO after fixes:**
535
+ - Update story Status from `Draft` to `Ready`
536
+ - Log transition in Change Log: `"Status: Draft → Ready (validation GO {score}/10, auto-fixed {N} issues)"`
537
+ - Report summary of all fixes applied
538
+
539
+ **AUTO-FIX CHANGE LOG FORMAT:**
540
+ ```markdown
541
+ | {date} | @po (Pax) | v{N} — Auto-fix: {comma-separated list of fixes applied} |
542
+ | {date} | @po (Pax) | Status: Draft → Ready (validation GO {score}/10) |
543
+ ```
544
+
545
+ **IMPORTANT CONSTRAINTS:**
546
+ - NEVER change Acceptance Criteria content (only add missing edge cases as new ACs)
547
+ - NEVER change Description or Problem/Solution
548
+ - NEVER change Scope IN/OUT boundaries
549
+ - NEVER change Points or Priority
550
+ - NEVER invent technical details not present in epic/PRD context
551
+ - All generated content MUST be traceable to existing story content or epic context
455
552
 
@@ -1,158 +1,158 @@
1
- # {{pascalCase serviceName}} Service
2
-
3
- > {{description}}
4
-
5
- ## Installation
6
-
7
- ```bash
8
- npm install @aios/{{kebabCase serviceName}}
9
- ```
10
-
11
- ## Quick Start
12
-
13
- ```typescript
14
- import { create{{pascalCase serviceName}}Service } from '@aios/{{kebabCase serviceName}}';
15
-
16
- const service = create{{pascalCase serviceName}}Service({
17
- {{#each envVars}}
18
- {{camelCase this.name}}: process.env.{{this.name}},
19
- {{/each}}
20
- });
21
-
22
- // Use the service
23
- const result = await service.execute();
24
- ```
25
-
26
- ## Configuration
27
-
28
- ### Environment Variables
29
-
30
- | Variable | Required | Description |
31
- |----------|----------|-------------|
32
- {{#each envVars}}
33
- | `{{this.name}}` | {{#if this.required}}Yes{{else}}No{{/if}} | {{this.description}} |
34
- {{/each}}
35
-
36
- ### Programmatic Configuration
37
-
38
- ```typescript
39
- import { create{{pascalCase serviceName}}Service, {{pascalCase serviceName}}Config } from '@aios/{{kebabCase serviceName}}';
40
-
41
- const config: {{pascalCase serviceName}}Config = {
42
- {{#each envVars}}
43
- {{camelCase this.name}}: '{{this.example}}',
44
- {{/each}}
45
- };
46
-
47
- const service = create{{pascalCase serviceName}}Service(config);
48
- ```
49
-
50
- {{#if isApiIntegration}}
51
- ## API Integration
52
-
53
- This service integrates with an external API. Features include:
54
-
55
- - **Rate Limiting**: Automatic request throttling
56
- - **Retry Logic**: Exponential backoff on failures
57
- - **Error Handling**: Typed errors with actionable messages
58
-
59
- ### Rate Limits
60
-
61
- > **Note:** The values below are placeholders. Update them according to your API's actual rate limits.
62
-
63
- | Tier | Requests/min | Burst |
64
- |------|--------------|-------|
65
- | Free | 60 | 10 |
66
- | Pro | 600 | 100 |
67
-
68
- {{/if}}
69
- ## Usage Examples
70
-
71
- ### Basic Usage
72
-
73
- ```typescript
74
- const service = create{{pascalCase serviceName}}Service(config);
75
-
76
- try {
77
- const result = await service.execute();
78
- console.log('Success:', result);
79
- } catch (error) {
80
- if (error instanceof {{pascalCase serviceName}}Error) {
81
- console.error('Service error:', error.code, error.message);
82
- }
83
- throw error;
84
- }
85
- ```
86
-
87
- {{#if hasAuth}}
88
- ### Authentication
89
-
90
- This service requires authentication. Set your credentials via environment variables or config:
91
-
92
- ```typescript
93
- const service = create{{pascalCase serviceName}}Service({
94
- apiKey: process.env.{{upperCase serviceName}}_API_KEY,
95
- // or
96
- accessToken: process.env.{{upperCase serviceName}}_ACCESS_TOKEN,
97
- });
98
- ```
99
-
100
- {{/if}}
101
- ## Error Handling
102
-
103
- The service provides typed errors for common failure scenarios:
104
-
105
- ```typescript
106
- import { {{pascalCase serviceName}}Error, {{pascalCase serviceName}}ErrorCode } from '@aios/{{kebabCase serviceName}}';
107
-
108
- try {
109
- await service.execute();
110
- } catch (error) {
111
- if (error instanceof {{pascalCase serviceName}}Error) {
112
- switch (error.code) {
113
- case {{pascalCase serviceName}}ErrorCode.CONFIGURATION_ERROR:
114
- // Handle configuration issues
115
- break;
116
- case {{pascalCase serviceName}}ErrorCode.NETWORK_ERROR:
117
- // Handle network issues
118
- break;
119
- {{#if isApiIntegration}}
120
- case {{pascalCase serviceName}}ErrorCode.RATE_LIMIT_EXCEEDED:
121
- // Handle rate limiting
122
- break;
123
- {{/if}}
124
- default:
125
- // Handle other errors
126
- }
127
- }
128
- }
129
- ```
130
-
131
- ## API Reference
132
-
133
- See the [TypeScript definitions](./dist/types.d.ts) for complete API documentation.
134
-
135
- ## Development
136
-
137
- ```bash
138
- # Install dependencies
139
- npm install
140
-
141
- # Run tests
142
- npm test
143
-
144
- # Build
145
- npm run build
146
-
147
- # Type check
148
- npm run typecheck
149
- ```
150
-
151
- ## License
152
-
153
- MIT
154
-
155
- ---
156
-
157
- *Generated by AIOS-FullStack Service Template*
158
- *Story: {{storyId}}*
1
+ # {{pascalCase serviceName}} Service
2
+
3
+ > {{description}}
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install @aios/{{kebabCase serviceName}}
9
+ ```
10
+
11
+ ## Quick Start
12
+
13
+ ```typescript
14
+ import { create{{pascalCase serviceName}}Service } from '@aios/{{kebabCase serviceName}}';
15
+
16
+ const service = create{{pascalCase serviceName}}Service({
17
+ {{#each envVars}}
18
+ {{camelCase this.name}}: process.env.{{this.name}},
19
+ {{/each}}
20
+ });
21
+
22
+ // Use the service
23
+ const result = await service.execute();
24
+ ```
25
+
26
+ ## Configuration
27
+
28
+ ### Environment Variables
29
+
30
+ | Variable | Required | Description |
31
+ |----------|----------|-------------|
32
+ {{#each envVars}}
33
+ | `{{this.name}}` | {{#if this.required}}Yes{{else}}No{{/if}} | {{this.description}} |
34
+ {{/each}}
35
+
36
+ ### Programmatic Configuration
37
+
38
+ ```typescript
39
+ import { create{{pascalCase serviceName}}Service, {{pascalCase serviceName}}Config } from '@aios/{{kebabCase serviceName}}';
40
+
41
+ const config: {{pascalCase serviceName}}Config = {
42
+ {{#each envVars}}
43
+ {{camelCase this.name}}: '{{this.example}}',
44
+ {{/each}}
45
+ };
46
+
47
+ const service = create{{pascalCase serviceName}}Service(config);
48
+ ```
49
+
50
+ {{#if isApiIntegration}}
51
+ ## API Integration
52
+
53
+ This service integrates with an external API. Features include:
54
+
55
+ - **Rate Limiting**: Automatic request throttling
56
+ - **Retry Logic**: Exponential backoff on failures
57
+ - **Error Handling**: Typed errors with actionable messages
58
+
59
+ ### Rate Limits
60
+
61
+ > **Note:** The values below are placeholders. Update them according to your API's actual rate limits.
62
+
63
+ | Tier | Requests/min | Burst |
64
+ |------|--------------|-------|
65
+ | Free | 60 | 10 |
66
+ | Pro | 600 | 100 |
67
+
68
+ {{/if}}
69
+ ## Usage Examples
70
+
71
+ ### Basic Usage
72
+
73
+ ```typescript
74
+ const service = create{{pascalCase serviceName}}Service(config);
75
+
76
+ try {
77
+ const result = await service.execute();
78
+ console.log('Success:', result);
79
+ } catch (error) {
80
+ if (error instanceof {{pascalCase serviceName}}Error) {
81
+ console.error('Service error:', error.code, error.message);
82
+ }
83
+ throw error;
84
+ }
85
+ ```
86
+
87
+ {{#if hasAuth}}
88
+ ### Authentication
89
+
90
+ This service requires authentication. Set your credentials via environment variables or config:
91
+
92
+ ```typescript
93
+ const service = create{{pascalCase serviceName}}Service({
94
+ apiKey: process.env.{{upperCase serviceName}}_API_KEY,
95
+ // or
96
+ accessToken: process.env.{{upperCase serviceName}}_ACCESS_TOKEN,
97
+ });
98
+ ```
99
+
100
+ {{/if}}
101
+ ## Error Handling
102
+
103
+ The service provides typed errors for common failure scenarios:
104
+
105
+ ```typescript
106
+ import { {{pascalCase serviceName}}Error, {{pascalCase serviceName}}ErrorCode } from '@aios/{{kebabCase serviceName}}';
107
+
108
+ try {
109
+ await service.execute();
110
+ } catch (error) {
111
+ if (error instanceof {{pascalCase serviceName}}Error) {
112
+ switch (error.code) {
113
+ case {{pascalCase serviceName}}ErrorCode.CONFIGURATION_ERROR:
114
+ // Handle configuration issues
115
+ break;
116
+ case {{pascalCase serviceName}}ErrorCode.NETWORK_ERROR:
117
+ // Handle network issues
118
+ break;
119
+ {{#if isApiIntegration}}
120
+ case {{pascalCase serviceName}}ErrorCode.RATE_LIMIT_EXCEEDED:
121
+ // Handle rate limiting
122
+ break;
123
+ {{/if}}
124
+ default:
125
+ // Handle other errors
126
+ }
127
+ }
128
+ }
129
+ ```
130
+
131
+ ## API Reference
132
+
133
+ See the [TypeScript definitions](./dist/types.d.ts) for complete API documentation.
134
+
135
+ ## Development
136
+
137
+ ```bash
138
+ # Install dependencies
139
+ npm install
140
+
141
+ # Run tests
142
+ npm test
143
+
144
+ # Build
145
+ npm run build
146
+
147
+ # Type check
148
+ npm run typecheck
149
+ ```
150
+
151
+ ## License
152
+
153
+ MIT
154
+
155
+ ---
156
+
157
+ *Generated by AIOS-FullStack Service Template*
158
+ *Story: {{storyId}}*