sinapse-ai 9.4.0 → 9.5.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 (266) hide show
  1. package/.claude/CLAUDE.md +10 -4
  2. package/.claude/hooks/enforce-architecture-first.py +197 -197
  3. package/.claude/hooks/enforce-git-push-authority.sh +25 -4
  4. package/.claude/hooks/mind-clone-governance.py +193 -193
  5. package/.claude/hooks/read-protection.py +152 -152
  6. package/.claude/hooks/sql-governance.py +183 -183
  7. package/.claude/hooks/verify-packages.cjs +83 -0
  8. package/.claude/hooks/write-path-validation.py +195 -195
  9. package/.claude/rules/hook-governance.md +1 -0
  10. package/.claude/rules/mandatory-delegation.md +24 -0
  11. package/.claude/rules/project-intelligence.md +63 -0
  12. package/.claude/rules/response-format.md +4 -0
  13. package/.claude/rules/safe-collaboration.md +4 -2
  14. package/.claude/rules/security-data-protection.md +18 -0
  15. package/.claude/rules/squad-awareness.md +93 -67
  16. package/.claude/rules/token-economy.md +148 -0
  17. package/.codex/agents/analyst.md +90 -0
  18. package/.codex/agents/architect.md +78 -0
  19. package/.codex/agents/data-engineer.md +38 -0
  20. package/.codex/agents/developer.md +97 -0
  21. package/.codex/agents/devops.md +121 -0
  22. package/.codex/agents/product-lead.md +27 -0
  23. package/.codex/agents/project-lead.md +28 -0
  24. package/.codex/agents/quality-gate.md +89 -0
  25. package/.codex/agents/sprint-lead.md +28 -0
  26. package/.codex/agents/squad-creator.md +58 -0
  27. package/.codex/agents/ux-design-expert.md +28 -0
  28. package/.sinapse-ai/core/code-intel/registry-syncer.js +56 -3
  29. package/.sinapse-ai/core/doctor/checks/agent-memory.js +5 -1
  30. package/.sinapse-ai/core/doctor/checks/claude-md.js +4 -1
  31. package/.sinapse-ai/core/doctor/checks/code-intel.js +5 -1
  32. package/.sinapse-ai/core/doctor/checks/commands-count.js +4 -1
  33. package/.sinapse-ai/core/doctor/checks/constitution-consistency.js +4 -1
  34. package/.sinapse-ai/core/doctor/checks/core-config.js +4 -1
  35. package/.sinapse-ai/core/doctor/checks/entity-registry.js +6 -1
  36. package/.sinapse-ai/core/doctor/checks/git-hooks.js +5 -1
  37. package/.sinapse-ai/core/doctor/checks/graph-dashboard.js +4 -1
  38. package/.sinapse-ai/core/doctor/checks/hooks-claude-count.js +5 -1
  39. package/.sinapse-ai/core/doctor/checks/ide-sync.js +4 -1
  40. package/.sinapse-ai/core/doctor/checks/node-version.js +4 -1
  41. package/.sinapse-ai/core/doctor/checks/npm-packages.js +4 -1
  42. package/.sinapse-ai/core/doctor/checks/rules-files.js +4 -1
  43. package/.sinapse-ai/core/doctor/checks/settings-json.js +4 -1
  44. package/.sinapse-ai/core/doctor/checks/skills-count.js +4 -1
  45. package/.sinapse-ai/core/doctor/index.js +157 -50
  46. package/.sinapse-ai/core/ids/registry-updater.js +6 -1
  47. package/.sinapse-ai/core/logger/index.js +319 -0
  48. package/.sinapse-ai/core/orchestration/terminal-spawner.js +2 -2
  49. package/.sinapse-ai/core/telemetry/index.js +247 -0
  50. package/.sinapse-ai/data/entity-registry.yaml +1384 -944
  51. package/.sinapse-ai/development/agents/architect.md +5 -0
  52. package/.sinapse-ai/development/agents/data-engineer.md +38 -0
  53. package/.sinapse-ai/development/agents/developer.md +28 -0
  54. package/.sinapse-ai/development/agents/devops.md +4 -0
  55. package/.sinapse-ai/development/agents/product-lead.md +27 -0
  56. package/.sinapse-ai/development/agents/project-lead.md +28 -0
  57. package/.sinapse-ai/development/agents/quality-gate.md +4 -0
  58. package/.sinapse-ai/development/agents/sprint-lead/MEMORY.md +8 -0
  59. package/.sinapse-ai/development/agents/sprint-lead.md +28 -0
  60. package/.sinapse-ai/development/agents/squad-creator.md +58 -0
  61. package/.sinapse-ai/development/agents/ux-design-expert.md +28 -0
  62. package/.sinapse-ai/development/knowledge-base/agent-communication-protocol.md +127 -0
  63. package/.sinapse-ai/development/knowledge-base/database-scaling-patterns.md +374 -0
  64. package/.sinapse-ai/development/knowledge-base/environment-deployment-patterns.md +353 -0
  65. package/.sinapse-ai/development/knowledge-base/gotchas-patterns.md +224 -0
  66. package/.sinapse-ai/development/knowledge-base/infrastructure-decision-framework.md +221 -0
  67. package/.sinapse-ai/development/knowledge-base/security-pre-deploy-checklist.md +410 -0
  68. package/.sinapse-ai/development/knowledge-base/software-architecture-patterns.md +299 -0
  69. package/.sinapse-ai/development/knowledge-base/token-economy-guide.md +198 -0
  70. package/.sinapse-ai/development/scripts/populate-entity-registry.js +5 -1
  71. package/.sinapse-ai/development/skills/captcha-handler.md +82 -0
  72. package/.sinapse-ai/development/skills/chrome-brain.md +81 -0
  73. package/.sinapse-ai/development/skills/deploy-readiness.md +93 -0
  74. package/.sinapse-ai/development/skills/model-router.md +92 -0
  75. package/.sinapse-ai/development/skills/sinapse-methodology.md +175 -0
  76. package/.sinapse-ai/development/skills/story-fast-track.md +71 -0
  77. package/.sinapse-ai/development/tasks/dev-develop-story.md +10 -0
  78. package/.sinapse-ai/development/tasks/environment-promotion-pipeline.md +582 -0
  79. package/.sinapse-ai/development/tasks/generate-agent-handoff.md +223 -0
  80. package/.sinapse-ai/development/tasks/infrastructure-assessment.md +432 -0
  81. package/.sinapse-ai/development/tasks/load-testing-setup.md +611 -0
  82. package/.sinapse-ai/development/tasks/observability-blueprint.md +562 -0
  83. package/.sinapse-ai/development/templates/legal/breach-notification-tmpl.md +113 -0
  84. package/.sinapse-ai/development/templates/legal/privacy-policy-tmpl.md +93 -0
  85. package/.sinapse-ai/development/templates/legal/terms-of-service-tmpl.md +85 -0
  86. package/.sinapse-ai/development/templates/service-template/README.md.hbs +159 -159
  87. package/.sinapse-ai/development/templates/service-template/__tests__/index.test.ts.hbs +238 -238
  88. package/.sinapse-ai/development/templates/service-template/client.ts.hbs +404 -404
  89. package/.sinapse-ai/development/templates/service-template/errors.ts.hbs +183 -183
  90. package/.sinapse-ai/development/templates/service-template/index.ts.hbs +121 -121
  91. package/.sinapse-ai/development/templates/service-template/package.json.hbs +88 -88
  92. package/.sinapse-ai/development/templates/service-template/types.ts.hbs +146 -146
  93. package/.sinapse-ai/development/templates/squad-template/LICENSE +22 -22
  94. package/.sinapse-ai/development/workflows/story-development-cycle.yaml +40 -1
  95. package/.sinapse-ai/hooks/ids-post-commit.js +22 -0
  96. package/.sinapse-ai/infrastructure/contracts/compatibility/README.md +42 -0
  97. package/.sinapse-ai/infrastructure/contracts/compatibility/sinapse-current.yaml +35 -0
  98. package/.sinapse-ai/infrastructure/scripts/llm-routing/templates/claude-free-tracked.cmd +127 -127
  99. package/.sinapse-ai/infrastructure/scripts/llm-routing/templates/deepseek-proxy.cmd +71 -71
  100. package/.sinapse-ai/infrastructure/scripts/llm-routing/templates/deepseek-usage.cmd +51 -51
  101. package/.sinapse-ai/infrastructure/scripts/pr-review-ai.js +16 -13
  102. package/.sinapse-ai/infrastructure/scripts/setup-project-infra.js +128 -0
  103. package/.sinapse-ai/infrastructure/scripts/test-discovery.js +8 -3
  104. package/.sinapse-ai/infrastructure/scripts/validate-manifest-parity.js +380 -0
  105. package/.sinapse-ai/infrastructure/scripts/validate-parity.js +76 -25
  106. package/.sinapse-ai/infrastructure/templates/coderabbit.yaml.template +280 -280
  107. package/.sinapse-ai/infrastructure/templates/config/env.example +16 -0
  108. package/.sinapse-ai/infrastructure/templates/config/gitignore-additions.tmpl +59 -0
  109. package/.sinapse-ai/infrastructure/templates/github/CODEOWNERS.template +12 -0
  110. package/.sinapse-ai/infrastructure/templates/github/PULL_REQUEST_TEMPLATE.md +29 -0
  111. package/.sinapse-ai/infrastructure/templates/github/ci-template.yml +77 -0
  112. package/.sinapse-ai/infrastructure/templates/github/issue-templates/bug_report.md +34 -0
  113. package/.sinapse-ai/infrastructure/templates/github/issue-templates/feature_request.md +19 -0
  114. package/.sinapse-ai/infrastructure/templates/github-workflows/ci.yml.template +170 -170
  115. package/.sinapse-ai/infrastructure/templates/github-workflows/pr-automation.yml.template +331 -331
  116. package/.sinapse-ai/infrastructure/templates/github-workflows/release.yml.template +197 -197
  117. package/.sinapse-ai/infrastructure/templates/gitignore/gitignore-brownfield-merge.tmpl +19 -19
  118. package/.sinapse-ai/infrastructure/templates/gitignore/gitignore-node.tmpl +86 -86
  119. package/.sinapse-ai/infrastructure/templates/gitignore/gitignore-python.tmpl +146 -146
  120. package/.sinapse-ai/infrastructure/templates/gitignore/gitignore-sinapse-base.tmpl +64 -64
  121. package/.sinapse-ai/infrastructure/templates/sinapse-sync.yaml.template +183 -183
  122. package/.sinapse-ai/install-manifest.yaml +275 -140
  123. package/.sinapse-ai/local-config.yaml.template +65 -65
  124. package/.sinapse-ai/monitor/hooks/lib/__init__.py +2 -2
  125. package/.sinapse-ai/monitor/hooks/lib/enrich.py +59 -59
  126. package/.sinapse-ai/monitor/hooks/lib/send_event.py +48 -48
  127. package/.sinapse-ai/monitor/hooks/notification.py +30 -30
  128. package/.sinapse-ai/monitor/hooks/post_tool_use.py +46 -46
  129. package/.sinapse-ai/monitor/hooks/pre_compact.py +30 -30
  130. package/.sinapse-ai/monitor/hooks/pre_tool_use.py +41 -41
  131. package/.sinapse-ai/monitor/hooks/stop.py +30 -30
  132. package/.sinapse-ai/monitor/hooks/subagent_stop.py +30 -30
  133. package/.sinapse-ai/monitor/hooks/user_prompt_submit.py +39 -39
  134. package/.sinapse-ai/product/templates/adr.hbs +126 -126
  135. package/.sinapse-ai/product/templates/dbdr.hbs +242 -242
  136. package/.sinapse-ai/product/templates/epic.hbs +213 -213
  137. package/.sinapse-ai/product/templates/pmdr.hbs +187 -187
  138. package/.sinapse-ai/product/templates/prd-v2.0.hbs +217 -217
  139. package/.sinapse-ai/product/templates/prd.hbs +202 -202
  140. package/.sinapse-ai/product/templates/story-tmpl.yaml +59 -0
  141. package/.sinapse-ai/product/templates/story.hbs +264 -264
  142. package/.sinapse-ai/product/templates/task.hbs +171 -171
  143. package/.sinapse-ai/product/templates/tmpl-comment-on-examples.sql +159 -159
  144. package/.sinapse-ai/product/templates/tmpl-migration-script.sql +92 -92
  145. package/.sinapse-ai/product/templates/tmpl-rls-granular-policies.sql +105 -105
  146. package/.sinapse-ai/product/templates/tmpl-rls-kiss-policy.sql +11 -11
  147. package/.sinapse-ai/product/templates/tmpl-rls-roles.sql +136 -136
  148. package/.sinapse-ai/product/templates/tmpl-rls-simple.sql +78 -78
  149. package/.sinapse-ai/product/templates/tmpl-rls-tenant.sql +153 -153
  150. package/.sinapse-ai/product/templates/tmpl-rollback-script.sql +78 -78
  151. package/.sinapse-ai/product/templates/tmpl-seed-data.sql +141 -141
  152. package/.sinapse-ai/product/templates/tmpl-smoke-test.sql +17 -17
  153. package/.sinapse-ai/product/templates/tmpl-staging-copy-merge.sql +140 -140
  154. package/.sinapse-ai/product/templates/tmpl-stored-proc.sql +141 -141
  155. package/.sinapse-ai/product/templates/tmpl-trigger.sql +153 -153
  156. package/.sinapse-ai/product/templates/tmpl-view-materialized.sql +134 -134
  157. package/.sinapse-ai/product/templates/tmpl-view.sql +178 -178
  158. package/.sinapse-ai/scripts/diagnostics/health-dashboard/package-lock.json +427 -355
  159. package/LICENSE +34 -34
  160. package/README.en.md +167 -20
  161. package/README.md +190 -22
  162. package/bin/cli.js +510 -196
  163. package/bin/postinstall.js +564 -0
  164. package/bin/sinapse-cli +283 -283
  165. package/bin/sinapse-graph.js +9 -0
  166. package/bin/sinapse-init.js +36 -4
  167. package/bin/sinapse-minimal.js +20 -9
  168. package/bin/sinapse.js +202 -122
  169. package/bin/utils/deprecation-warning.js +46 -0
  170. package/bin/utils/pre-push-safety.js +14 -0
  171. package/docs/TELEMETRY.md +131 -0
  172. package/docs/chrome-brain-upgrade-plan.md +624 -0
  173. package/docs/framework/orqx-plan.md +1 -1
  174. package/docs/installation/chrome-brain.md +17 -7
  175. package/docs/mega-upgrade-orchestration-plan.md +71 -0
  176. package/docs/pt/contributing.md +20 -0
  177. package/docs/research-synthesis-for-upgrade.md +511 -0
  178. package/docs/security-audit-report.md +306 -0
  179. package/package.json +20 -8
  180. package/packages/installer/src/config/configure-environment.js +19 -44
  181. package/packages/installer/src/detection/detect-project-type.js +181 -63
  182. package/packages/installer/src/installer/manifest-signature.js +32 -17
  183. package/packages/installer/src/wizard/i18n.js +12 -0
  184. package/packages/installer/src/wizard/ide-config-generator.js +8 -39
  185. package/packages/installer/src/wizard/index.js +119 -14
  186. package/packages/installer/src/wizard/questions.js +2 -3
  187. package/packages/installer/tests/integration/environment-configuration.test.js +7 -5
  188. package/packages/installer/tests/unit/detection/detect-project-type.test.js +138 -1
  189. package/packages/installer/tests/unit/doctor/doctor-orchestrator.test.js +3 -3
  190. package/packages/sinapse-install/bin/edmcp.js +0 -0
  191. package/packages/sinapse-install/bin/sinapse-install.js +0 -0
  192. package/packages/sinapse-pro-cli/bin/sinapse-pro.js +0 -0
  193. package/scripts/check-markdown-links.py +353 -353
  194. package/scripts/coverage-report-summary.js +169 -0
  195. package/scripts/generate-install-manifest.js +6 -2
  196. package/scripts/release-readiness.js +169 -0
  197. package/scripts/test-install-matrix-local.sh +153 -0
  198. package/scripts/validate-install-docs.js +394 -0
  199. package/scripts/validate-no-external-refs.js +376 -0
  200. package/scripts/validate-squad-orqx.js +302 -0
  201. package/scripts/validate-story-meta.js +263 -0
  202. package/squads/claude-code-mastery/CHANGELOG.md +1 -1
  203. package/squads/claude-code-mastery/README.md +2 -2
  204. package/squads/claude-code-mastery/squad.yaml +1 -1
  205. package/squads/squad-artdir/README.md +90 -0
  206. package/squads/squad-artdir/agents/accessibility-guardian.md +184 -0
  207. package/squads/squad-artdir/agents/artdir-orqx.md +145 -0
  208. package/squads/squad-artdir/agents/color-psychologist.md +166 -0
  209. package/squads/squad-artdir/agents/cro-persuasion.md +161 -0
  210. package/squads/squad-artdir/agents/design-system-architect.md +100 -0
  211. package/squads/squad-artdir/agents/ia-architect.md +169 -0
  212. package/squads/squad-artdir/agents/interaction-designer.md +162 -0
  213. package/squads/squad-artdir/agents/layout-engineer.md +163 -0
  214. package/squads/squad-artdir/agents/motion-architect.md +185 -0
  215. package/squads/squad-artdir/agents/platform-aesthetic-director.md +84 -0
  216. package/squads/squad-artdir/agents/premium-packaging-strategist.md +107 -0
  217. package/squads/squad-artdir/agents/product-surface-director.md +86 -0
  218. package/squads/squad-artdir/agents/type-systemist.md +138 -0
  219. package/squads/squad-artdir/agents/visual-strategist.md +127 -0
  220. package/squads/squad-artdir/checklists/seven-pillars-validation-checklist.md +172 -0
  221. package/squads/squad-artdir/knowledge-base/case-nyo-ia-reference.md +289 -0
  222. package/squads/squad-artdir/knowledge-base/deliverables-templates.md +457 -0
  223. package/squads/squad-artdir/knowledge-base/motion-technique-catalog.md +247 -0
  224. package/squads/squad-artdir/knowledge-base/premium-packaging-principles.md +133 -0
  225. package/squads/squad-artdir/knowledge-base/psychological-toolkit.md +229 -0
  226. package/squads/squad-artdir/knowledge-base/saas-art-direction-canon.md +242 -0
  227. package/squads/squad-artdir/knowledge-base/seven-pillars-framework.md +289 -0
  228. package/squads/squad-artdir/knowledge-base/ten-pillars-framework.md +221 -0
  229. package/squads/squad-artdir/package.json +20 -0
  230. package/squads/squad-artdir/squad.yaml +271 -0
  231. package/squads/squad-artdir/tasks/audit-conversion.md +97 -0
  232. package/squads/squad-artdir/tasks/audit-drift-multi-surface.md +55 -0
  233. package/squads/squad-artdir/tasks/consult-saas-canon.md +54 -0
  234. package/squads/squad-artdir/tasks/create-art-direction-brief.md +110 -0
  235. package/squads/squad-artdir/tasks/create-premium-packaging-brief.md +61 -0
  236. package/squads/squad-artdir/tasks/create-wireflow.md +84 -0
  237. package/squads/squad-artdir/tasks/design-color-system.md +81 -0
  238. package/squads/squad-artdir/tasks/design-product-surface.md +60 -0
  239. package/squads/squad-artdir/tasks/design-token-system.md +58 -0
  240. package/squads/squad-artdir/tasks/diagnose-visual-language.md +92 -0
  241. package/squads/squad-artdir/tasks/first-5-minutes-choreography.md +65 -0
  242. package/squads/squad-artdir/tasks/specify-motion-system.md +84 -0
  243. package/squads/squad-artdir/tasks/validate-against-pillars.md +143 -0
  244. package/squads/squad-artdir/templates/art-direction-brief-template.md +215 -0
  245. package/squads/squad-artdir/workflows/conversion-audit-cycle.yaml +78 -0
  246. package/squads/squad-artdir/workflows/full-art-direction-cycle.yaml +98 -0
  247. package/squads/squad-artdir/workflows/saas-platform-art-direction-cycle.yaml +174 -0
  248. package/squads/squad-brand/knowledge-base/ai-visual-generation-canon.md +234 -0
  249. package/squads/squad-brand/squad.yaml +20 -6
  250. package/squads/squad-claude/knowledge-base/context-window-optimization.md +1 -1
  251. package/squads/squad-claude/knowledge-base/swarm-orchestration-patterns.md +2 -2
  252. package/squads/squad-content/knowledge-base/ai-native-content-loop.md +220 -0
  253. package/squads/squad-content/knowledge-base/signal-intelligence-v2.md +234 -0
  254. package/squads/squad-content/knowledge-base/task-ownership-map.md +235 -0
  255. package/squads/squad-content/squad.yaml +187 -27
  256. package/squads/squad-copy/knowledge-base/ai-copy-human-loop-canon.md +235 -0
  257. package/squads/squad-copy/squad.yaml +19 -4
  258. package/squads/squad-design/knowledge-base/cross-surface-token-canon.md +209 -0
  259. package/squads/squad-design/squad.yaml +19 -4
  260. package/.sinapse-ai/core/registry/service-registry.json +0 -6346
  261. package/.sinapse-ai/data/registry-update-log.jsonl +0 -1323
  262. package/.sinapse-ai/manifests/agents.csv +0 -29
  263. package/.sinapse-ai/manifests/tasks.csv +0 -204
  264. package/.sinapse-ai/manifests/workers.csv +0 -196
  265. package/squads/squad-growth/tasks/calculate-sample-size.md +0 -121
  266. package/squads/squad-paidmedia/tasks/calculate-sample-size.md +0 -57
