aios-core 4.0.2 → 4.0.4

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/registry-update-log.jsonl +113 -0
  5. package/.aios-core/development/scripts/approval-workflow.js +642 -642
  6. package/.aios-core/development/scripts/backup-manager.js +606 -606
  7. package/.aios-core/development/scripts/branch-manager.js +389 -389
  8. package/.aios-core/development/scripts/code-quality-improver.js +1311 -1311
  9. package/.aios-core/development/scripts/commit-message-generator.js +849 -849
  10. package/.aios-core/development/scripts/conflict-resolver.js +674 -674
  11. package/.aios-core/development/scripts/dependency-analyzer.js +637 -637
  12. package/.aios-core/development/scripts/diff-generator.js +351 -351
  13. package/.aios-core/development/scripts/elicitation-engine.js +384 -384
  14. package/.aios-core/development/scripts/elicitation-session-manager.js +299 -299
  15. package/.aios-core/development/scripts/git-wrapper.js +461 -461
  16. package/.aios-core/development/scripts/manifest-preview.js +244 -244
  17. package/.aios-core/development/scripts/metrics-tracker.js +775 -775
  18. package/.aios-core/development/scripts/modification-validator.js +554 -554
  19. package/.aios-core/development/scripts/pattern-learner.js +1224 -1224
  20. package/.aios-core/development/scripts/performance-analyzer.js +757 -757
  21. package/.aios-core/development/scripts/refactoring-suggester.js +1138 -1138
  22. package/.aios-core/development/scripts/rollback-handler.js +530 -530
  23. package/.aios-core/development/scripts/security-checker.js +358 -358
  24. package/.aios-core/development/scripts/template-engine.js +239 -239
  25. package/.aios-core/development/scripts/template-validator.js +278 -278
  26. package/.aios-core/development/scripts/test-generator.js +843 -843
  27. package/.aios-core/development/scripts/transaction-manager.js +589 -589
  28. package/.aios-core/development/scripts/usage-tracker.js +673 -673
  29. package/.aios-core/development/scripts/validate-filenames.js +226 -226
  30. package/.aios-core/development/scripts/version-tracker.js +526 -526
  31. package/.aios-core/development/scripts/yaml-validator.js +396 -396
  32. package/.aios-core/development/templates/service-template/README.md.hbs +158 -158
  33. package/.aios-core/development/templates/service-template/__tests__/index.test.ts.hbs +237 -237
  34. package/.aios-core/development/templates/service-template/client.ts.hbs +403 -403
  35. package/.aios-core/development/templates/service-template/errors.ts.hbs +182 -182
  36. package/.aios-core/development/templates/service-template/index.ts.hbs +120 -120
  37. package/.aios-core/development/templates/service-template/package.json.hbs +87 -87
  38. package/.aios-core/development/templates/service-template/types.ts.hbs +145 -145
  39. package/.aios-core/development/templates/squad-template/LICENSE +21 -21
  40. package/.aios-core/docs/SHARD-TRANSLATION-GUIDE.md +335 -0
  41. package/.aios-core/docs/component-creation-guide.md +458 -0
  42. package/.aios-core/docs/session-update-pattern.md +307 -0
  43. package/.aios-core/docs/standards/AIOS-FRAMEWORK-MASTER.md +1963 -0
  44. package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO-V2.1-SUMMARY.md +1190 -0
  45. package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO-V2.1.md +439 -0
  46. package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO.md +5398 -0
  47. package/.aios-core/docs/standards/V3-ARCHITECTURAL-DECISIONS.md +523 -0
  48. package/.aios-core/docs/template-syntax.md +267 -0
  49. package/.aios-core/docs/troubleshooting-guide.md +625 -0
  50. package/.aios-core/infrastructure/templates/aios-sync.yaml.template +193 -193
  51. package/.aios-core/infrastructure/templates/coderabbit.yaml.template +279 -279
  52. package/.aios-core/infrastructure/templates/github-workflows/ci.yml.template +169 -169
  53. package/.aios-core/infrastructure/templates/github-workflows/pr-automation.yml.template +330 -330
  54. package/.aios-core/infrastructure/templates/github-workflows/release.yml.template +196 -196
  55. package/.aios-core/infrastructure/templates/gitignore/gitignore-aios-base.tmpl +63 -63
  56. package/.aios-core/infrastructure/templates/gitignore/gitignore-brownfield-merge.tmpl +18 -18
  57. package/.aios-core/infrastructure/templates/gitignore/gitignore-node.tmpl +85 -85
  58. package/.aios-core/infrastructure/templates/gitignore/gitignore-python.tmpl +145 -145
  59. package/.aios-core/infrastructure/tests/utilities-audit-results.json +501 -0
  60. package/.aios-core/install-manifest.yaml +97 -97
  61. package/.aios-core/local-config.yaml.template +68 -68
  62. package/.aios-core/manifests/agents.csv +1 -0
  63. package/.aios-core/manifests/schema/manifest-schema.json +190 -190
  64. package/.aios-core/manifests/tasks.csv +121 -0
  65. package/.aios-core/manifests/workers.csv +204 -0
  66. package/.aios-core/monitor/hooks/lib/__init__.py +1 -1
  67. package/.aios-core/monitor/hooks/lib/enrich.py +58 -58
  68. package/.aios-core/monitor/hooks/lib/send_event.py +47 -47
  69. package/.aios-core/monitor/hooks/notification.py +29 -29
  70. package/.aios-core/monitor/hooks/post_tool_use.py +45 -45
  71. package/.aios-core/monitor/hooks/pre_compact.py +29 -29
  72. package/.aios-core/monitor/hooks/pre_tool_use.py +40 -40
  73. package/.aios-core/monitor/hooks/stop.py +29 -29
  74. package/.aios-core/monitor/hooks/subagent_stop.py +29 -29
  75. package/.aios-core/monitor/hooks/user_prompt_submit.py +38 -38
  76. package/.aios-core/product/templates/adr.hbs +125 -125
  77. package/.aios-core/product/templates/component-react-tmpl.tsx +98 -98
  78. package/.aios-core/product/templates/dbdr.hbs +241 -241
  79. package/.aios-core/product/templates/engine/schemas/adr.schema.json +102 -102
  80. package/.aios-core/product/templates/engine/schemas/dbdr.schema.json +205 -205
  81. package/.aios-core/product/templates/engine/schemas/epic.schema.json +175 -175
  82. package/.aios-core/product/templates/engine/schemas/pmdr.schema.json +175 -175
  83. package/.aios-core/product/templates/engine/schemas/prd-v2.schema.json +300 -300
  84. package/.aios-core/product/templates/engine/schemas/prd.schema.json +152 -152
  85. package/.aios-core/product/templates/engine/schemas/story.schema.json +222 -222
  86. package/.aios-core/product/templates/engine/schemas/task.schema.json +154 -154
  87. package/.aios-core/product/templates/epic.hbs +212 -212
  88. package/.aios-core/product/templates/eslintrc-security.json +32 -32
  89. package/.aios-core/product/templates/github-actions-cd.yml +212 -212
  90. package/.aios-core/product/templates/github-actions-ci.yml +172 -172
  91. package/.aios-core/product/templates/pmdr.hbs +186 -186
  92. package/.aios-core/product/templates/prd-v2.0.hbs +216 -216
  93. package/.aios-core/product/templates/prd.hbs +201 -201
  94. package/.aios-core/product/templates/shock-report-tmpl.html +502 -502
  95. package/.aios-core/product/templates/story.hbs +263 -263
  96. package/.aios-core/product/templates/task.hbs +170 -170
  97. package/.aios-core/product/templates/tmpl-comment-on-examples.sql +158 -158
  98. package/.aios-core/product/templates/tmpl-migration-script.sql +91 -91
  99. package/.aios-core/product/templates/tmpl-rls-granular-policies.sql +104 -104
  100. package/.aios-core/product/templates/tmpl-rls-kiss-policy.sql +10 -10
  101. package/.aios-core/product/templates/tmpl-rls-roles.sql +135 -135
  102. package/.aios-core/product/templates/tmpl-rls-simple.sql +77 -77
  103. package/.aios-core/product/templates/tmpl-rls-tenant.sql +152 -152
  104. package/.aios-core/product/templates/tmpl-rollback-script.sql +77 -77
  105. package/.aios-core/product/templates/tmpl-seed-data.sql +140 -140
  106. package/.aios-core/product/templates/tmpl-smoke-test.sql +16 -16
  107. package/.aios-core/product/templates/tmpl-staging-copy-merge.sql +139 -139
  108. package/.aios-core/product/templates/tmpl-stored-proc.sql +140 -140
  109. package/.aios-core/product/templates/tmpl-trigger.sql +152 -152
  110. package/.aios-core/product/templates/tmpl-view-materialized.sql +133 -133
  111. package/.aios-core/product/templates/tmpl-view.sql +177 -177
  112. package/.aios-core/product/templates/token-exports-css-tmpl.css +240 -240
  113. package/.aios-core/quality/schemas/quality-metrics.schema.json +233 -233
  114. package/.aios-core/scripts/migrate-framework-docs.sh +300 -300
  115. package/.aios-core/scripts/pm.sh +0 -0
  116. package/.claude/hooks/enforce-architecture-first.py +196 -0
  117. package/.claude/hooks/install-hooks.sh +41 -0
  118. package/.claude/hooks/mind-clone-governance.py +192 -0
  119. package/.claude/hooks/pre-commit-mmos-guard.sh +99 -0
  120. package/.claude/hooks/pre-commit-version-check.sh +156 -0
  121. package/.claude/hooks/read-protection.py +151 -0
  122. package/.claude/hooks/slug-validation.py +176 -0
  123. package/.claude/hooks/sql-governance.py +182 -0
  124. package/.claude/hooks/write-path-validation.py +194 -0
  125. package/.claude/rules/agent-authority.md +105 -0
  126. package/.claude/rules/coderabbit-integration.md +93 -0
  127. package/.claude/rules/ids-principles.md +112 -0
  128. package/.claude/rules/story-lifecycle.md +139 -0
  129. package/.claude/rules/workflow-execution.md +150 -0
  130. package/LICENSE +48 -48
  131. package/README.md +30 -7
  132. package/bin/aios-minimal.js +0 -0
  133. package/bin/aios.js +15 -15
  134. package/package.json +2 -4
  135. package/packages/aios-install/bin/aios-install.js +0 -0
  136. package/packages/aios-install/bin/edmcp.js +0 -0
  137. package/packages/aios-pro-cli/bin/aios-pro.js +0 -0
  138. package/scripts/check-markdown-links.py +352 -352
  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
