@ripla/godd-mcp 1.0.4-canary.8 → 1.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 (348) hide show
  1. package/README.md +89 -94
  2. package/dist/godd.cjs +349 -233
  3. package/dist/godd.js +2193 -838
  4. package/dist/index.js +152 -122
  5. package/{notes-api → notes/api}/.env.example +6 -1
  6. package/{notes-api → notes/api}/README.md +6 -5
  7. package/{notes-api → notes/api}/app/main.py +29 -2
  8. package/{notes-api → notes/api}/app/routers/auth.py +6 -1
  9. package/{notes-api → notes/api}/app/routers/issues.py +157 -1
  10. package/{notes-api → notes/api}/app/routers/pr.py +2 -2
  11. package/{notes-api → notes/api}/app/services/github_app_token.py +32 -1
  12. package/{notes-api → notes/api}/app/services/github_issues.py +101 -11
  13. package/{notes-api → notes/api}/app/services/github_pr.py +6 -1
  14. package/{notes-api → notes/api}/tests/test_github_app_token.py +49 -1
  15. package/{notes-api → notes/api}/tests/test_github_service.py +42 -0
  16. package/notes/api/tests/test_health.py +52 -0
  17. package/{notes-api → notes/api}/tests/test_issues.py +216 -0
  18. package/{notes-api → notes/api}/tests/test_pr.py +24 -0
  19. package/{notes-api → notes/api}/tests/test_pr_chain.py +19 -0
  20. package/{notes-api → notes/api}/uv.lock +178 -2
  21. package/notes/app/DESIGN.md +273 -0
  22. package/{notes-app → notes/app}/README.md +4 -1
  23. package/notes/app/docker/Dockerfile.e2e +19 -0
  24. package/notes/app/docker/Dockerfile.prod +15 -0
  25. package/notes/app/docker/Dockerfile.test +17 -0
  26. package/notes/app/e2e/file-tree.spec.ts +26 -0
  27. package/notes/app/e2e/file-view.spec.ts +25 -0
  28. package/notes/app/e2e/fixtures.ts +28 -0
  29. package/{notes-app → notes/app}/e2e/global-setup.ts +5 -7
  30. package/notes/app/e2e/login.spec.ts +25 -0
  31. package/notes/app/e2e/pages/login-page.ts +29 -0
  32. package/notes/app/e2e/pages/main-page.ts +29 -0
  33. package/notes/app/e2e/panel-resize-handle.spec.ts +213 -0
  34. package/{notes-app → notes/app}/eslint.config.js +9 -0
  35. package/{notes-app → notes/app}/package.json +0 -3
  36. package/{notes-app → notes/app}/pnpm-workspace.yaml +1 -0
  37. package/notes/app/src/components/CommentPanel.test.tsx +194 -0
  38. package/{notes-app → notes/app}/src/components/CommentPanel.tsx +119 -10
  39. package/notes/app/src/components/CommentSelectionPopover.tsx +26 -0
  40. package/notes/app/src/components/EditToolbar.test.tsx +102 -0
  41. package/{notes-app → notes/app}/src/components/EditToolbar.tsx +5 -54
  42. package/notes/app/src/components/FileInfoPanel.branch-tab.test.tsx +250 -0
  43. package/notes/app/src/components/FileInfoPanel.history-tab.test.tsx +146 -0
  44. package/notes/app/src/components/FileInfoPanel.test.tsx +101 -0
  45. package/{notes-app → notes/app}/src/components/FileInfoPanel.tsx +135 -20
  46. package/notes/app/src/components/IssueCommentThread.test.tsx +93 -0
  47. package/notes/app/src/components/IssueCommentThread.tsx +156 -0
  48. package/notes/app/src/components/IssueDetailView.test.tsx +1118 -0
  49. package/notes/app/src/components/IssueDetailView.tsx +476 -0
  50. package/notes/app/src/components/IssueList.test.tsx +545 -0
  51. package/notes/app/src/components/IssueList.tsx +374 -0
  52. package/{notes-app → notes/app}/src/components/LabelSelector.test.tsx +94 -8
  53. package/notes/app/src/components/LabelSelector.tsx +452 -0
  54. package/{notes-app → notes/app}/src/components/MarkdownEditor.tsx +140 -2
  55. package/notes/app/src/components/PanelResizeHandle.test.tsx +481 -0
  56. package/notes/app/src/components/PanelResizeHandle.tsx +96 -0
  57. package/{notes-app → notes/app}/src/hooks/useEditSession.test.ts +171 -23
  58. package/{notes-app → notes/app}/src/hooks/useEditSession.ts +49 -62
  59. package/notes/app/src/hooks/useMdUpLayout.test.ts +10 -0
  60. package/notes/app/src/hooks/useMdUpLayout.ts +27 -0
  61. package/notes/app/src/hooks/usePeriodicSync.test.ts +244 -0
  62. package/notes/app/src/hooks/usePeriodicSync.ts +83 -0
  63. package/notes/app/src/hooks/useResizablePanelWidth.test.ts +251 -0
  64. package/notes/app/src/hooks/useResizablePanelWidth.ts +167 -0
  65. package/{notes-app → notes/app}/src/lib/api.test.ts +81 -1
  66. package/{notes-app → notes/app}/src/lib/api.ts +98 -4
  67. package/notes/app/src/lib/commentAnchor.test.ts +22 -0
  68. package/notes/app/src/lib/commentAnchor.ts +28 -0
  69. package/notes/app/src/lib/commentHighlight.test.ts +110 -0
  70. package/notes/app/src/lib/commentHighlight.ts +44 -0
  71. package/notes/app/src/lib/github-sync.test.ts +126 -0
  72. package/notes/app/src/lib/github-sync.ts +89 -0
  73. package/notes/app/src/lib/issue-list-utils.test.ts +275 -0
  74. package/notes/app/src/lib/issue-list-utils.ts +135 -0
  75. package/notes/app/src/lib/issue-mobile-layout.test.ts +17 -0
  76. package/notes/app/src/lib/issue-mobile-layout.ts +20 -0
  77. package/notes/app/src/lib/issue-url-sync.test.ts +73 -0
  78. package/notes/app/src/lib/issue-url-sync.ts +43 -0
  79. package/notes/app/src/lib/main-page-default-view.test.ts +37 -0
  80. package/notes/app/src/lib/main-page-default-view.ts +15 -0
  81. package/notes/app/src/lib/resizable-panel.test.ts +199 -0
  82. package/notes/app/src/lib/resizable-panel.ts +136 -0
  83. package/notes/app/src/pages/LoginPage.test.tsx +17 -0
  84. package/notes/app/src/pages/MainPage.branch-modal.test.tsx +226 -0
  85. package/notes/app/src/pages/MainPage.issue-sync.test.tsx +145 -0
  86. package/notes/app/src/pages/MainPage.sidebar.test.tsx +361 -0
  87. package/{notes-app → notes/app}/src/pages/MainPage.tsx +406 -61
  88. package/{notes-app → notes/app}/src/pages/SettingsPage.test.tsx +32 -23
  89. package/{notes-app → notes/app}/src/pages/UserManagementPage.test.tsx +8 -18
  90. package/notes/app/src/test/mocks.ts +156 -0
  91. package/notes/app/src/test/render.tsx +27 -0
  92. package/package.json +3 -5
  93. package/notes-api/tests/test_health.py +0 -11
  94. package/notes-app/docker/Dockerfile.e2e +0 -14
  95. package/notes-app/docker/Dockerfile.prod +0 -12
  96. package/notes-app/docker/Dockerfile.test +0 -12
  97. package/notes-app/e2e/file-tree.spec.ts +0 -29
  98. package/notes-app/e2e/file-view.spec.ts +0 -24
  99. package/notes-app/e2e/login.spec.ts +0 -32
  100. package/notes-app/src/components/IssueDetailView.test.tsx +0 -201
  101. package/notes-app/src/components/IssueDetailView.tsx +0 -318
  102. package/notes-app/src/components/IssueList.test.tsx +0 -93
  103. package/notes-app/src/components/IssueList.tsx +0 -169
  104. package/notes-app/src/components/LabelSelector.tsx +0 -276
  105. package/notes-app/src/pages/LoginPage.test.tsx +0 -29
  106. package/stacks/django-vue.yaml +0 -33
  107. package/stacks/fastapi-react.yaml +0 -160
  108. package/stacks/flutter-firebase.yaml +0 -58
  109. package/stacks/nextjs-prisma.yaml +0 -33
  110. package/stacks/schema.json +0 -144
  111. package/templates/agents/architect.hbs +0 -183
  112. package/templates/agents/auto-documenter.hbs +0 -36
  113. package/templates/agents/backend-developer.hbs +0 -175
  114. package/templates/agents/code-reviewer.hbs +0 -29
  115. package/templates/agents/database-developer.hbs +0 -52
  116. package/templates/agents/debug-specialist.hbs +0 -39
  117. package/templates/agents/environment-setup.hbs +0 -41
  118. package/templates/agents/frontend-developer.hbs +0 -45
  119. package/templates/agents/integration-qa.hbs +0 -26
  120. package/templates/agents/performance-qa.hbs +0 -24
  121. package/templates/agents/pr-writer.hbs +0 -53
  122. package/templates/agents/quality-lead.hbs +0 -26
  123. package/templates/agents/requirements-analyst.hbs +0 -26
  124. package/templates/agents/security-analyst.hbs +0 -21
  125. package/templates/agents/security-reviewer.hbs +0 -20
  126. package/templates/agents/ssot-updater.hbs +0 -45
  127. package/templates/agents/technical-writer.hbs +0 -28
  128. package/templates/agents/unit-test-engineer.hbs +0 -19
  129. package/templates/agents/user-clone.hbs +0 -43
  130. package/templates/github-actions/aws/deploy-notes.yml.hbs +0 -117
  131. package/templates/github-actions/azure/deploy-notes.yml.hbs +0 -78
  132. package/templates/github-actions/gcp/deploy-notes.yml.hbs +0 -76
  133. package/templates/github-actions/vercel-railway/deploy-notes.yml.hbs +0 -49
  134. package/templates/mindsets/agent-stdio.hbs +0 -51
  135. package/templates/mindsets/dart.hbs +0 -39
  136. package/templates/mindsets/ddd-clean-architecture.hbs +0 -52
  137. package/templates/mindsets/electron.hbs +0 -41
  138. package/templates/mindsets/fastapi.hbs +0 -40
  139. package/templates/mindsets/flutter.hbs +0 -56
  140. package/templates/mindsets/kotlin.hbs +0 -46
  141. package/templates/mindsets/postgresql.hbs +0 -39
  142. package/templates/mindsets/python.hbs +0 -39
  143. package/templates/mindsets/react.hbs +0 -51
  144. package/templates/mindsets/swift.hbs +0 -46
  145. package/templates/mindsets/terraform.hbs +0 -53
  146. package/templates/mindsets/typescript.hbs +0 -34
  147. package/templates/mindsets/vite.hbs +0 -37
  148. package/templates/notes-compose.yml +0 -82
  149. package/templates/partials/cogito-geo.hbs +0 -84
  150. package/templates/partials/cogito-godd.hbs +0 -22
  151. package/templates/partials/cogito-grammar.hbs +0 -105
  152. package/templates/partials/cogito-particle.hbs +0 -76
  153. package/templates/partials/cogito-root-ai.hbs +0 -79
  154. package/templates/partials/cogito-root-arch.hbs +0 -75
  155. package/templates/partials/cogito-root-core.hbs +0 -75
  156. package/templates/partials/cogito-root-daily.hbs +0 -58
  157. package/templates/partials/cogito-root-dev.hbs +0 -71
  158. package/templates/partials/cogito-root-devops.hbs +0 -71
  159. package/templates/partials/cogito-root-framework.hbs +0 -80
  160. package/templates/partials/cogito-root-lang.hbs +0 -74
  161. package/templates/partials/godd-core.hbs +0 -50
  162. package/templates/partials/project-context.hbs +0 -52
  163. package/templates/partials/ssot-header.hbs +0 -40
  164. package/templates/partials/ssot-rules.hbs +0 -30
  165. package/templates/prompts/adr.hbs +0 -39
  166. package/templates/prompts/agent-dev-workflow.hbs +0 -34
  167. package/templates/prompts/analyze-report.hbs +0 -36
  168. package/templates/prompts/auto-documentation.hbs +0 -37
  169. package/templates/prompts/check.hbs +0 -52
  170. package/templates/prompts/commit.hbs +0 -96
  171. package/templates/prompts/dev.hbs +0 -127
  172. package/templates/prompts/docs-init.hbs +0 -101
  173. package/templates/prompts/docs-update.hbs +0 -51
  174. package/templates/prompts/git-workflow.hbs +0 -125
  175. package/templates/prompts/impact-analysis.hbs +0 -43
  176. package/templates/prompts/install.hbs +0 -40
  177. package/templates/prompts/new-branch.hbs +0 -61
  178. package/templates/prompts/notes-deploy.hbs +0 -138
  179. package/templates/prompts/pr-analyze.hbs +0 -44
  180. package/templates/prompts/pr-create.hbs +0 -125
  181. package/templates/prompts/push-execute.hbs +0 -83
  182. package/templates/prompts/push.hbs +0 -24
  183. package/templates/prompts/release-notes.hbs +0 -38
  184. package/templates/prompts/requirements-to-business-flow.hbs +0 -29
  185. package/templates/prompts/requirements-to-tickets.hbs +0 -26
  186. package/templates/prompts/review.hbs +0 -126
  187. package/templates/prompts/setup.hbs +0 -247
  188. package/templates/prompts/spec.hbs +0 -35
  189. package/templates/prompts/specification-to-tickets.hbs +0 -24
  190. package/templates/prompts/submit.hbs +0 -143
  191. package/templates/prompts/sync.hbs +0 -63
  192. package/templates/prompts/test-plan.hbs +0 -56
  193. package/templates/scripts/aws/terraform-backend-setup.sh.hbs +0 -149
  194. package/templates/terraform/aws/alb.tf.hbs +0 -58
  195. package/templates/terraform/aws/backend.tf.hbs +0 -10
  196. package/templates/terraform/aws/cloudfront.tf.hbs +0 -96
  197. package/templates/terraform/aws/ecr.tf.hbs +0 -30
  198. package/templates/terraform/aws/ecs.tf.hbs +0 -142
  199. package/templates/terraform/aws/iam.tf.hbs +0 -88
  200. package/templates/terraform/aws/local.tf.hbs +0 -34
  201. package/templates/terraform/aws/output.tf.hbs +0 -49
  202. package/templates/terraform/aws/provider.tf.hbs +0 -26
  203. package/templates/terraform/aws/rds.tf.hbs +0 -38
  204. package/templates/terraform/aws/s3.tf.hbs +0 -34
  205. package/templates/terraform/aws/secrets.tf.hbs +0 -53
  206. package/templates/terraform/aws/security_groups.tf.hbs +0 -81
  207. package/templates/terraform/aws/vpc.tf.hbs +0 -63
  208. package/templates/terraform/azure/backend.tf.hbs +0 -8
  209. package/templates/terraform/azure/iam.tf.hbs +0 -36
  210. package/templates/terraform/azure/main.tf.hbs +0 -203
  211. package/templates/terraform/azure/output.tf.hbs +0 -19
  212. package/templates/terraform/azure/provider.tf.hbs +0 -19
  213. package/templates/terraform/gcp/backend.tf.hbs +0 -6
  214. package/templates/terraform/gcp/iam.tf.hbs +0 -47
  215. package/templates/terraform/gcp/main.tf.hbs +0 -175
  216. package/templates/terraform/gcp/output.tf.hbs +0 -15
  217. package/templates/terraform/gcp/provider.tf.hbs +0 -19
  218. package/templates/terraform/vercel-railway/main.tf.hbs +0 -64
  219. package/templates/terraform/vercel-railway/output.tf.hbs +0 -11
  220. /package/{notes-api → notes/api}/.dockerignore +0 -0
  221. /package/{notes-api → notes/api}/alembic/README +0 -0
  222. /package/{notes-api → notes/api}/alembic/env.py +0 -0
  223. /package/{notes-api → notes/api}/alembic/script.py.mako +0 -0
  224. /package/{notes-api → notes/api}/alembic/versions/001_initial_notes_tables.py +0 -0
  225. /package/{notes-api → notes/api}/alembic/versions/002_add_performance_indexes.py +0 -0
  226. /package/{notes-api → notes/api}/alembic/versions/003_add_yjs_documents.py +0 -0
  227. /package/{notes-api → notes/api}/alembic/versions/004_add_comments.py +0 -0
  228. /package/{notes-api → notes/api}/alembic/versions/005_add_github_username.py +0 -0
  229. /package/{notes-api → notes/api}/alembic/versions/006_add_check_constraints.py +0 -0
  230. /package/{notes-api → notes/api}/alembic.ini +0 -0
  231. /package/{notes-api → notes/api}/app/__init__.py +0 -0
  232. /package/{notes-api → notes/api}/app/config.py +0 -0
  233. /package/{notes-api → notes/api}/app/database.py +0 -0
  234. /package/{notes-api → notes/api}/app/http_client.py +0 -0
  235. /package/{notes-api → notes/api}/app/models/__init__.py +0 -0
  236. /package/{notes-api → notes/api}/app/models/audit.py +0 -0
  237. /package/{notes-api → notes/api}/app/models/base.py +0 -0
  238. /package/{notes-api → notes/api}/app/models/collab.py +0 -0
  239. /package/{notes-api → notes/api}/app/models/comment.py +0 -0
  240. /package/{notes-api → notes/api}/app/models/session.py +0 -0
  241. /package/{notes-api → notes/api}/app/models/setting.py +0 -0
  242. /package/{notes-api → notes/api}/app/models/user.py +0 -0
  243. /package/{notes-api → notes/api}/app/path_validation.py +0 -0
  244. /package/{notes-api → notes/api}/app/routers/__init__.py +0 -0
  245. /package/{notes-api → notes/api}/app/routers/collab.py +0 -0
  246. /package/{notes-api → notes/api}/app/routers/comments.py +0 -0
  247. /package/{notes-api → notes/api}/app/routers/files.py +0 -0
  248. /package/{notes-api → notes/api}/app/routers/settings.py +0 -0
  249. /package/{notes-api → notes/api}/app/routers/tree.py +0 -0
  250. /package/{notes-api → notes/api}/app/routers/upload.py +0 -0
  251. /package/{notes-api → notes/api}/app/routers/users.py +0 -0
  252. /package/{notes-api → notes/api}/app/schemas/__init__.py +0 -0
  253. /package/{notes-api → notes/api}/app/schemas/auth.py +0 -0
  254. /package/{notes-api → notes/api}/app/schemas/user.py +0 -0
  255. /package/{notes-api → notes/api}/app/security.py +0 -0
  256. /package/{notes-api → notes/api}/app/services/__init__.py +0 -0
  257. /package/{notes-api → notes/api}/app/services/audit.py +0 -0
  258. /package/{notes-api → notes/api}/app/services/business_date.py +0 -0
  259. /package/{notes-api → notes/api}/app/services/collab.py +0 -0
  260. /package/{notes-api → notes/api}/app/services/github.py +0 -0
  261. /package/{notes-api → notes/api}/app/services/pr_chain.py +0 -0
  262. /package/{notes-api → notes/api}/app/startup.py +0 -0
  263. /package/{notes-api → notes/api}/docker/Dockerfile +0 -0
  264. /package/{notes-api → notes/api}/docker/Dockerfile.test +0 -0
  265. /package/{notes-api → notes/api}/pyproject.toml +0 -0
  266. /package/{notes-api → notes/api}/tests/conftest.py +0 -0
  267. /package/{notes-api → notes/api}/tests/test_audit.py +0 -0
  268. /package/{notes-api → notes/api}/tests/test_auth.py +0 -0
  269. /package/{notes-api → notes/api}/tests/test_business_date.py +0 -0
  270. /package/{notes-api → notes/api}/tests/test_collab.py +0 -0
  271. /package/{notes-api → notes/api}/tests/test_comments.py +0 -0
  272. /package/{notes-api → notes/api}/tests/test_config_ssl.py +0 -0
  273. /package/{notes-api → notes/api}/tests/test_config_warnings.py +0 -0
  274. /package/{notes-api → notes/api}/tests/test_files.py +0 -0
  275. /package/{notes-api → notes/api}/tests/test_path_validation.py +0 -0
  276. /package/{notes-api → notes/api}/tests/test_security.py +0 -0
  277. /package/{notes-api → notes/api}/tests/test_settings.py +0 -0
  278. /package/{notes-api → notes/api}/tests/test_tree.py +0 -0
  279. /package/{notes-api → notes/api}/tests/test_upload.py +0 -0
  280. /package/{notes-api → notes/api}/tests/test_users.py +0 -0
  281. /package/{notes-app → notes/app}/.dockerignore +0 -0
  282. /package/{notes-app → notes/app}/index.html +0 -0
  283. /package/{notes-app → notes/app}/nginx.conf +0 -0
  284. /package/{notes-app → notes/app}/package-lock.json +0 -0
  285. /package/{notes-app → notes/app}/playwright.config.ts +0 -0
  286. /package/{notes-app → notes/app}/pnpm-lock.yaml +0 -0
  287. /package/{notes-app → notes/app}/src/App.tsx +0 -0
  288. /package/{notes-app → notes/app}/src/components/BranchSelectorModal.tsx +0 -0
  289. /package/{notes-app → notes/app}/src/components/CodeBlockView.test.tsx +0 -0
  290. /package/{notes-app → notes/app}/src/components/CodeBlockView.tsx +0 -0
  291. /package/{notes-app → notes/app}/src/components/CollabStatus.tsx +0 -0
  292. /package/{notes-app → notes/app}/src/components/DiffPreview.tsx +0 -0
  293. /package/{notes-app → notes/app}/src/components/DrawioEditor.tsx +0 -0
  294. /package/{notes-app → notes/app}/src/components/DrawioViewer.tsx +0 -0
  295. /package/{notes-app → notes/app}/src/components/ErrorBoundary.test.tsx +0 -0
  296. /package/{notes-app → notes/app}/src/components/ErrorBoundary.tsx +0 -0
  297. /package/{notes-app → notes/app}/src/components/FileContentView.tsx +0 -0
  298. /package/{notes-app → notes/app}/src/components/FileContextMenu.test.tsx +0 -0
  299. /package/{notes-app → notes/app}/src/components/FileContextMenu.tsx +0 -0
  300. /package/{notes-app → notes/app}/src/components/FileDialogs.test.tsx +0 -0
  301. /package/{notes-app → notes/app}/src/components/FileDialogs.tsx +0 -0
  302. /package/{notes-app → notes/app}/src/components/SaveStatusIndicator.test.tsx +0 -0
  303. /package/{notes-app → notes/app}/src/components/SaveStatusIndicator.tsx +0 -0
  304. /package/{notes-app → notes/app}/src/components/Skeleton.tsx +0 -0
  305. /package/{notes-app → notes/app}/src/components/SpreadsheetEditor.test.tsx +0 -0
  306. /package/{notes-app → notes/app}/src/components/SpreadsheetEditor.tsx +0 -0
  307. /package/{notes-app → notes/app}/src/components/TextEditor.tsx +0 -0
  308. /package/{notes-app → notes/app}/src/components/ToastContainer.tsx +0 -0
  309. /package/{notes-app → notes/app}/src/components/TreeNode.tsx +0 -0
  310. /package/{notes-app → notes/app}/src/contexts/AuthContext.test.tsx +0 -0
  311. /package/{notes-app → notes/app}/src/contexts/AuthContext.tsx +0 -0
  312. /package/{notes-app → notes/app}/src/contexts/ToastContext.test.ts +0 -0
  313. /package/{notes-app → notes/app}/src/contexts/ToastContext.tsx +0 -0
  314. /package/{notes-app → notes/app}/src/hooks/useAutoSave.test.ts +0 -0
  315. /package/{notes-app → notes/app}/src/hooks/useAutoSave.ts +0 -0
  316. /package/{notes-app → notes/app}/src/hooks/useCollaboration.ts +0 -0
  317. /package/{notes-app → notes/app}/src/hooks/useComments.ts +0 -0
  318. /package/{notes-app → notes/app}/src/hooks/useYText.ts +0 -0
  319. /package/{notes-app → notes/app}/src/lib/branch-diff.test.ts +0 -0
  320. /package/{notes-app → notes/app}/src/lib/branch-diff.ts +0 -0
  321. /package/{notes-app → notes/app}/src/lib/created-file.test.ts +0 -0
  322. /package/{notes-app → notes/app}/src/lib/created-file.ts +0 -0
  323. /package/{notes-app → notes/app}/src/lib/csv-utils.test.ts +0 -0
  324. /package/{notes-app → notes/app}/src/lib/csv-utils.ts +0 -0
  325. /package/{notes-app → notes/app}/src/lib/deepLinkPathToSearch.test.ts +0 -0
  326. /package/{notes-app → notes/app}/src/lib/deepLinkPathToSearch.ts +0 -0
  327. /package/{notes-app → notes/app}/src/lib/draft-storage.test.ts +0 -0
  328. /package/{notes-app → notes/app}/src/lib/draft-storage.ts +0 -0
  329. /package/{notes-app → notes/app}/src/lib/mermaid-render.ts +0 -0
  330. /package/{notes-app → notes/app}/src/lib/postLoginRedirect.test.ts +0 -0
  331. /package/{notes-app → notes/app}/src/lib/postLoginRedirect.ts +0 -0
  332. /package/{notes-app → notes/app}/src/lib/tree-utils.ts +0 -0
  333. /package/{notes-app → notes/app}/src/lib/user-colors.ts +0 -0
  334. /package/{notes-app → notes/app}/src/lib/xlsx-utils.test.ts +0 -0
  335. /package/{notes-app → notes/app}/src/lib/xlsx-utils.ts +0 -0
  336. /package/{notes-app → notes/app}/src/main.tsx +0 -0
  337. /package/{notes-app → notes/app}/src/pages/LoginPage.tsx +0 -0
  338. /package/{notes-app → notes/app}/src/pages/MainPage.insertChildEntry.test.ts +0 -0
  339. /package/{notes-app → notes/app}/src/pages/SettingsPage.tsx +0 -0
  340. /package/{notes-app → notes/app}/src/pages/UserManagementPage.tsx +0 -0
  341. /package/{notes-app → notes/app}/src/styles/globals.css +0 -0
  342. /package/{notes-app → notes/app}/src/types.ts +0 -0
  343. /package/{notes-app → notes/app}/src/vite-env.d.ts +0 -0
  344. /package/{notes-app → notes/app}/tsconfig.json +0 -0
  345. /package/{notes-app → notes/app}/tsconfig.node.json +0 -0
  346. /package/{notes-app → notes/app}/vite.config.js +0 -0
  347. /package/{notes-app → notes/app}/vite.config.ts +0 -0
  348. /package/{notes-app → notes/app}/vitest.config.ts +0 -0