@@ -1,197 +1,197 @@
1
- # =============================================================================
2
- # SINAPSE Release Automation Template
3
- # =============================================================================
4
- # Template for user projects created with SINAPSE-FULLSTACK
5
- # Generated by: *setup-github task (Story 5.10)
6
- #
7
- # Features:
8
- # - Triggered on version tags (v*)
9
- # - Automatic changelog generation
10
- # - GitHub Release creation
11
- # - Optional NPM publishing
12
- # =============================================================================
13
-
14
- name: Release
15
-
16
- on:
17
- push:
18
- tags:
19
- - 'v*'
20
- workflow_dispatch:
21
- inputs:
22
- tag:
23
- description: 'Release tag (e.g., v1.0.0)'
24
- required: true
25
- default: 'v1.0.0'
26
-
27
- env:
28
- NODE_VERSION: '{{NODE_VERSION}}'
29
-
30
- jobs:
31
- # ===========================================================================
32
- # VALIDATION - Ensure code quality before release
33
- # ===========================================================================
34
- validate:
35
- name: Validate
36
- runs-on: ubuntu-latest
37
- steps:
38
- - name: Checkout code
39
- uses: actions/checkout@v4
40
-
41
- - name: Setup Node.js
42
- uses: actions/setup-node@v4
43
- with:
44
- node-version: ${{ env.NODE_VERSION }}
45
- cache: 'npm'
46
-
47
- - name: Install dependencies
48
- run: npm ci
49
-
50
- - name: Run lint
51
- run: {{LINT_COMMAND}}
52
-
53
- - name: Run typecheck
54
- run: {{TYPECHECK_COMMAND}}
55
-
56
- - name: Run tests
57
- run: {{TEST_COMMAND}}
58
-
59
- - name: Build
60
- run: {{BUILD_COMMAND}}
61
-
62
- # ===========================================================================
63
- # CREATE RELEASE
64
- # ===========================================================================
65
- create-release:
66
- name: Create Release
67
- runs-on: ubuntu-latest
68
- needs: validate
69
- outputs:
70
- release_id: ${{ steps.create_release.outputs.id }}
71
- version: ${{ steps.version.outputs.version }}
72
- steps:
73
- - name: Checkout code
74
- uses: actions/checkout@v4
75
- with:
76
- fetch-depth: 0 # Full history for changelog
77
-
78
- - name: Extract version from tag
79
- id: version
80
- run: |
81
- if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then
82
- TAG="${{ github.event.inputs.tag }}"
83
- else
84
- TAG="${{ github.ref_name }}"
85
- fi
86
- VERSION=${TAG#v}
87
- echo "version=$VERSION" >> $GITHUB_OUTPUT
88
- echo "tag=$TAG" >> $GITHUB_OUTPUT
89
-
90
- - name: Generate changelog
91
- id: changelog
92
- run: |
93
- echo "## 📋 What's New in v${{ steps.version.outputs.version }}" > CHANGELOG.md
94
- echo "" >> CHANGELOG.md
95
-
96
- # Get commits since last tag
97
- LAST_TAG=$(git describe --tags --abbrev=0 HEAD^ 2>/dev/null || echo "")
98
- if [ -n "$LAST_TAG" ]; then
99
- echo "### 🔄 Changes since $LAST_TAG:" >> CHANGELOG.md
100
- echo "" >> CHANGELOG.md
101
-
102
- # Group commits by type
103
- echo "#### Features" >> CHANGELOG.md
104
- git log --pretty=format:"* %s (%h)" $LAST_TAG..HEAD | grep -E "^\\* feat" >> CHANGELOG.md || echo "* No new features" >> CHANGELOG.md
105
- echo "" >> CHANGELOG.md
106
-
107
- echo "#### Bug Fixes" >> CHANGELOG.md
108
- git log --pretty=format:"* %s (%h)" $LAST_TAG..HEAD | grep -E "^\\* fix" >> CHANGELOG.md || echo "* No bug fixes" >> CHANGELOG.md
109
- echo "" >> CHANGELOG.md
110
-
111
- echo "#### Other Changes" >> CHANGELOG.md
112
- git log --pretty=format:"* %s (%h)" $LAST_TAG..HEAD | grep -vE "^\\* (feat|fix)" >> CHANGELOG.md || echo "* No other changes" >> CHANGELOG.md
113
- else
114
- echo "### 🎉 Initial Release" >> CHANGELOG.md
115
- echo "" >> CHANGELOG.md
116
- git log --pretty=format:"* %s (%h)" HEAD~10..HEAD >> CHANGELOG.md 2>/dev/null || echo "* Initial release" >> CHANGELOG.md
117
- fi
118
-
119
- echo "" >> CHANGELOG.md
120
- echo "---" >> CHANGELOG.md
121
- echo "*Released by SINAPSE Release Automation*" >> CHANGELOG.md
122
-
123
- - name: Create Release
124
- id: create_release
125
- env:
126
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
127
- run: |
128
- # Create the release using GitHub CLI
129
- gh release create "${{ steps.version.outputs.tag }}" \
130
- --title "{{PROJECT_NAME}} ${{ steps.version.outputs.tag }}" \
131
- --notes-file CHANGELOG.md \
132
- --verify-tag || true
133
-
134
- # Get release info for outputs
135
- RELEASE_INFO=$(gh api repos/${{ github.repository }}/releases/tags/${{ steps.version.outputs.tag }})
136
- echo "id=$(echo "$RELEASE_INFO" | jq -r '.id')" >> $GITHUB_OUTPUT
137
-
138
- # ===========================================================================
139
- # BUILD AND UPLOAD ASSETS
140
- # ===========================================================================
141
- build-and-upload:
142
- name: Build Assets
143
- needs: create-release
144
- runs-on: ubuntu-latest
145
- steps:
146
- - name: Checkout code
147
- uses: actions/checkout@v4
148
-
149
- - name: Setup Node.js
150
- uses: actions/setup-node@v4
151
- with:
152
- node-version: ${{ env.NODE_VERSION }}
153
- cache: 'npm'
154
-
155
- - name: Install dependencies
156
- run: npm ci
157
-
158
- - name: Build
159
- run: {{BUILD_COMMAND}}
160
-
161
- - name: Create distribution archive
162
- run: |
163
- VERSION="${{ needs.create-release.outputs.version }}"
164
- tar -czf {{PROJECT_NAME}}-${VERSION}.tar.gz \
165
- --exclude=node_modules \
166
- --exclude=.git \
167
- --exclude='*.log' \
168
- .
169
-
170
- - name: Upload Release Asset
171
- env:
172
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
173
- run: |
174
- VERSION="${{ needs.create-release.outputs.version }}"
175
- gh release upload "${{ github.ref_name }}" \
176
- "{{PROJECT_NAME}}-${VERSION}.tar.gz" \
177
- --clobber
178
-
179
- # ===========================================================================
180
- # NOTIFY
181
- # ===========================================================================
182
- notify:
183
- name: Notify
184
- needs: [create-release, build-and-upload]
185
- if: always()
186
- runs-on: ubuntu-latest
187
- steps:
188
- - name: Notify completion
189
- run: |
190
- if [ "${{ needs.build-and-upload.result }}" = "success" ]; then
191
- echo "🎉 Release ${{ github.ref_name }} created successfully!"
192
- echo "🔗 Release URL: https://github.com/${{ github.repository }}/releases/tag/${{ github.ref_name }}"
193
- else
194
- echo "❌ Release process encountered issues"
195
- exit 1
196
- fi
197
-
1
+ # =============================================================================
2
+ # SINAPSE Release Automation Template
3
+ # =============================================================================
4
+ # Template for user projects created with SINAPSE-FULLSTACK
5
+ # Generated by: *setup-github task (Story 5.10)
6
+ #
7
+ # Features:
8
+ # - Triggered on version tags (v*)
9
+ # - Automatic changelog generation
10
+ # - GitHub Release creation
11
+ # - Optional NPM publishing
12
+ # =============================================================================
13
+
14
+ name: Release
15
+
16
+ on:
17
+ push:
18
+ tags:
19
+ - 'v*'
20
+ workflow_dispatch:
21
+ inputs:
22
+ tag:
23
+ description: 'Release tag (e.g., v1.0.0)'
24
+ required: true
25
+ default: 'v1.0.0'
26
+
27
+ env:
28
+ NODE_VERSION: '{{NODE_VERSION}}'
29
+
30
+ jobs:
31
+ # ===========================================================================
32
+ # VALIDATION - Ensure code quality before release
33
+ # ===========================================================================
34
+ validate:
35
+ name: Validate
36
+ runs-on: ubuntu-latest
37
+ steps:
38
+ - name: Checkout code
39
+ uses: actions/checkout@v4
40
+
41
+ - name: Setup Node.js
42
+ uses: actions/setup-node@v4
43
+ with:
44
+ node-version: ${{ env.NODE_VERSION }}
45
+ cache: 'npm'
46
+
47
+ - name: Install dependencies
48
+ run: npm ci
49
+
50
+ - name: Run lint
51
+ run: {{LINT_COMMAND}}
52
+
53
+ - name: Run typecheck
54
+ run: {{TYPECHECK_COMMAND}}
55
+
56
+ - name: Run tests
57
+ run: {{TEST_COMMAND}}
58
+
59
+ - name: Build
60
+ run: {{BUILD_COMMAND}}
61
+
62
+ # ===========================================================================
63
+ # CREATE RELEASE
64
+ # ===========================================================================
65
+ create-release:
66
+ name: Create Release
67
+ runs-on: ubuntu-latest
68
+ needs: validate
69
+ outputs:
70
+ release_id: ${{ steps.create_release.outputs.id }}
71
+ version: ${{ steps.version.outputs.version }}
72
+ steps:
73
+ - name: Checkout code
74
+ uses: actions/checkout@v4
75
+ with:
76
+ fetch-depth: 0 # Full history for changelog
77
+
78
+ - name: Extract version from tag
79
+ id: version
80
+ run: |
81
+ if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then
82
+ TAG="${{ github.event.inputs.tag }}"
83
+ else
84
+ TAG="${{ github.ref_name }}"
85
+ fi
86
+ VERSION=${TAG#v}
87
+ echo "version=$VERSION" >> $GITHUB_OUTPUT
88
+ echo "tag=$TAG" >> $GITHUB_OUTPUT
89
+
90
+ - name: Generate changelog
91
+ id: changelog
92
+ run: |
93
+ echo "## 📋 What's New in v${{ steps.version.outputs.version }}" > CHANGELOG.md
94
+ echo "" >> CHANGELOG.md
95
+
96
+ # Get commits since last tag
97
+ LAST_TAG=$(git describe --tags --abbrev=0 HEAD^ 2>/dev/null || echo "")
98
+ if [ -n "$LAST_TAG" ]; then
99
+ echo "### 🔄 Changes since $LAST_TAG:" >> CHANGELOG.md
100
+ echo "" >> CHANGELOG.md
101
+
102
+ # Group commits by type
103
+ echo "#### Features" >> CHANGELOG.md
104
+ git log --pretty=format:"* %s (%h)" $LAST_TAG..HEAD | grep -E "^\\* feat" >> CHANGELOG.md || echo "* No new features" >> CHANGELOG.md
105
+ echo "" >> CHANGELOG.md
106
+
107
+ echo "#### Bug Fixes" >> CHANGELOG.md
108
+ git log --pretty=format:"* %s (%h)" $LAST_TAG..HEAD | grep -E "^\\* fix" >> CHANGELOG.md || echo "* No bug fixes" >> CHANGELOG.md
109
+ echo "" >> CHANGELOG.md
110
+
111
+ echo "#### Other Changes" >> CHANGELOG.md
112
+ git log --pretty=format:"* %s (%h)" $LAST_TAG..HEAD | grep -vE "^\\* (feat|fix)" >> CHANGELOG.md || echo "* No other changes" >> CHANGELOG.md
113
+ else
114
+ echo "### 🎉 Initial Release" >> CHANGELOG.md
115
+ echo "" >> CHANGELOG.md
116
+ git log --pretty=format:"* %s (%h)" HEAD~10..HEAD >> CHANGELOG.md 2>/dev/null || echo "* Initial release" >> CHANGELOG.md
117
+ fi
118
+
119
+ echo "" >> CHANGELOG.md
120
+ echo "---" >> CHANGELOG.md
121
+ echo "*Released by SINAPSE Release Automation*" >> CHANGELOG.md
122
+
123
+ - name: Create Release
124
+ id: create_release
125
+ env:
126
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
127
+ run: |
128
+ # Create the release using GitHub CLI
129
+ gh release create "${{ steps.version.outputs.tag }}" \
130
+ --title "{{PROJECT_NAME}} ${{ steps.version.outputs.tag }}" \
131
+ --notes-file CHANGELOG.md \
132
+ --verify-tag || true
133
+
134
+ # Get release info for outputs
135
+ RELEASE_INFO=$(gh api repos/${{ github.repository }}/releases/tags/${{ steps.version.outputs.tag }})
136
+ echo "id=$(echo "$RELEASE_INFO" | jq -r '.id')" >> $GITHUB_OUTPUT
137
+
138
+ # ===========================================================================
139
+ # BUILD AND UPLOAD ASSETS
140
+ # ===========================================================================
141
+ build-and-upload:
142
+ name: Build Assets
143
+ needs: create-release
144
+ runs-on: ubuntu-latest
145
+ steps:
146
+ - name: Checkout code
147
+ uses: actions/checkout@v4
148
+
149
+ - name: Setup Node.js
150
+ uses: actions/setup-node@v4
151
+ with:
152
+ node-version: ${{ env.NODE_VERSION }}
153
+ cache: 'npm'
154
+
155
+ - name: Install dependencies
156
+ run: npm ci
157
+
158
+ - name: Build
159
+ run: {{BUILD_COMMAND}}
160
+
161
+ - name: Create distribution archive
162
+ run: |
163
+ VERSION="${{ needs.create-release.outputs.version }}"
164
+ tar -czf {{PROJECT_NAME}}-${VERSION}.tar.gz \
165
+ --exclude=node_modules \
166
+ --exclude=.git \
167
+ --exclude='*.log' \
168
+ .
169
+
170
+ - name: Upload Release Asset
171
+ env:
172
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
173
+ run: |
174
+ VERSION="${{ needs.create-release.outputs.version }}"
175
+ gh release upload "${{ github.ref_name }}" \
176
+ "{{PROJECT_NAME}}-${VERSION}.tar.gz" \
177
+ --clobber
178
+
179
+ # ===========================================================================
180
+ # NOTIFY
181
+ # ===========================================================================
182
+ notify:
183
+ name: Notify
184
+ needs: [create-release, build-and-upload]
185
+ if: always()
186
+ runs-on: ubuntu-latest
187
+ steps:
188
+ - name: Notify completion
189
+ run: |
190
+ if [ "${{ needs.build-and-upload.result }}" = "success" ]; then
191
+ echo "🎉 Release ${{ github.ref_name }} created successfully!"
192
+ echo "🔗 Release URL: https://github.com/${{ github.repository }}/releases/tag/${{ github.ref_name }}"
193
+ else
194
+ echo "❌ Release process encountered issues"
195
+ exit 1
196
+ fi
197
+
@@ -1,19 +1,19 @@
1
- # ========================================
2
- # SINAPSE Integration Section
3
- # Added by SINAPSE Documentation Integrity System
4
- # Date: {{GENERATED_DATE}}
5
- # ========================================
6
-
7
- # SINAPSE Local Configuration
8
- .sinapse-ai/local/
9
- .sinapse-ai/*.local.yaml
10
- .sinapse-ai/logs/
11
- .sinapse-ai/cache/
12
-
13
- # SINAPSE Generated (optional - uncomment if needed)
14
- # .sinapse-ai/generated/
15
-
16
- # ========================================
17
- # End of SINAPSE Integration Section
18
- # ========================================
19
-
1
+ # ========================================
2
+ # SINAPSE Integration Section
3
+ # Added by SINAPSE Documentation Integrity System
4
+ # Date: {{GENERATED_DATE}}
5
+ # ========================================
6
+
7
+ # SINAPSE Local Configuration
8
+ .sinapse-ai/local/
9
+ .sinapse-ai/*.local.yaml
10
+ .sinapse-ai/logs/
11
+ .sinapse-ai/cache/
12
+
13
+ # SINAPSE Generated (optional - uncomment if needed)
14
+ # .sinapse-ai/generated/
15
+
16
+ # ========================================
17
+ # End of SINAPSE Integration Section
18
+ # ========================================
19
+
@@ -1,86 +1,86 @@
1
- # ========================================
2
- # Node.js Ignores
3
- # Generated by SINAPSE Documentation Integrity System
4
- # ========================================
5
-
6
- # Dependencies
7
- node_modules/
8
- .pnp
9
- .pnp.js
10
-
11
- # Build Output
12
- dist/
13
- build/
14
- out/
15
- .next/
16
- .nuxt/
17
- .output/
18
- .cache/
19
-
20
- # TypeScript
21
- *.tsbuildinfo
22
- .tscache/
23
-
24
- # Testing
25
- coverage/
26
- .nyc_output/
27
- junit.xml
28
- test-results/
29
-
30
- # Package Managers
31
- package-lock.json
32
- yarn.lock
33
- pnpm-lock.yaml
34
- .yarn/
35
- !.yarn/patches
36
- !.yarn/plugins
37
- !.yarn/releases
38
- !.yarn/sdks
39
- !.yarn/versions
40
-
41
- # ESLint
42
- .eslintcache
43
-
44
- # Prettier
45
- .prettiercache
46
-
47
- # Parcel / Bundlers
48
- .parcel-cache/
49
- .turbo/
50
- .vercel/
51
- .netlify/
52
-
53
- # Serverless
54
- .serverless/
55
-
56
- # Next.js
57
- .next/
58
- out/
59
-
60
- # Nuxt.js
61
- .nuxt/
62
- dist/
63
-
64
- # Gatsby
65
- .cache/
66
- public/
67
-
68
- # VuePress
69
- .vuepress/dist/
70
-
71
- # Storybook
72
- storybook-static/
73
-
74
- # dotenv environment variable files
75
- .env
76
- .env.development.local
77
- .env.test.local
78
- .env.production.local
79
- .env.local
80
-
81
- # Debug
82
- *.log
83
- npm-debug.log*
84
- yarn-debug.log*
85
- yarn-error.log*
86
-
1
+ # ========================================
2
+ # Node.js Ignores
3
+ # Generated by SINAPSE Documentation Integrity System
4
+ # ========================================
5
+
6
+ # Dependencies
7
+ node_modules/
8
+ .pnp
9
+ .pnp.js
10
+
11
+ # Build Output
12
+ dist/
13
+ build/
14
+ out/
15
+ .next/
16
+ .nuxt/
17
+ .output/
18
+ .cache/
19
+
20
+ # TypeScript
21
+ *.tsbuildinfo
22
+ .tscache/
23
+
24
+ # Testing
25
+ coverage/
26
+ .nyc_output/
27
+ junit.xml
28
+ test-results/
29
+
30
+ # Package Managers
31
+ package-lock.json
32
+ yarn.lock
33
+ pnpm-lock.yaml
34
+ .yarn/
35
+ !.yarn/patches
36
+ !.yarn/plugins
37
+ !.yarn/releases
38
+ !.yarn/sdks
39
+ !.yarn/versions
40
+
41
+ # ESLint
42
+ .eslintcache
43
+
44
+ # Prettier
45
+ .prettiercache
46
+
47
+ # Parcel / Bundlers
48
+ .parcel-cache/
49
+ .turbo/
50
+ .vercel/
51
+ .netlify/
52
+
53
+ # Serverless
54
+ .serverless/
55
+
56
+ # Next.js
57
+ .next/
58
+ out/
59
+
60
+ # Nuxt.js
61
+ .nuxt/
62
+ dist/
63
+
64
+ # Gatsby
65
+ .cache/
66
+ public/
67
+
68
+ # VuePress
69
+ .vuepress/dist/
70
+
71
+ # Storybook
72
+ storybook-static/
73
+
74
+ # dotenv environment variable files
75
+ .env
76
+ .env.development.local
77
+ .env.test.local
78
+ .env.production.local
79
+ .env.local
80
+
81
+ # Debug
82
+ *.log
83
+ npm-debug.log*
84
+ yarn-debug.log*
85
+ yarn-error.log*
86
+