@@ -1,212 +1,212 @@
1
- # GitHub Actions CD Template
2
- # Purpose: Continuous Deployment workflow for staging and production
3
- # Generated by: AIOS-FullStack @github-devops agent
4
- #
5
- # Usage: Copy to .github/workflows/cd.yml and customize
6
-
7
- name: CD
8
-
9
- on:
10
- push:
11
- branches: [main]
12
- tags: ['v*']
13
- workflow_dispatch:
14
- inputs:
15
- environment:
16
- description: 'Deployment environment'
17
- required: true
18
- default: 'staging'
19
- type: choice
20
- options:
21
- - staging
22
- - production
23
-
24
- env:
25
- NODE_VERSION: '20.x'
26
- # Configure your deployment targets
27
- # VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }}
28
- # VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }}
29
-
30
- jobs:
31
- # ============================================================================
32
- # DETERMINE ENVIRONMENT
33
- # ============================================================================
34
- setup:
35
- name: Setup Deployment
36
- runs-on: ubuntu-latest
37
- outputs:
38
- environment: ${{ steps.set-env.outputs.environment }}
39
- version: ${{ steps.set-version.outputs.version }}
40
- steps:
41
- - name: Determine environment
42
- id: set-env
43
- run: |
44
- if [[ "${{ github.event_name }}" == "workflow_dispatch" ]]; then
45
- echo "environment=${{ github.event.inputs.environment }}" >> $GITHUB_OUTPUT
46
- elif [[ "${{ github.ref }}" == refs/tags/v* ]]; then
47
- echo "environment=production" >> $GITHUB_OUTPUT
48
- else
49
- echo "environment=staging" >> $GITHUB_OUTPUT
50
- fi
51
-
52
- - name: Set version
53
- id: set-version
54
- run: |
55
- if [[ "${{ github.ref }}" == refs/tags/v* ]]; then
56
- echo "version=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT
57
- else
58
- echo "version=${{ github.sha }}" >> $GITHUB_OUTPUT
59
- fi
60
-
61
- # ============================================================================
62
- # BUILD FOR DEPLOYMENT
63
- # ============================================================================
64
- build:
65
- name: Build for ${{ needs.setup.outputs.environment }}
66
- runs-on: ubuntu-latest
67
- needs: setup
68
- environment: ${{ needs.setup.outputs.environment }}
69
- steps:
70
- - name: Checkout code
71
- uses: actions/checkout@v4
72
-
73
- - name: Setup Node.js
74
- uses: actions/setup-node@v4
75
- with:
76
- node-version: ${{ env.NODE_VERSION }}
77
- cache: 'npm'
78
-
79
- - name: Install dependencies
80
- run: npm ci
81
-
82
- - name: Build project
83
- run: npm run build
84
- env:
85
- NODE_ENV: production
86
- # Add environment-specific build vars
87
- # NEXT_PUBLIC_API_URL: ${{ vars.API_URL }}
88
-
89
- - name: Upload build artifacts
90
- uses: actions/upload-artifact@v4
91
- with:
92
- name: build-${{ needs.setup.outputs.environment }}
93
- path: dist/
94
- retention-days: 7
95
-
96
- # ============================================================================
97
- # DEPLOY TO STAGING
98
- # ============================================================================
99
- deploy-staging:
100
- name: Deploy to Staging
101
- runs-on: ubuntu-latest
102
- needs: [setup, build]
103
- if: needs.setup.outputs.environment == 'staging'
104
- environment:
105
- name: staging
106
- url: ${{ steps.deploy.outputs.url }}
107
- steps:
108
- - name: Checkout code
109
- uses: actions/checkout@v4
110
-
111
- - name: Download build artifacts
112
- uses: actions/download-artifact@v4
113
- with:
114
- name: build-staging
115
- path: dist/
116
-
117
- # Vercel deployment example
118
- # - name: Deploy to Vercel
119
- # id: deploy
120
- # uses: amondnet/vercel-action@v25
121
- # with:
122
- # vercel-token: ${{ secrets.VERCEL_TOKEN }}
123
- # vercel-org-id: ${{ secrets.VERCEL_ORG_ID }}
124
- # vercel-project-id: ${{ secrets.VERCEL_PROJECT_ID }}
125
-
126
- - name: Deploy (placeholder)
127
- id: deploy
128
- run: |
129
- echo "Deploying to staging..."
130
- echo "url=https://staging.example.com" >> $GITHUB_OUTPUT
131
- echo "::notice::Deployed to staging at https://staging.example.com"
132
-
133
- # ============================================================================
134
- # DEPLOY TO PRODUCTION
135
- # ============================================================================
136
- deploy-production:
137
- name: Deploy to Production
138
- runs-on: ubuntu-latest
139
- needs: [setup, build]
140
- if: needs.setup.outputs.environment == 'production'
141
- environment:
142
- name: production
143
- url: ${{ steps.deploy.outputs.url }}
144
- steps:
145
- - name: Checkout code
146
- uses: actions/checkout@v4
147
-
148
- - name: Download build artifacts
149
- uses: actions/download-artifact@v4
150
- with:
151
- name: build-production
152
- path: dist/
153
-
154
- # Vercel production deployment
155
- # - name: Deploy to Vercel Production
156
- # id: deploy
157
- # uses: amondnet/vercel-action@v25
158
- # with:
159
- # vercel-token: ${{ secrets.VERCEL_TOKEN }}
160
- # vercel-org-id: ${{ secrets.VERCEL_ORG_ID }}
161
- # vercel-project-id: ${{ secrets.VERCEL_PROJECT_ID }}
162
- # vercel-args: '--prod'
163
-
164
- - name: Deploy (placeholder)
165
- id: deploy
166
- run: |
167
- echo "Deploying to production..."
168
- echo "url=https://example.com" >> $GITHUB_OUTPUT
169
- echo "::notice::Deployed to production at https://example.com"
170
-
171
- # ============================================================================
172
- # DATABASE MIGRATIONS (Optional)
173
- # ============================================================================
174
- # migrations:
175
- # name: Run Database Migrations
176
- # runs-on: ubuntu-latest
177
- # needs: [setup, deploy-staging, deploy-production]
178
- # if: always() && (needs.deploy-staging.result == 'success' || needs.deploy-production.result == 'success')
179
- # environment: ${{ needs.setup.outputs.environment }}
180
- # steps:
181
- # - name: Checkout code
182
- # uses: actions/checkout@v4
183
- #
184
- # - name: Run migrations
185
- # run: npm run db:migrate
186
- # env:
187
- # DATABASE_URL: ${{ secrets.DATABASE_URL }}
188
-
189
- # ============================================================================
190
- # POST-DEPLOYMENT VERIFICATION
191
- # ============================================================================
192
- verify:
193
- name: Verify Deployment
194
- runs-on: ubuntu-latest
195
- needs: [setup, deploy-staging, deploy-production]
196
- if: always() && (needs.deploy-staging.result == 'success' || needs.deploy-production.result == 'success')
197
- steps:
198
- - name: Health check
199
- run: |
200
- # Add your health check endpoint
201
- # curl -f https://${{ needs.setup.outputs.environment }}.example.com/health
202
- echo "Deployment verification passed"
203
-
204
- - name: Notify on success
205
- if: success()
206
- run: |
207
- echo "::notice::Successfully deployed to ${{ needs.setup.outputs.environment }}"
208
-
209
- - name: Notify on failure
210
- if: failure()
211
- run: |
212
- echo "::error::Deployment verification failed"
1
+ # GitHub Actions CD Template
2
+ # Purpose: Continuous Deployment workflow for staging and production
3
+ # Generated by: AIOS-FullStack @github-devops agent
4
+ #
5
+ # Usage: Copy to .github/workflows/cd.yml and customize
6
+
7
+ name: CD
8
+
9
+ on:
10
+ push:
11
+ branches: [main]
12
+ tags: ['v*']
13
+ workflow_dispatch:
14
+ inputs:
15
+ environment:
16
+ description: 'Deployment environment'
17
+ required: true
18
+ default: 'staging'
19
+ type: choice
20
+ options:
21
+ - staging
22
+ - production
23
+
24
+ env:
25
+ NODE_VERSION: '20.x'
26
+ # Configure your deployment targets
27
+ # VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }}
28
+ # VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }}
29
+
30
+ jobs:
31
+ # ============================================================================
32
+ # DETERMINE ENVIRONMENT
33
+ # ============================================================================
34
+ setup:
35
+ name: Setup Deployment
36
+ runs-on: ubuntu-latest
37
+ outputs:
38
+ environment: ${{ steps.set-env.outputs.environment }}
39
+ version: ${{ steps.set-version.outputs.version }}
40
+ steps:
41
+ - name: Determine environment
42
+ id: set-env
43
+ run: |
44
+ if [[ "${{ github.event_name }}" == "workflow_dispatch" ]]; then
45
+ echo "environment=${{ github.event.inputs.environment }}" >> $GITHUB_OUTPUT
46
+ elif [[ "${{ github.ref }}" == refs/tags/v* ]]; then
47
+ echo "environment=production" >> $GITHUB_OUTPUT
48
+ else
49
+ echo "environment=staging" >> $GITHUB_OUTPUT
50
+ fi
51
+
52
+ - name: Set version
53
+ id: set-version
54
+ run: |
55
+ if [[ "${{ github.ref }}" == refs/tags/v* ]]; then
56
+ echo "version=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT
57
+ else
58
+ echo "version=${{ github.sha }}" >> $GITHUB_OUTPUT
59
+ fi
60
+
61
+ # ============================================================================
62
+ # BUILD FOR DEPLOYMENT
63
+ # ============================================================================
64
+ build:
65
+ name: Build for ${{ needs.setup.outputs.environment }}
66
+ runs-on: ubuntu-latest
67
+ needs: setup
68
+ environment: ${{ needs.setup.outputs.environment }}
69
+ steps:
70
+ - name: Checkout code
71
+ uses: actions/checkout@v4
72
+
73
+ - name: Setup Node.js
74
+ uses: actions/setup-node@v4
75
+ with:
76
+ node-version: ${{ env.NODE_VERSION }}
77
+ cache: 'npm'
78
+
79
+ - name: Install dependencies
80
+ run: npm ci
81
+
82
+ - name: Build project
83
+ run: npm run build
84
+ env:
85
+ NODE_ENV: production
86
+ # Add environment-specific build vars
87
+ # NEXT_PUBLIC_API_URL: ${{ vars.API_URL }}
88
+
89
+ - name: Upload build artifacts
90
+ uses: actions/upload-artifact@v4
91
+ with:
92
+ name: build-${{ needs.setup.outputs.environment }}
93
+ path: dist/
94
+ retention-days: 7
95
+
96
+ # ============================================================================
97
+ # DEPLOY TO STAGING
98
+ # ============================================================================
99
+ deploy-staging:
100
+ name: Deploy to Staging
101
+ runs-on: ubuntu-latest
102
+ needs: [setup, build]
103
+ if: needs.setup.outputs.environment == 'staging'
104
+ environment:
105
+ name: staging
106
+ url: ${{ steps.deploy.outputs.url }}
107
+ steps:
108
+ - name: Checkout code
109
+ uses: actions/checkout@v4
110
+
111
+ - name: Download build artifacts
112
+ uses: actions/download-artifact@v4
113
+ with:
114
+ name: build-staging
115
+ path: dist/
116
+
117
+ # Vercel deployment example
118
+ # - name: Deploy to Vercel
119
+ # id: deploy
120
+ # uses: amondnet/vercel-action@v25
121
+ # with:
122
+ # vercel-token: ${{ secrets.VERCEL_TOKEN }}
123
+ # vercel-org-id: ${{ secrets.VERCEL_ORG_ID }}
124
+ # vercel-project-id: ${{ secrets.VERCEL_PROJECT_ID }}
125
+
126
+ - name: Deploy (placeholder)
127
+ id: deploy
128
+ run: |
129
+ echo "Deploying to staging..."
130
+ echo "url=https://staging.example.com" >> $GITHUB_OUTPUT
131
+ echo "::notice::Deployed to staging at https://staging.example.com"
132
+
133
+ # ============================================================================
134
+ # DEPLOY TO PRODUCTION
135
+ # ============================================================================
136
+ deploy-production:
137
+ name: Deploy to Production
138
+ runs-on: ubuntu-latest
139
+ needs: [setup, build]
140
+ if: needs.setup.outputs.environment == 'production'
141
+ environment:
142
+ name: production
143
+ url: ${{ steps.deploy.outputs.url }}
144
+ steps:
145
+ - name: Checkout code
146
+ uses: actions/checkout@v4
147
+
148
+ - name: Download build artifacts
149
+ uses: actions/download-artifact@v4
150
+ with:
151
+ name: build-production
152
+ path: dist/
153
+
154
+ # Vercel production deployment
155
+ # - name: Deploy to Vercel Production
156
+ # id: deploy
157
+ # uses: amondnet/vercel-action@v25
158
+ # with:
159
+ # vercel-token: ${{ secrets.VERCEL_TOKEN }}
160
+ # vercel-org-id: ${{ secrets.VERCEL_ORG_ID }}
161
+ # vercel-project-id: ${{ secrets.VERCEL_PROJECT_ID }}
162
+ # vercel-args: '--prod'
163
+
164
+ - name: Deploy (placeholder)
165
+ id: deploy
166
+ run: |
167
+ echo "Deploying to production..."
168
+ echo "url=https://example.com" >> $GITHUB_OUTPUT
169
+ echo "::notice::Deployed to production at https://example.com"
170
+
171
+ # ============================================================================
172
+ # DATABASE MIGRATIONS (Optional)
173
+ # ============================================================================
174
+ # migrations:
175
+ # name: Run Database Migrations
176
+ # runs-on: ubuntu-latest
177
+ # needs: [setup, deploy-staging, deploy-production]
178
+ # if: always() && (needs.deploy-staging.result == 'success' || needs.deploy-production.result == 'success')
179
+ # environment: ${{ needs.setup.outputs.environment }}
180
+ # steps:
181
+ # - name: Checkout code
182
+ # uses: actions/checkout@v4
183
+ #
184
+ # - name: Run migrations
185
+ # run: npm run db:migrate
186
+ # env:
187
+ # DATABASE_URL: ${{ secrets.DATABASE_URL }}
188
+
189
+ # ============================================================================
190
+ # POST-DEPLOYMENT VERIFICATION
191
+ # ============================================================================
192
+ verify:
193
+ name: Verify Deployment
194
+ runs-on: ubuntu-latest
195
+ needs: [setup, deploy-staging, deploy-production]
196
+ if: always() && (needs.deploy-staging.result == 'success' || needs.deploy-production.result == 'success')
197
+ steps:
198
+ - name: Health check
199
+ run: |
200
+ # Add your health check endpoint
201
+ # curl -f https://${{ needs.setup.outputs.environment }}.example.com/health
202
+ echo "Deployment verification passed"
203
+
204
+ - name: Notify on success
205
+ if: success()
206
+ run: |
207
+ echo "::notice::Successfully deployed to ${{ needs.setup.outputs.environment }}"
208
+
209
+ - name: Notify on failure
210
+ if: failure()
211
+ run: |
212
+ echo "::error::Deployment verification failed"