@@ -1,125 +0,0 @@
1
- {{> ssot-header }}
2
-
3
- {{> godd-core }}
4
-
5
- {{> ssot-rules }}
6
-
7
- {{> project-context }}
8
-
9
- {{> cogito-grammar }}
10
- {{> cogito-root-core }}
11
- {{> cogito-particle }}
12
- {{> cogito-godd }}
13
- {{> cogito-root-dev }}
14
-
15
- ## Purpose
16
- Execute **default branch sync → new branch creation → commit with proper granularity** as a unified workflow. The developer only needs to provide the branch name and purpose.
17
-
18
- ## References (detailed specs for each step)
19
- - sync: `godd_sync` tool
20
- - new-branch: `godd_new_branch` tool
21
- - commit: `godd_commit` tool
22
-
23
- ## Input
24
- - **branch_name** (required): Branch name to create (follows naming convention from `godd_new_branch`)
25
- - **purpose** (optional): What the branch is for (improves commit message accuracy)
26
- - **auto_confirm** (optional, default: false): When true, skip all user confirmations and execute the entire workflow automatically
27
-
28
- ## Auto-confirm Mode
29
- {{#if auto_confirm}}
30
- **auto_confirm is ENABLED** — All phases run without user confirmation. Conflicts are resolved by Agent's best judgment. Commit plans are executed immediately. Results are reported afterward.
31
- {{else}}
32
- **auto_confirm is DISABLED (default)** — Each phase pauses for user confirmation when decisions are needed.
33
- {{/if}}
34
-
35
- ## Agent Steps (MUST)
36
-
37
- ### Phase 1: Default Branch Sync (sync)
38
-
39
- 1. Run `git status` to check for uncommitted changes
40
- 2. If uncommitted changes exist, run `git stash --include-untracked`
41
- 3. Run `git fetch origin main` to get remote latest
42
- 4. Run `git merge origin/main` to sync
43
- - On conflict: Resolve using SSOT-priority policy (SSOT-compliant side first; integrate if both comply; ask user if uncertain)
44
- 5. If stashed, run `git stash pop` to restore (resolve conflicts if any)
45
-
46
- {{#if auto_confirm}}
47
- **Auto-confirm**: Agent resolves conflicts by best judgment and continues to Phase 2
48
- {{else}}
49
- **Abort condition**: If conflict resolution requires user confirmation, do NOT proceed to Phase 2 — wait for user input
50
- {{/if}}
51
-
52
- ### Phase 2: New Branch Creation (new-branch)
53
-
54
- 1. If uncommitted changes exist, run `git stash --include-untracked`
55
- 2. Run `git checkout -b <branch_name> origin/main` to create and switch
56
- - Phase 1 already synced main, so the latest main is the base
57
- 3. If stashed, run `git stash pop` to restore (resolve conflicts if any)
58
-
59
- {{#if auto_confirm}}
60
- **Auto-confirm**: If a branch with the same name already exists, delete it and recreate
61
- {{else}}
62
- **Abort condition**: If a branch with the same name already exists, ask the user
63
- {{/if}}
64
-
65
- ### Phase 3: Commit with Proper Granularity (commit)
66
-
67
- 1. Run `git status` / `git diff` to review changes
68
- - **If no changes**: Report "No changes to commit. Branch creation and sync complete." and exit
69
- 2. Classify changed files by **hard scope** (frontend / backend / repo-root) and create a commit plan by responsibility unit
70
- 3. Present the commit plan to the user and wait for approval
71
- 4. After approval, execute commits one by one following the plan
72
-
73
- {{#if auto_confirm}}
74
- **Auto-confirm**: Skip approval and execute commits immediately after creating the plan
75
- {{else}}
76
- **Abort condition**: Commit plan requires user approval (never auto-execute)
77
- {{/if}}
78
-
79
- ## Flow Overview
80
-
81
- ```
82
- [Start]
83
- |
84
- v
85
- Phase 1: sync (merge latest main)
86
- | |- Conflict -> resolve or abort for user confirmation
87
- | '- Success
88
- v
89
- Phase 2: new-branch (create branch)
90
- | |- Same name exists -> abort for user confirmation
91
- | '- Success
92
- v
93
- Phase 3: commit (responsibility-unit commits)
94
- | |- No changes -> report completion
95
- | |- Changes exist -> present commit plan -> wait for approval
96
- | '- After approval -> execute commits
97
- v
98
- [Complete]
99
- ```
100
-
101
- ## Output
102
- Report results progressively for each phase:
103
-
104
- ### Phase 1 Result
105
- - Sync result: Success / Conflicts resolved / Already up to date
106
- - Number of commits synced
107
-
108
- ### Phase 2 Result
109
- - Created branch name
110
- - Base point (origin/main commit hash)
111
- - Stash restore result
112
-
113
- ### Phase 3 Result
114
- - Commit plan (for user review)
115
- - Execution result: Each commit hash and message
116
- - Final state: `git status` / `git log --oneline -5`
117
-
118
- ### Final Summary
119
- ```
120
- [git-workflow complete]
121
- - Sync: Merged N commits from latest main
122
- - Branch: Created <branch_name> (base: <hash>)
123
- - Commits: Executed N commits
124
- - State: Clean / Uncommitted changes remain
125
- ```
@@ -1,43 +0,0 @@
1
- {{> ssot-header }}
2
-
3
- {{> godd-core }}
4
-
5
- {{> ssot-rules }}
6
-
7
- {{> project-context }}
8
-
9
- {{> cogito-grammar }}
10
- {{> cogito-root-core }}
11
- {{> cogito-particle }}
12
- {{> cogito-godd }}
13
- {{> cogito-root-dev }}
14
- {{> cogito-root-daily }}
15
-
16
- ## Purpose
17
- Identify the blast radius before making changes and prevent oversights.
18
- Evaluate from **all perspectives**: functional, performance, UX, security, and operational impact.
19
-
20
- ## Input
21
- - Change summary (what / why)
22
- - Target modules ({{#each stacks}}{{this.label}}{{#unless @last}} / {{/unless}}{{/each}})
23
- - Whether breaking changes exist
24
-
25
- ## Analysis Framework
26
- For each affected area, evaluate:
27
- 1. **Direct impact**: What changes and why
28
- 2. **Indirect impact**: What could be affected as a side effect
29
- 3. **Risk level**: HIGH / MEDIUM / LOW with justification
30
- 4. **Mitigation**: How to reduce or eliminate the risk
31
- 5. **Rollback plan**: How to undo the change if something goes wrong
32
-
33
- ## Output
34
- Markdown filling in each section of the impact-analysis template:
35
- - **Change overview**: What is being changed and why
36
- - **Affected modules/components**: List with impact type (direct/indirect)
37
- - **Breaking changes**: Yes/No, details if Yes
38
- - **Migration requirements**: Steps needed for existing data/users
39
- - **Rollback plan**: Step-by-step reversal procedure
40
- - **Risk matrix**: Impact × likelihood for each identified risk
41
- - **Test requirements**: What needs to be tested to verify the change is safe
42
-
43
- Mark unclear items as **TBD** and list questions at the end using the Question Template.
@@ -1,40 +0,0 @@
1
- {{> ssot-header }}
2
-
3
- {{> cogito-grammar }}
4
- {{> cogito-root-core }}
5
- {{> cogito-particle }}
6
- {{> cogito-godd }}
7
- {{> cogito-root-daily }}
8
-
9
- {{> ssot-rules }}
10
-
11
- {{> project-context }}
12
-
13
- ## Purpose
14
- Install and activate the specified tool/MCP server with environment-appropriate procedures.
15
-
16
- ## Supported Tools
17
- - **Context7**: Official pattern reference MCP
18
- - **Chrome DevTools MCP**: Browser debugging support (DevTools integration)
19
- - **MarkItDown MCP**: Document conversion (PDF/Office → Markdown)
20
- - **MCP OCR**: OCR (image/PDF text extraction)
21
- - **Serena**: Reference tracking/safe editing MCP
22
- - **Vibe ODF Read MCP**: ODF (.odt etc.) reading
23
- - Any other user-specified tool
24
-
25
- ## Input (fill by asking)
26
- - Tool name to install
27
- - OS (Windows/macOS/Linux)
28
- - Network constraints (internal/proxy)
29
- - Cursor MCP config scope (workspace/user)
30
-
31
- ## Output
32
- - **Installation steps** (commands in copy-paste-ready format)
33
- - **Activation/connectivity verification** steps
34
- - **Common failure points** and workarounds
35
- - **Operational rules** (when to use / when not to use)
36
-
37
- ## Rules
38
- - Do not guess when prerequisites are unclear. Ask the user first
39
- - Installation commands are highly environment-dependent; always confirm OS/network constraints
40
- - Include an example of adding to Cursor's MCP config (`.cursor/mcp.json`)
@@ -1,61 +0,0 @@
1
- {{> ssot-header }}
2
-
3
- {{> godd-core }}
4
-
5
- {{> ssot-rules }}
6
-
7
- {{> project-context }}
8
-
9
- {{> cogito-grammar }}
10
- {{> cogito-root-core }}
11
- {{> cogito-particle }}
12
- {{> cogito-godd }}
13
- {{> cogito-root-dev }}
14
-
15
- ## Purpose
16
- Safely stash any in-progress changes, create a new branch from the latest default branch, and restore the stashed changes. The developer only needs to provide the branch name (or purpose).
17
-
18
- ## Input
19
- - **branch_name** (required): The branch name to create. If not provided, the Agent proposes one based on the purpose and asks for confirmation
20
- - **base_branch** (optional): Base branch to create from. Defaults to `origin/main`
21
-
22
- ### Branch Naming Convention
23
- - Feature: `feat/<slug>`
24
- - UI implementation: `feat/<slug>-frontend` / `feat/<slug>-backend` (Front/Back separation required)
25
- - Bug fix: `fix/<slug>`
26
- - Documentation: `docs/<slug>`
27
- - Refactoring: `refactor/<slug>`
28
- - Other: `chore/<slug>`
29
-
30
- ## Agent Steps (MUST)
31
-
32
- ### Step 1: Check Current State
33
- 1. Run `git status` to check for uncommitted changes (staged / unstaged / untracked)
34
- 2. Record the current branch name via `git branch --show-current`
35
-
36
- ### Step 2: Stash Changes (only if uncommitted changes exist)
37
- 1. Run `git stash --include-untracked` to stash all changes
38
- 2. Verify stash succeeded (`git stash list` shows the entry at top)
39
- - **If no changes**: Skip stash, proceed to Step 3
40
-
41
- ### Step 3: Fetch Remote and Create Branch
42
- 1. Run `git fetch origin` to update remote
43
- 2. Run `git checkout -b <branch_name> <base_branch>` to create and switch to the new branch
44
- - If base_branch not specified: `git checkout -b <branch_name> origin/main`
45
- - If a branch with the same name already exists: Ask the user (overwrite or rename)
46
-
47
- ### Step 4: Restore Stashed Changes (only if stashed)
48
- 1. Run `git stash pop` to restore stashed changes
49
- 2. Check result:
50
- - **Success**: Complete
51
- - **Conflict**: Report conflicted files and resolve:
52
- - **Keep SSOT-compliant side**: If one side adheres to SSOT, adopt it
53
- - **Both compliant and integrable**: Integrate both
54
- - **Uncertain**: Ask the user (never guess)
55
-
56
- ## Output
57
- - **Created branch name**: Full branch name
58
- - **Base**: Which branch/commit it was created from
59
- - **Previous branch**: Branch name before switching
60
- - **Stash restore result**: Success / Conflicts / Not needed
61
- - **Current state**: `git status` summary
@@ -1,138 +0,0 @@
1
- {{> ssot-header }}
2
- {{> godd-core }}
3
- {{> project-context }}
4
-
5
- ## Purpose
6
-
7
- GoDD Notes(notes-app / notes-api)をデプロイする。
8
- AI エージェントが自律的にデプロイを完了できる手順を提供する。
9
-
10
- ## アーキテクチャ
11
-
12
- ```
13
- notes-app (React + Vite) ──proxy──▶ notes-api (FastAPI) ──▶ GitHub API
14
- :5175 :8000
15
- ```
16
-
17
- ## AI 向けデプロイフロー(推奨)
18
-
19
- ### フロー選択
20
-
21
- | 条件 | 使うコマンド |
22
- |------|-------------|
23
- | ローカルで試す / 開発環境 | `godd notes compose --auto` |
24
- | 設定をカスタマイズしたい | `godd notes compose --config <path>` |
25
- | AWS にデプロイ | `godd notes deploy -y` |
26
- | インフラとアプリ雛形を新規構築 | `godd notes infra` |
27
-
28
- ### A. ローカルデプロイ(最も簡単)
29
-
30
- **前提**: Docker が起動していること
31
-
32
- **ステップ 1**: 環境変数を設定
33
-
34
- ```bash
35
- export GITHUB_TOKEN=ghp_xxx
36
- export GITHUB_OWNER=owner
37
- export GITHUB_REPO=repo
38
- ```
39
-
40
- **ステップ 2**: 自動デプロイ
41
-
42
- ```bash
43
- godd notes compose --auto
44
- ```
45
-
46
- これで以下が自動実行される:
47
- 1. デフォルト設定で `.env` 生成(DB パスワード・JWT シークレット等は自動生成)
48
- 2. notes-api / notes-app / PostgreSQL を Docker Compose で起動
49
- 3. ヘルスチェック待機
50
-
51
- **ステップ 3**: 状態確認
52
-
53
- ```bash
54
- godd notes status
55
- ```
56
-
57
- **カスタム設定が必要な場合**:
58
-
59
- ```bash
60
- # 設定ファイルを作成
61
- cat > notes-config.json << 'EOF'
62
- {
63
- "deployDir": "./godd-notes",
64
- "githubToken": "ghp_xxx",
65
- "githubOwner": "owner",
66
- "githubRepo": "repo",
67
- "githubBranch": "main",
68
- "postgresPort": "5432",
69
- "notesApiPort": "3100",
70
- "notesAppPort": "5175"
71
- }
72
- EOF
73
-
74
- godd notes compose --config notes-config.json
75
- ```
76
-
77
- ### B. AWS デプロイ
78
-
79
- **前提**:
80
- - AWS CLI でログイン済み(`aws sts get-caller-identity` が成功すること)
81
- - `godd notes infra` でインフラ構築済み
82
- - `notes-api/` と `notes-app/` がデプロイ対象ルートに存在すること
83
- - `.godd-notes-infra.json` が存在すること
84
-
85
- ```bash
86
- godd notes deploy -y
87
- ```
88
-
89
- デプロイ後の確認:
90
-
91
- ```bash
92
- godd notes status
93
- ```
94
-
95
- ### C. デプロイ後の確認
96
-
97
- ```bash
98
- # ヘルスチェック
99
- curl http://localhost:3100/api/health
100
-
101
- # ログイン確認
102
- curl -X POST http://localhost:3100/api/auth/login \
103
- -H "Content-Type: application/json" \
104
- -d '{"username":"admin","password":"<生成されたパスワード>"}'
105
- ```
106
-
107
- ## 人間に委譲が必要な操作
108
-
109
- 以下は AI では自動化できない。人間に依頼すること:
110
-
111
- 1. **GitHub Token の発行**: https://github.com/settings/tokens
112
- - スコープ: `repo`(プライベートリポジトリ)または `public_repo`(パブリック)
113
- 2. **AWS SSO ログイン**: `aws sso login --profile <profile>` → ブラウザ認証
114
- 3. **DNS 設定**: カスタムドメインの CNAME/A レコード設定
115
- 4. **初回 Terraform apply**: `terraform init && terraform apply`(インフラ新規作成時)
116
-
117
- ## テスト実行(Docker 完全環境)
118
-
119
- ```bash
120
- docker compose --profile test run --rm notes-api-test
121
- docker compose --profile test run --rm notes-app-test
122
- ```
123
-
124
- ## トラブルシューティング
125
-
126
- | 症状 | 対処 |
127
- |------|------|
128
- | Docker not running | Docker Desktop を起動してもらう(人間に依頼) |
129
- | GitHub Token 未設定 | 環境変数 `GITHUB_TOKEN` を設定 |
130
- | ポート競合 | `--config` で別ポートを指定 |
131
- | ECS デプロイ遅延 | `godd notes status` で安定化を確認(5-10分) |
132
- | DB 接続エラー | `docker compose logs db` でログ確認 |
133
-
134
- ## 出力
135
-
136
- - デプロイ完了報告(URL・管理者情報)
137
- - 設定ファイル(`.godd-notes-compose.json` / `.godd-notes-infra.json`)
138
- - ヘルスチェック結果
@@ -1,44 +0,0 @@
1
- {{> ssot-header }}
2
-
3
- {{> godd-core }}
4
-
5
- {{> ssot-rules }}
6
-
7
- {{> project-context }}
8
-
9
- {{> cogito-grammar }}
10
- {{> cogito-root-core }}
11
- {{> cogito-particle }}
12
- {{> cogito-godd }}
13
- {{> cogito-root-dev }}
14
-
15
- ## Purpose
16
- Read the PR diff and organize **review perspectives / risks / additional information needed** (analysis).
17
-
18
- > **Scope clarification**: This tool focuses on **analysis** — organizing the information a reviewer needs.
19
- > PR body **generation** is handled by the dev workflow. This tool prepares the analytical foundation.
20
-
21
- ## Input
22
- - Background / purpose of the change
23
- - Change details (per file / feature)
24
- - Blast radius ({{#each stacks}}{{this.label}}{{#unless @last}} / {{/unless}}{{/each}})
25
- - Compatibility / migration requirements
26
- - Verification (commands / manual steps)
27
-
28
- ## Analysis Perspectives
29
- Evaluate each change through these lenses:
30
- 1. **Correctness**: Does the implementation match the spec/intent?
31
- 2. **Design**: Proper separation of concerns, dependency direction, SOLID
32
- 3. **Security**: Secret exposure, injection vectors, access control
33
- 4. **Performance**: N+1 queries, unnecessary full scans, missing indexes
34
- 5. **Operations**: Logging, error handling, migration safety, rollback path
35
- 6. **Test coverage**: Are changes adequately tested? Missing edge cases?
36
- 7. **Commit quality**: 1 commit = 1 responsibility? Clean history?
37
-
38
- ## Output
39
- Return Markdown with the following structure:
40
- - **Change summary**: What changed and why (1-3 sentences)
41
- - **Risk assessment**: HIGH / MEDIUM / LOW for each area
42
- - **Review focus areas**: Where reviewers should pay most attention
43
- - **Questions to confirm**: Information gaps that need answers before merge
44
- - **Suggested improvements**: Optional enhancements (not blockers)
@@ -1,125 +0,0 @@
1
- {{> ssot-header }}
2
-
3
- {{> cogito-grammar }}
4
- {{> cogito-root-core }}
5
- {{> cogito-particle }}
6
- {{> cogito-godd }}
7
- {{> cogito-root-dev }}
8
-
9
- {{> ssot-rules }}
10
-
11
- {{> project-context }}
12
-
13
- ## Purpose
14
- Create a **Pull Request** on GitHub with a well-structured body following the PR template (`docs/006_development_workflow/pr.template.md`). The Agent analyzes changes, generates PR content, and creates the PR.
15
-
16
- ## Auto-confirm Mode
17
- {{#if auto_confirm}}
18
- **auto_confirm is ENABLED** — Skip user review of the PR body. Create the PR immediately after generating content and report the URL afterward.
19
- {{else}}
20
- **auto_confirm is DISABLED (default)** — Present the generated PR body to the user for review before creating the PR.
21
- {{/if}}
22
-
23
- ## Draft Mode
24
- {{#if draft}}
25
- **draft is ENABLED** — Create the PR as a Draft PR.
26
- {{else}}
27
- **draft is DISABLED (default)** — Create the PR as a regular (ready for review) PR.
28
- {{/if}}
29
-
30
- ## PR Template (SSOT: `docs/006_development_workflow/pr.template.md`)
31
- The PR body MUST follow this structure:
32
-
33
- ### TL;DR (3-7 lines)
34
- - What / Why / How verified / Remaining risks (brief summary)
35
-
36
- ### Background / Purpose (Why)
37
- - Reason for this change, prerequisites, issues, expected outcomes
38
-
39
- ### Changes (What)
40
- - Bullet list at review-friendly granularity
41
-
42
- ### Impact Scope (Where)
43
- - Front / Back / Agent / Infra / Docs-Scripts (list affected areas)
44
-
45
- ### Compatibility / Migration (Breaking?)
46
- - Breaking changes: Yes / No
47
- - Migration steps (if applicable)
48
- - Rollback steps (if applicable)
49
-
50
- ### Verification (How verified)
51
- - Commands executed (e.g., `pnpm quality-gate`)
52
- - Manual checks (if applicable)
53
-
54
- ### Remaining Risks / Open Items (required)
55
- - E.g., "integration tests not run without DB environment"
56
-
57
- ### Notes
58
- - Monitoring / operational / constraint / background links
59
-
60
- ## Agent Steps (MUST)
61
-
62
- ### Step 1: Gather Information
63
- 1. Run `git branch --show-current` to get current branch name
64
- 2. Determine base branch:
65
- - Use user-specified base branch if provided
66
- - Default: `main`
67
- 3. Run `git log origin/<base>..HEAD --oneline` to list commits in the PR
68
- - **If no commits**: Report "No commits to create PR for" and exit
69
- 4. Run `git diff origin/<base>...HEAD --stat` to get change summary
70
- 5. Run `git diff origin/<base>...HEAD` to analyze detailed changes
71
- 6. Check if the branch has been pushed to remote:
72
- - Run `git ls-remote --heads origin <current-branch>`
73
- - **If not pushed**: Report "Branch not pushed to remote. Run `godd_push_execute` first." and exit
74
-
75
- ### Step 2: Generate PR Content
76
- 1. Analyze the commits and diffs from Step 1
77
- 2. Generate a **PR title**:
78
- - Use user-provided title if available
79
- - Otherwise, derive from branch name and change summary
80
- - Format: Concise description of the change (max 72 characters)
81
- 3. Generate **PR body** following the template structure above:
82
- - Fill in ALL sections based on actual changes (do NOT leave placeholders)
83
- - **TL;DR**: Summarize key changes in 3-7 bullet points
84
- - **Background**: Derive from commit messages and context
85
- - **Changes**: List all changes at appropriate granularity
86
- - **Impact Scope**: Map changed files to areas (Front/Back/Agent/Infra/Docs)
87
- - **Compatibility**: Check for breaking changes in API/schema/config
88
- - **Verification**: List quality gate results and manual verification done
89
- - **Remaining Risks**: Honestly assess what hasn't been verified
90
-
91
- ### Step 3: Present and Confirm
92
- 1. Present the generated PR title and body:
93
- ```
94
- PR Title: <generated title>
95
- Base: <base branch> ← Head: <current branch>
96
-
97
- --- PR Body ---
98
- <generated body>
99
- ```
100
- {{#if auto_confirm}}
101
- 2. **Auto-confirm enabled**: Skip review and proceed directly to Step 4
102
- {{else}}
103
- 2. Wait for user review and approval
104
- - If modifications are requested, revise and re-present
105
- {{/if}}
106
-
107
- ### Step 4: Create PR
108
- 1. Create the PR using `gh` CLI:
109
- ```
110
- gh pr create --title "<title>" --base <base_branch> --head <current_branch> --body "<body>"{{#if draft}} --draft{{/if}}
111
- ```
112
- - If `gh` is not available, provide the PR creation command and body for manual creation
113
- 2. Capture and report the PR URL
114
-
115
- ### Step 5: Post-creation
116
- 1. Report the PR URL
117
- 2. Run `gh pr view --json url,number,title,state` to verify creation
118
- 3. Suggest next steps (e.g., request reviewers, add labels)
119
-
120
- ## Output
121
- - **PR title**: Generated or user-provided
122
- - **PR body**: Complete PR template content
123
- - **PR URL**: Link to the created PR
124
- - **PR metadata**: Number, state, base/head branches
125
- - **Warnings** (if applicable): Missing verification, large diff, etc.
@@ -1,83 +0,0 @@
1
- {{> ssot-header }}
2
-
3
- {{> cogito-grammar }}
4
- {{> cogito-root-core }}
5
- {{> cogito-particle }}
6
- {{> cogito-godd }}
7
- {{> cogito-root-dev }}
8
-
9
- {{> ssot-rules }}
10
-
11
- {{> project-context }}
12
-
13
- ## Purpose
14
- Execute **pre-submission checks** and then **push to remote** (`git push`). The Agent runs the full check-then-push flow.
15
-
16
- ## Auto-confirm Mode
17
- {{#if auto_confirm}}
18
- **auto_confirm is ENABLED** — Skip user confirmation after pre-submission checks pass. Push immediately and report results afterward.
19
- {{else}}
20
- **auto_confirm is DISABLED (default)** — After pre-submission checks pass, present results to the user and wait for confirmation before pushing.
21
- {{/if}}
22
-
23
- ## Agent Steps (MUST)
24
-
25
- ### Step 1: Pre-flight Verification
26
- 1. Run `git status` to verify:
27
- - Current branch is NOT the default branch (main/master) — **abort if on default branch**
28
- - There are commits to push (compare with remote tracking branch)
29
- - No uncommitted changes remain (warn if any exist)
30
- 2. Run `git log origin/<current-branch>..HEAD --oneline` to list unpushed commits
31
- - If remote branch does not exist yet, run `git log --oneline -10` instead
32
- - **If no unpushed commits**: Report "No commits to push" and exit
33
-
34
- ### Step 2: Pre-submission Checks (Quality Gate)
35
- 1. **Spec reflection**: Check if `docs/003_requirements/spec/` needs updates for the changes
36
- 2. **Quality gate**: Run the project's quality gate commands:
37
- - If available: `pnpm quality-gate` (or equivalent from project config)
38
- - Fallback: lint + typecheck + test for changed areas
39
- 3. **Secret check**: Scan staged/committed content for potential secrets:
40
- - API keys, tokens, passwords in code or config
41
- - `.env` files that should not be committed
42
- - Private keys or certificates
43
- 4. **Breaking changes**: If breaking changes exist, verify migration/rollback docs are present
44
-
45
- ### Step 3: Report and Confirm
46
- 1. Present check results:
47
- ```
48
- Pre-submission Check Results:
49
- ✅ Quality gate: Passed
50
- ✅ Spec reflection: No updates needed (or: Updated docs/003_requirements/spec/xxx.md)
51
- ✅ Secret check: No secrets detected
52
- ✅ Breaking changes: None (or: Migration documented)
53
-
54
- Commits to push (N):
55
- - abc1234 add user authentication endpoint
56
- - def5678 update login form validation
57
- ```
58
- {{#if auto_confirm}}
59
- 2. **Auto-confirm enabled**: Skip confirmation and proceed directly to Step 4
60
- {{else}}
61
- 2. Wait for user confirmation
62
- - If issues are found, fix them first and re-run checks
63
- {{/if}}
64
-
65
- ### Step 4: Execute Push
66
- 1. Determine push command:
67
- - If remote tracking branch exists: `git push`
68
- - If no remote tracking branch: `git push -u origin HEAD`
69
- 2. Execute the push command
70
- 3. Verify push result:
71
- - Run `git status` to confirm "Your branch is up to date with 'origin/...'"
72
- - Run `git log origin/<branch>..HEAD --oneline` to confirm no unpushed commits remain
73
-
74
- ### Step 5: Handle Failures
75
- - **Push rejected (non-fast-forward)**: Report the error and suggest `git pull --rebase` or `godd_sync`
76
- - **Authentication failure**: Report and suggest checking credentials
77
- - **Network error**: Report and suggest retry
78
-
79
- ## Output
80
- - **Check results**: Each check item with pass/fail status
81
- - **Commits pushed**: List of commit hashes and messages
82
- - **Push result**: Success (remote URL + branch) or failure reason
83
- - **Post-push state**: `git status` summary
@@ -1,24 +0,0 @@
1
- {{> ssot-header }}
2
-
3
- {{> cogito-grammar }}
4
- {{> cogito-root-core }}
5
- {{> cogito-particle }}
6
- {{> cogito-godd }}
7
- {{> cogito-root-dev }}
8
-
9
- {{> ssot-rules }}
10
-
11
- {{> project-context }}
12
-
13
- ## Purpose
14
- Organize everything that needs to be done before push/submission — ensuring nothing is missed (**Agent executes by default**).
15
-
16
- ## Output (Checklist)
17
- - Local verification (required commands/results)
18
- - Spec (`docs/003_requirements/spec`) reflection status
19
- - Template (impact analysis/test plan/PR body) creation status
20
- - Documentation of breaking changes/migration/rollback
21
- - Secret information leakage check (logs/config/screenshots/etc.)
22
-
23
- ## Notes
24
- - UI implementation requires `-frontend` / `-backend` branch separation