@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.
- package/README.md +89 -94
- package/dist/godd.cjs +349 -233
- package/dist/godd.js +2193 -838
- package/dist/index.js +152 -122
- package/{notes-api → notes/api}/.env.example +6 -1
- package/{notes-api → notes/api}/README.md +6 -5
- package/{notes-api → notes/api}/app/main.py +29 -2
- package/{notes-api → notes/api}/app/routers/auth.py +6 -1
- package/{notes-api → notes/api}/app/routers/issues.py +157 -1
- package/{notes-api → notes/api}/app/routers/pr.py +2 -2
- package/{notes-api → notes/api}/app/services/github_app_token.py +32 -1
- package/{notes-api → notes/api}/app/services/github_issues.py +101 -11
- package/{notes-api → notes/api}/app/services/github_pr.py +6 -1
- package/{notes-api → notes/api}/tests/test_github_app_token.py +49 -1
- package/{notes-api → notes/api}/tests/test_github_service.py +42 -0
- package/notes/api/tests/test_health.py +52 -0
- package/{notes-api → notes/api}/tests/test_issues.py +216 -0
- package/{notes-api → notes/api}/tests/test_pr.py +24 -0
- package/{notes-api → notes/api}/tests/test_pr_chain.py +19 -0
- package/{notes-api → notes/api}/uv.lock +178 -2
- package/notes/app/DESIGN.md +273 -0
- package/{notes-app → notes/app}/README.md +4 -1
- package/notes/app/docker/Dockerfile.e2e +19 -0
- package/notes/app/docker/Dockerfile.prod +15 -0
- package/notes/app/docker/Dockerfile.test +17 -0
- package/notes/app/e2e/file-tree.spec.ts +26 -0
- package/notes/app/e2e/file-view.spec.ts +25 -0
- package/notes/app/e2e/fixtures.ts +28 -0
- package/{notes-app → notes/app}/e2e/global-setup.ts +5 -7
- package/notes/app/e2e/login.spec.ts +25 -0
- package/notes/app/e2e/pages/login-page.ts +29 -0
- package/notes/app/e2e/pages/main-page.ts +29 -0
- package/notes/app/e2e/panel-resize-handle.spec.ts +213 -0
- package/{notes-app → notes/app}/eslint.config.js +9 -0
- package/{notes-app → notes/app}/package.json +0 -3
- package/{notes-app → notes/app}/pnpm-workspace.yaml +1 -0
- package/notes/app/src/components/CommentPanel.test.tsx +194 -0
- package/{notes-app → notes/app}/src/components/CommentPanel.tsx +119 -10
- package/notes/app/src/components/CommentSelectionPopover.tsx +26 -0
- package/notes/app/src/components/EditToolbar.test.tsx +102 -0
- package/{notes-app → notes/app}/src/components/EditToolbar.tsx +5 -54
- package/notes/app/src/components/FileInfoPanel.branch-tab.test.tsx +250 -0
- package/notes/app/src/components/FileInfoPanel.history-tab.test.tsx +146 -0
- package/notes/app/src/components/FileInfoPanel.test.tsx +101 -0
- package/{notes-app → notes/app}/src/components/FileInfoPanel.tsx +135 -20
- package/notes/app/src/components/IssueCommentThread.test.tsx +93 -0
- package/notes/app/src/components/IssueCommentThread.tsx +156 -0
- package/notes/app/src/components/IssueDetailView.test.tsx +1118 -0
- package/notes/app/src/components/IssueDetailView.tsx +476 -0
- package/notes/app/src/components/IssueList.test.tsx +545 -0
- package/notes/app/src/components/IssueList.tsx +374 -0
- package/{notes-app → notes/app}/src/components/LabelSelector.test.tsx +94 -8
- package/notes/app/src/components/LabelSelector.tsx +452 -0
- package/{notes-app → notes/app}/src/components/MarkdownEditor.tsx +140 -2
- package/notes/app/src/components/PanelResizeHandle.test.tsx +481 -0
- package/notes/app/src/components/PanelResizeHandle.tsx +96 -0
- package/{notes-app → notes/app}/src/hooks/useEditSession.test.ts +171 -23
- package/{notes-app → notes/app}/src/hooks/useEditSession.ts +49 -62
- package/notes/app/src/hooks/useMdUpLayout.test.ts +10 -0
- package/notes/app/src/hooks/useMdUpLayout.ts +27 -0
- package/notes/app/src/hooks/usePeriodicSync.test.ts +244 -0
- package/notes/app/src/hooks/usePeriodicSync.ts +83 -0
- package/notes/app/src/hooks/useResizablePanelWidth.test.ts +251 -0
- package/notes/app/src/hooks/useResizablePanelWidth.ts +167 -0
- package/{notes-app → notes/app}/src/lib/api.test.ts +81 -1
- package/{notes-app → notes/app}/src/lib/api.ts +98 -4
- package/notes/app/src/lib/commentAnchor.test.ts +22 -0
- package/notes/app/src/lib/commentAnchor.ts +28 -0
- package/notes/app/src/lib/commentHighlight.test.ts +110 -0
- package/notes/app/src/lib/commentHighlight.ts +44 -0
- package/notes/app/src/lib/github-sync.test.ts +126 -0
- package/notes/app/src/lib/github-sync.ts +89 -0
- package/notes/app/src/lib/issue-list-utils.test.ts +275 -0
- package/notes/app/src/lib/issue-list-utils.ts +135 -0
- package/notes/app/src/lib/issue-mobile-layout.test.ts +17 -0
- package/notes/app/src/lib/issue-mobile-layout.ts +20 -0
- package/notes/app/src/lib/issue-url-sync.test.ts +73 -0
- package/notes/app/src/lib/issue-url-sync.ts +43 -0
- package/notes/app/src/lib/main-page-default-view.test.ts +37 -0
- package/notes/app/src/lib/main-page-default-view.ts +15 -0
- package/notes/app/src/lib/resizable-panel.test.ts +199 -0
- package/notes/app/src/lib/resizable-panel.ts +136 -0
- package/notes/app/src/pages/LoginPage.test.tsx +17 -0
- package/notes/app/src/pages/MainPage.branch-modal.test.tsx +226 -0
- package/notes/app/src/pages/MainPage.issue-sync.test.tsx +145 -0
- package/notes/app/src/pages/MainPage.sidebar.test.tsx +361 -0
- package/{notes-app → notes/app}/src/pages/MainPage.tsx +406 -61
- package/{notes-app → notes/app}/src/pages/SettingsPage.test.tsx +32 -23
- package/{notes-app → notes/app}/src/pages/UserManagementPage.test.tsx +8 -18
- package/notes/app/src/test/mocks.ts +156 -0
- package/notes/app/src/test/render.tsx +27 -0
- package/package.json +3 -5
- package/notes-api/tests/test_health.py +0 -11
- package/notes-app/docker/Dockerfile.e2e +0 -14
- package/notes-app/docker/Dockerfile.prod +0 -12
- package/notes-app/docker/Dockerfile.test +0 -12
- package/notes-app/e2e/file-tree.spec.ts +0 -29
- package/notes-app/e2e/file-view.spec.ts +0 -24
- package/notes-app/e2e/login.spec.ts +0 -32
- package/notes-app/src/components/IssueDetailView.test.tsx +0 -201
- package/notes-app/src/components/IssueDetailView.tsx +0 -318
- package/notes-app/src/components/IssueList.test.tsx +0 -93
- package/notes-app/src/components/IssueList.tsx +0 -169
- package/notes-app/src/components/LabelSelector.tsx +0 -276
- package/notes-app/src/pages/LoginPage.test.tsx +0 -29
- package/stacks/django-vue.yaml +0 -33
- package/stacks/fastapi-react.yaml +0 -160
- package/stacks/flutter-firebase.yaml +0 -58
- package/stacks/nextjs-prisma.yaml +0 -33
- package/stacks/schema.json +0 -144
- package/templates/agents/architect.hbs +0 -183
- package/templates/agents/auto-documenter.hbs +0 -36
- package/templates/agents/backend-developer.hbs +0 -175
- package/templates/agents/code-reviewer.hbs +0 -29
- package/templates/agents/database-developer.hbs +0 -52
- package/templates/agents/debug-specialist.hbs +0 -39
- package/templates/agents/environment-setup.hbs +0 -41
- package/templates/agents/frontend-developer.hbs +0 -45
- package/templates/agents/integration-qa.hbs +0 -26
- package/templates/agents/performance-qa.hbs +0 -24
- package/templates/agents/pr-writer.hbs +0 -53
- package/templates/agents/quality-lead.hbs +0 -26
- package/templates/agents/requirements-analyst.hbs +0 -26
- package/templates/agents/security-analyst.hbs +0 -21
- package/templates/agents/security-reviewer.hbs +0 -20
- package/templates/agents/ssot-updater.hbs +0 -45
- package/templates/agents/technical-writer.hbs +0 -28
- package/templates/agents/unit-test-engineer.hbs +0 -19
- package/templates/agents/user-clone.hbs +0 -43
- package/templates/github-actions/aws/deploy-notes.yml.hbs +0 -117
- package/templates/github-actions/azure/deploy-notes.yml.hbs +0 -78
- package/templates/github-actions/gcp/deploy-notes.yml.hbs +0 -76
- package/templates/github-actions/vercel-railway/deploy-notes.yml.hbs +0 -49
- package/templates/mindsets/agent-stdio.hbs +0 -51
- package/templates/mindsets/dart.hbs +0 -39
- package/templates/mindsets/ddd-clean-architecture.hbs +0 -52
- package/templates/mindsets/electron.hbs +0 -41
- package/templates/mindsets/fastapi.hbs +0 -40
- package/templates/mindsets/flutter.hbs +0 -56
- package/templates/mindsets/kotlin.hbs +0 -46
- package/templates/mindsets/postgresql.hbs +0 -39
- package/templates/mindsets/python.hbs +0 -39
- package/templates/mindsets/react.hbs +0 -51
- package/templates/mindsets/swift.hbs +0 -46
- package/templates/mindsets/terraform.hbs +0 -53
- package/templates/mindsets/typescript.hbs +0 -34
- package/templates/mindsets/vite.hbs +0 -37
- package/templates/notes-compose.yml +0 -82
- package/templates/partials/cogito-geo.hbs +0 -84
- package/templates/partials/cogito-godd.hbs +0 -22
- package/templates/partials/cogito-grammar.hbs +0 -105
- package/templates/partials/cogito-particle.hbs +0 -76
- package/templates/partials/cogito-root-ai.hbs +0 -79
- package/templates/partials/cogito-root-arch.hbs +0 -75
- package/templates/partials/cogito-root-core.hbs +0 -75
- package/templates/partials/cogito-root-daily.hbs +0 -58
- package/templates/partials/cogito-root-dev.hbs +0 -71
- package/templates/partials/cogito-root-devops.hbs +0 -71
- package/templates/partials/cogito-root-framework.hbs +0 -80
- package/templates/partials/cogito-root-lang.hbs +0 -74
- package/templates/partials/godd-core.hbs +0 -50
- package/templates/partials/project-context.hbs +0 -52
- package/templates/partials/ssot-header.hbs +0 -40
- package/templates/partials/ssot-rules.hbs +0 -30
- package/templates/prompts/adr.hbs +0 -39
- package/templates/prompts/agent-dev-workflow.hbs +0 -34
- package/templates/prompts/analyze-report.hbs +0 -36
- package/templates/prompts/auto-documentation.hbs +0 -37
- package/templates/prompts/check.hbs +0 -52
- package/templates/prompts/commit.hbs +0 -96
- package/templates/prompts/dev.hbs +0 -127
- package/templates/prompts/docs-init.hbs +0 -101
- package/templates/prompts/docs-update.hbs +0 -51
- package/templates/prompts/git-workflow.hbs +0 -125
- package/templates/prompts/impact-analysis.hbs +0 -43
- package/templates/prompts/install.hbs +0 -40
- package/templates/prompts/new-branch.hbs +0 -61
- package/templates/prompts/notes-deploy.hbs +0 -138
- package/templates/prompts/pr-analyze.hbs +0 -44
- package/templates/prompts/pr-create.hbs +0 -125
- package/templates/prompts/push-execute.hbs +0 -83
- package/templates/prompts/push.hbs +0 -24
- package/templates/prompts/release-notes.hbs +0 -38
- package/templates/prompts/requirements-to-business-flow.hbs +0 -29
- package/templates/prompts/requirements-to-tickets.hbs +0 -26
- package/templates/prompts/review.hbs +0 -126
- package/templates/prompts/setup.hbs +0 -247
- package/templates/prompts/spec.hbs +0 -35
- package/templates/prompts/specification-to-tickets.hbs +0 -24
- package/templates/prompts/submit.hbs +0 -143
- package/templates/prompts/sync.hbs +0 -63
- package/templates/prompts/test-plan.hbs +0 -56
- package/templates/scripts/aws/terraform-backend-setup.sh.hbs +0 -149
- package/templates/terraform/aws/alb.tf.hbs +0 -58
- package/templates/terraform/aws/backend.tf.hbs +0 -10
- package/templates/terraform/aws/cloudfront.tf.hbs +0 -96
- package/templates/terraform/aws/ecr.tf.hbs +0 -30
- package/templates/terraform/aws/ecs.tf.hbs +0 -142
- package/templates/terraform/aws/iam.tf.hbs +0 -88
- package/templates/terraform/aws/local.tf.hbs +0 -34
- package/templates/terraform/aws/output.tf.hbs +0 -49
- package/templates/terraform/aws/provider.tf.hbs +0 -26
- package/templates/terraform/aws/rds.tf.hbs +0 -38
- package/templates/terraform/aws/s3.tf.hbs +0 -34
- package/templates/terraform/aws/secrets.tf.hbs +0 -53
- package/templates/terraform/aws/security_groups.tf.hbs +0 -81
- package/templates/terraform/aws/vpc.tf.hbs +0 -63
- package/templates/terraform/azure/backend.tf.hbs +0 -8
- package/templates/terraform/azure/iam.tf.hbs +0 -36
- package/templates/terraform/azure/main.tf.hbs +0 -203
- package/templates/terraform/azure/output.tf.hbs +0 -19
- package/templates/terraform/azure/provider.tf.hbs +0 -19
- package/templates/terraform/gcp/backend.tf.hbs +0 -6
- package/templates/terraform/gcp/iam.tf.hbs +0 -47
- package/templates/terraform/gcp/main.tf.hbs +0 -175
- package/templates/terraform/gcp/output.tf.hbs +0 -15
- package/templates/terraform/gcp/provider.tf.hbs +0 -19
- package/templates/terraform/vercel-railway/main.tf.hbs +0 -64
- package/templates/terraform/vercel-railway/output.tf.hbs +0 -11
- /package/{notes-api → notes/api}/.dockerignore +0 -0
- /package/{notes-api → notes/api}/alembic/README +0 -0
- /package/{notes-api → notes/api}/alembic/env.py +0 -0
- /package/{notes-api → notes/api}/alembic/script.py.mako +0 -0
- /package/{notes-api → notes/api}/alembic/versions/001_initial_notes_tables.py +0 -0
- /package/{notes-api → notes/api}/alembic/versions/002_add_performance_indexes.py +0 -0
- /package/{notes-api → notes/api}/alembic/versions/003_add_yjs_documents.py +0 -0
- /package/{notes-api → notes/api}/alembic/versions/004_add_comments.py +0 -0
- /package/{notes-api → notes/api}/alembic/versions/005_add_github_username.py +0 -0
- /package/{notes-api → notes/api}/alembic/versions/006_add_check_constraints.py +0 -0
- /package/{notes-api → notes/api}/alembic.ini +0 -0
- /package/{notes-api → notes/api}/app/__init__.py +0 -0
- /package/{notes-api → notes/api}/app/config.py +0 -0
- /package/{notes-api → notes/api}/app/database.py +0 -0
- /package/{notes-api → notes/api}/app/http_client.py +0 -0
- /package/{notes-api → notes/api}/app/models/__init__.py +0 -0
- /package/{notes-api → notes/api}/app/models/audit.py +0 -0
- /package/{notes-api → notes/api}/app/models/base.py +0 -0
- /package/{notes-api → notes/api}/app/models/collab.py +0 -0
- /package/{notes-api → notes/api}/app/models/comment.py +0 -0
- /package/{notes-api → notes/api}/app/models/session.py +0 -0
- /package/{notes-api → notes/api}/app/models/setting.py +0 -0
- /package/{notes-api → notes/api}/app/models/user.py +0 -0
- /package/{notes-api → notes/api}/app/path_validation.py +0 -0
- /package/{notes-api → notes/api}/app/routers/__init__.py +0 -0
- /package/{notes-api → notes/api}/app/routers/collab.py +0 -0
- /package/{notes-api → notes/api}/app/routers/comments.py +0 -0
- /package/{notes-api → notes/api}/app/routers/files.py +0 -0
- /package/{notes-api → notes/api}/app/routers/settings.py +0 -0
- /package/{notes-api → notes/api}/app/routers/tree.py +0 -0
- /package/{notes-api → notes/api}/app/routers/upload.py +0 -0
- /package/{notes-api → notes/api}/app/routers/users.py +0 -0
- /package/{notes-api → notes/api}/app/schemas/__init__.py +0 -0
- /package/{notes-api → notes/api}/app/schemas/auth.py +0 -0
- /package/{notes-api → notes/api}/app/schemas/user.py +0 -0
- /package/{notes-api → notes/api}/app/security.py +0 -0
- /package/{notes-api → notes/api}/app/services/__init__.py +0 -0
- /package/{notes-api → notes/api}/app/services/audit.py +0 -0
- /package/{notes-api → notes/api}/app/services/business_date.py +0 -0
- /package/{notes-api → notes/api}/app/services/collab.py +0 -0
- /package/{notes-api → notes/api}/app/services/github.py +0 -0
- /package/{notes-api → notes/api}/app/services/pr_chain.py +0 -0
- /package/{notes-api → notes/api}/app/startup.py +0 -0
- /package/{notes-api → notes/api}/docker/Dockerfile +0 -0
- /package/{notes-api → notes/api}/docker/Dockerfile.test +0 -0
- /package/{notes-api → notes/api}/pyproject.toml +0 -0
- /package/{notes-api → notes/api}/tests/conftest.py +0 -0
- /package/{notes-api → notes/api}/tests/test_audit.py +0 -0
- /package/{notes-api → notes/api}/tests/test_auth.py +0 -0
- /package/{notes-api → notes/api}/tests/test_business_date.py +0 -0
- /package/{notes-api → notes/api}/tests/test_collab.py +0 -0
- /package/{notes-api → notes/api}/tests/test_comments.py +0 -0
- /package/{notes-api → notes/api}/tests/test_config_ssl.py +0 -0
- /package/{notes-api → notes/api}/tests/test_config_warnings.py +0 -0
- /package/{notes-api → notes/api}/tests/test_files.py +0 -0
- /package/{notes-api → notes/api}/tests/test_path_validation.py +0 -0
- /package/{notes-api → notes/api}/tests/test_security.py +0 -0
- /package/{notes-api → notes/api}/tests/test_settings.py +0 -0
- /package/{notes-api → notes/api}/tests/test_tree.py +0 -0
- /package/{notes-api → notes/api}/tests/test_upload.py +0 -0
- /package/{notes-api → notes/api}/tests/test_users.py +0 -0
- /package/{notes-app → notes/app}/.dockerignore +0 -0
- /package/{notes-app → notes/app}/index.html +0 -0
- /package/{notes-app → notes/app}/nginx.conf +0 -0
- /package/{notes-app → notes/app}/package-lock.json +0 -0
- /package/{notes-app → notes/app}/playwright.config.ts +0 -0
- /package/{notes-app → notes/app}/pnpm-lock.yaml +0 -0
- /package/{notes-app → notes/app}/src/App.tsx +0 -0
- /package/{notes-app → notes/app}/src/components/BranchSelectorModal.tsx +0 -0
- /package/{notes-app → notes/app}/src/components/CodeBlockView.test.tsx +0 -0
- /package/{notes-app → notes/app}/src/components/CodeBlockView.tsx +0 -0
- /package/{notes-app → notes/app}/src/components/CollabStatus.tsx +0 -0
- /package/{notes-app → notes/app}/src/components/DiffPreview.tsx +0 -0
- /package/{notes-app → notes/app}/src/components/DrawioEditor.tsx +0 -0
- /package/{notes-app → notes/app}/src/components/DrawioViewer.tsx +0 -0
- /package/{notes-app → notes/app}/src/components/ErrorBoundary.test.tsx +0 -0
- /package/{notes-app → notes/app}/src/components/ErrorBoundary.tsx +0 -0
- /package/{notes-app → notes/app}/src/components/FileContentView.tsx +0 -0
- /package/{notes-app → notes/app}/src/components/FileContextMenu.test.tsx +0 -0
- /package/{notes-app → notes/app}/src/components/FileContextMenu.tsx +0 -0
- /package/{notes-app → notes/app}/src/components/FileDialogs.test.tsx +0 -0
- /package/{notes-app → notes/app}/src/components/FileDialogs.tsx +0 -0
- /package/{notes-app → notes/app}/src/components/SaveStatusIndicator.test.tsx +0 -0
- /package/{notes-app → notes/app}/src/components/SaveStatusIndicator.tsx +0 -0
- /package/{notes-app → notes/app}/src/components/Skeleton.tsx +0 -0
- /package/{notes-app → notes/app}/src/components/SpreadsheetEditor.test.tsx +0 -0
- /package/{notes-app → notes/app}/src/components/SpreadsheetEditor.tsx +0 -0
- /package/{notes-app → notes/app}/src/components/TextEditor.tsx +0 -0
- /package/{notes-app → notes/app}/src/components/ToastContainer.tsx +0 -0
- /package/{notes-app → notes/app}/src/components/TreeNode.tsx +0 -0
- /package/{notes-app → notes/app}/src/contexts/AuthContext.test.tsx +0 -0
- /package/{notes-app → notes/app}/src/contexts/AuthContext.tsx +0 -0
- /package/{notes-app → notes/app}/src/contexts/ToastContext.test.ts +0 -0
- /package/{notes-app → notes/app}/src/contexts/ToastContext.tsx +0 -0
- /package/{notes-app → notes/app}/src/hooks/useAutoSave.test.ts +0 -0
- /package/{notes-app → notes/app}/src/hooks/useAutoSave.ts +0 -0
- /package/{notes-app → notes/app}/src/hooks/useCollaboration.ts +0 -0
- /package/{notes-app → notes/app}/src/hooks/useComments.ts +0 -0
- /package/{notes-app → notes/app}/src/hooks/useYText.ts +0 -0
- /package/{notes-app → notes/app}/src/lib/branch-diff.test.ts +0 -0
- /package/{notes-app → notes/app}/src/lib/branch-diff.ts +0 -0
- /package/{notes-app → notes/app}/src/lib/created-file.test.ts +0 -0
- /package/{notes-app → notes/app}/src/lib/created-file.ts +0 -0
- /package/{notes-app → notes/app}/src/lib/csv-utils.test.ts +0 -0
- /package/{notes-app → notes/app}/src/lib/csv-utils.ts +0 -0
- /package/{notes-app → notes/app}/src/lib/deepLinkPathToSearch.test.ts +0 -0
- /package/{notes-app → notes/app}/src/lib/deepLinkPathToSearch.ts +0 -0
- /package/{notes-app → notes/app}/src/lib/draft-storage.test.ts +0 -0
- /package/{notes-app → notes/app}/src/lib/draft-storage.ts +0 -0
- /package/{notes-app → notes/app}/src/lib/mermaid-render.ts +0 -0
- /package/{notes-app → notes/app}/src/lib/postLoginRedirect.test.ts +0 -0
- /package/{notes-app → notes/app}/src/lib/postLoginRedirect.ts +0 -0
- /package/{notes-app → notes/app}/src/lib/tree-utils.ts +0 -0
- /package/{notes-app → notes/app}/src/lib/user-colors.ts +0 -0
- /package/{notes-app → notes/app}/src/lib/xlsx-utils.test.ts +0 -0
- /package/{notes-app → notes/app}/src/lib/xlsx-utils.ts +0 -0
- /package/{notes-app → notes/app}/src/main.tsx +0 -0
- /package/{notes-app → notes/app}/src/pages/LoginPage.tsx +0 -0
- /package/{notes-app → notes/app}/src/pages/MainPage.insertChildEntry.test.ts +0 -0
- /package/{notes-app → notes/app}/src/pages/SettingsPage.tsx +0 -0
- /package/{notes-app → notes/app}/src/pages/UserManagementPage.tsx +0 -0
- /package/{notes-app → notes/app}/src/styles/globals.css +0 -0
- /package/{notes-app → notes/app}/src/types.ts +0 -0
- /package/{notes-app → notes/app}/src/vite-env.d.ts +0 -0
- /package/{notes-app → notes/app}/tsconfig.json +0 -0
- /package/{notes-app → notes/app}/tsconfig.node.json +0 -0
- /package/{notes-app → notes/app}/vite.config.js +0 -0
- /package/{notes-app → notes/app}/vite.config.ts +0 -0
- /package/{notes-app → notes/app}/vitest.config.ts +0 -0
|
@@ -1,52 +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
|
-
## Routing Guide
|
|
16
|
-
|
|
17
|
-
- Auto-activation: Keywords=DB/schema/SQL/Postgres/migration/Alembic/index/foreign key/data migration/backfill/query optimization, Situation=spec additions with DB changes/performance degradation investigation, Complexity=DDL changes/data migration/compatibility breaking
|
|
18
|
-
- Success criteria: Compatibility/migration/rollback documented, migration can be safely applied
|
|
19
|
-
- Best combination: `backend-developer`(Usecase/API) + `security-reviewer`(leaks/permissions) + `integration-qa`(flow verification)
|
|
20
|
-
|
|
21
|
-
# Role
|
|
22
|
-
|
|
23
|
-
As a Senior DB Engineer, support Postgres schema design and Alembic migration design/implementation for `{{backend.root_dir}}`.
|
|
24
|
-
Maintain DDD dependency direction ({{backend.dependency_direction}}), confine DB changes to Infrastructure, and ensure compatibility and operability.
|
|
25
|
-
|
|
26
|
-
## Pre-Work Preparation
|
|
27
|
-
|
|
28
|
-
Before starting work, read and understand the `AGENTS.md` at the project root and all files it references.
|
|
29
|
-
|
|
30
|
-
- AGENTS.md
|
|
31
|
-
- .instruction/00_universal/thinking.md
|
|
32
|
-
- .instruction/00_universal/quality.md
|
|
33
|
-
- .instruction/00_universal/communication.md
|
|
34
|
-
- .instruction/02_project/architecture.md
|
|
35
|
-
- .instruction/02_project/domain.md
|
|
36
|
-
- .instruction/02_project/patterns.md
|
|
37
|
-
- docs/003_requirements/spec/README.md
|
|
38
|
-
- docs/003_requirements/db.template.md
|
|
39
|
-
- docs/003_requirements/error-codes.template.md
|
|
40
|
-
|
|
41
|
-
## DB Change Policy
|
|
42
|
-
|
|
43
|
-
- **Breaking changes are prohibited by default** (when unavoidable, migration plan and rollback plan must be in Spec)
|
|
44
|
-
- Column additions are optional by default for backward compatibility (staged migration)
|
|
45
|
-
- Design indexes based on "expected queries", avoid unnecessary index proliferation
|
|
46
|
-
- Design data migration considering downtime, load, and failure recovery first (backfill/staged application)
|
|
47
|
-
|
|
48
|
-
## Deliverables (Minimum)
|
|
49
|
-
|
|
50
|
-
- **DB Spec**: Satisfies `docs/003_requirements/db.template.md` (DDL diffs, compatibility, migration/rollback, indexes, application steps)
|
|
51
|
-
- **Migration**: Alembic revision and application steps (both Docker and local)
|
|
52
|
-
- **Impact scope**: Impact on existing APIs/features (especially search, list, aggregation)
|
|
@@ -1,39 +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
|
-
## Routing Guide
|
|
16
|
-
|
|
17
|
-
- Auto-activation: Keywords=bug/defect/reproduce/regression/crash/exception/log/timeout/freeze, Situation=expected vs actual mismatch, Complexity=cross-module/intermittent/environment-dependent
|
|
18
|
-
- Success criteria: Shortest reproduction steps established, cause is explainable, recurrence prevention (test or monitoring) is in place
|
|
19
|
-
|
|
20
|
-
# Role
|
|
21
|
-
|
|
22
|
-
Don't "fix by guessing" — converge reliably in order: reproduce→hypothesize→verify→minimal fix→reproduction test.
|
|
23
|
-
|
|
24
|
-
## Pre-Work Preparation (Required Reading)
|
|
25
|
-
|
|
26
|
-
- AGENTS.md
|
|
27
|
-
- .instruction/01_specialties/investigation-debug.md
|
|
28
|
-
- docs/006_development_workflow/impact-analysis.template.md
|
|
29
|
-
- docs/006_development_workflow/test-plan.template.md
|
|
30
|
-
|
|
31
|
-
## Investigation Report (Minimum Format)
|
|
32
|
-
|
|
33
|
-
- Symptom / Expected vs Actual
|
|
34
|
-
- Reproduction steps (shortest)
|
|
35
|
-
- Environment (OS/version/startup procedure)
|
|
36
|
-
- Cause (with evidence)
|
|
37
|
-
- Fix details
|
|
38
|
-
- Verification (test/manual steps)
|
|
39
|
-
- Remaining risks
|
|
@@ -1,41 +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
|
-
# Role
|
|
16
|
-
|
|
17
|
-
Agent responsible for **environment setup, reproducibility, and onboarding** for this project.
|
|
18
|
-
|
|
19
|
-
## Goals
|
|
20
|
-
|
|
21
|
-
- Create a state where even beginners can run locally without confusion, in **1 command**
|
|
22
|
-
- Use Windows as the primary while ensuring equivalent behavior on macOS/WSL
|
|
23
|
-
- Consolidate dependency installation steps and configuration SSOT in `docs/`, without broken links or contradictions
|
|
24
|
-
|
|
25
|
-
## Constraints
|
|
26
|
-
|
|
27
|
-
- `.github/workflows` is **prohibited from creation/editing/addition** operationally (quality gates ensured by local scripts)
|
|
28
|
-
- Don't commit secrets to the repository (`.env` etc.)
|
|
29
|
-
|
|
30
|
-
## What to Do
|
|
31
|
-
|
|
32
|
-
- Maintain the preflight script as the canonical entry point
|
|
33
|
-
- Update `docs/007_guides/` and `docs/007_guides/`, making procedures SSOT
|
|
34
|
-
- Ensure external tools can be launched according to configuration file declarations
|
|
35
|
-
|
|
36
|
-
## Output Format
|
|
37
|
-
|
|
38
|
-
- Change summary
|
|
39
|
-
- Impact scope
|
|
40
|
-
- Executed commands and results
|
|
41
|
-
- Remaining risks / Next actions
|
|
@@ -1,45 +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
|
-
## Routing Guide
|
|
16
|
-
|
|
17
|
-
- Auto-activation: Keywords=Electron/React/TypeScript/Vite/Tailwind/Radix/screen/routing/form/UX/IPC/preload, Situation=UI changes/behavior changes/communication changes, Complexity=multiple components/pages/crossing IPC
|
|
18
|
-
- Success criteria: UI and logic separated, loading/error/empty/normal states covered, `{{frontend.build_command}}` passes
|
|
19
|
-
- Best combination: `requirements-analyst`(spec clarification) + `backend-developer`(API) + `integration-qa`(integration) + `security-reviewer`(input/leaks)
|
|
20
|
-
|
|
21
|
-
# Role
|
|
22
|
-
|
|
23
|
-
As a Senior Frontend Engineer, implement UI with Electron + React + TypeScript.
|
|
24
|
-
Screens focus on rendering; side effects (fetching/saving/IPC) are delegated to hooks/services.
|
|
25
|
-
|
|
26
|
-
## Pre-Work Preparation (Required Reading)
|
|
27
|
-
|
|
28
|
-
- AGENTS.md
|
|
29
|
-
- .instruction/00_universal/thinking.md
|
|
30
|
-
- .instruction/00_universal/quality.md
|
|
31
|
-
- .instruction/00_universal/communication.md
|
|
32
|
-
- .instruction/02_project/tech-stack.md
|
|
33
|
-
- docs/003_requirements/spec/README.md
|
|
34
|
-
- docs/003_requirements/ui.template.md
|
|
35
|
-
- docs/003_requirements/api.template.md
|
|
36
|
-
- docs/006_development_workflow/impact-analysis.template.md
|
|
37
|
-
- docs/006_development_workflow/test-plan.template.md
|
|
38
|
-
|
|
39
|
-
## Implementation Guide (Frontend)
|
|
40
|
-
|
|
41
|
-
- **Quality gate (minimum)**: `{{frontend.build_command}}`
|
|
42
|
-
- **UI/Logic separation**: Fetching/saving/IPC goes to hooks/services. Components stick to props + rendering
|
|
43
|
-
- **State**: Cover loading / error / empty / normal
|
|
44
|
-
- **TypeScript**: No `any`, `unknown`→narrow down. Type suppression (`ts-ignore`) is prohibited by default
|
|
45
|
-
- **Security**: Don't expose secrets in logs or UI. Design inputs with validation as a prerequisite
|
|
@@ -1,26 +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
|
-
## Routing Guide
|
|
16
|
-
|
|
17
|
-
- Auto-activation: Keywords=integration/connectivity/end-to-end/E2E/startup verification/IPC/JSON-RPC/CORS, Situation=changes spanning multiple components, Complexity=startup procedures/env vars/communication involved
|
|
18
|
-
- Success criteria: Major flows verified with shortest steps, troubleshooting steps remain on failure
|
|
19
|
-
|
|
20
|
-
## Verification Template (Required)
|
|
21
|
-
|
|
22
|
-
Based on `docs/006_development_workflow/test-plan.template.md`, fill in at minimum:
|
|
23
|
-
- Target features/modules
|
|
24
|
-
- Normal/Error/Boundary cases
|
|
25
|
-
- Manual verification steps and expected results
|
|
26
|
-
- Known constraints (mocks/unimplemented)
|
|
@@ -1,24 +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
|
-
## Routing Guide
|
|
16
|
-
|
|
17
|
-
- Auto-activation: Keywords=performance/slow/heavy/freeze/memory leak/CPU/rendering/query/timeout, Situation=perceived/measured degradation, Complexity=cross-module
|
|
18
|
-
- Success criteria: Current measurement→bottleneck identification→improvement proposal→re-measurement, all explainable
|
|
19
|
-
|
|
20
|
-
## Perspectives (Current Stack)
|
|
21
|
-
|
|
22
|
-
- Frontend (`{{frontend.root_dir}}`): Excessive re-renders, heavy lists, unnecessary IPC/HTTP, image/file processing
|
|
23
|
-
- Backend (`{{backend.root_dir}}`): N+1, heavy JOINs, unnecessary full fetches, external I/O waits
|
|
24
|
-
- DB (Postgres): Missing indexes, query plans, lock contention
|
|
@@ -1,53 +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
|
-
# Role
|
|
16
|
-
|
|
17
|
-
This Agent's **sole responsibility is "making PR bodies reviewable"**.
|
|
18
|
-
It does not implement; it focuses on text generation and information organization (providing evidence) for PR creation.
|
|
19
|
-
|
|
20
|
-
## Input (Required)
|
|
21
|
-
|
|
22
|
-
- Target branch name (defaults to current branch)
|
|
23
|
-
- Base branch (defaults to `main`)
|
|
24
|
-
- Requested purpose/completion criteria (user's natural language is OK)
|
|
25
|
-
|
|
26
|
-
## Facts to Collect (Git as Source of Truth)
|
|
27
|
-
|
|
28
|
-
Retrieve the following via **Git MCP / git commands** and build the body from facts, not guesses.
|
|
29
|
-
- `git status` (is the working tree clean?)
|
|
30
|
-
- `git log --oneline <base>..HEAD` (what was done in each commit)
|
|
31
|
-
- `git diff --name-only <base>..HEAD` (changed file list)
|
|
32
|
-
- `git diff <base>..HEAD` (key diffs)
|
|
33
|
-
- Test/quality gate commands executed and their results (quote logs if available)
|
|
34
|
-
|
|
35
|
-
## Generation Rules (PR Optimization)
|
|
36
|
-
|
|
37
|
-
- **Title**: ~50 chars, change subject/purpose is unambiguous
|
|
38
|
-
- **Body**: Fully compliant with `docs/006_development_workflow/pr.template.md`
|
|
39
|
-
- **Changes**:
|
|
40
|
-
- Write **"why"** (background/purpose) briefly before "what"
|
|
41
|
-
- Change points in **bullet lists** at review-friendly granularity
|
|
42
|
-
- **Verification**:
|
|
43
|
-
- List execution commands **as-is**
|
|
44
|
-
- If not executable, document "reason/alternative steps/remaining risks"
|
|
45
|
-
- **Impact scope**:
|
|
46
|
-
- Explicitly state Front/Back/Agent/Infra impact
|
|
47
|
-
- If there are breaking changes, document migration/rollback
|
|
48
|
-
|
|
49
|
-
## Output
|
|
50
|
-
|
|
51
|
-
1. PR title proposal (one)
|
|
52
|
-
2. PR body (template-compliant, copy-paste ready)
|
|
53
|
-
3. Reviewer checkpoints (2-5 items)
|
|
@@ -1,26 +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
|
-
## Quality Gate (Minimum)
|
|
16
|
-
|
|
17
|
-
- **Spec**: Sufficient specifications exist in `docs/003_requirements/spec/` and match implementation
|
|
18
|
-
- **Impact scope**: `docs/006_development_workflow/impact-analysis.template.md` is filled
|
|
19
|
-
- **Test plan**: `docs/006_development_workflow/test-plan.template.md` is filled
|
|
20
|
-
- **Compatibility/Migration**: If breaking changes exist, migration/rollback are documented
|
|
21
|
-
{{#if frontend.build_command}}- **Frontend changes**: `{{frontend.build_command}}` passes{{/if}}
|
|
22
|
-
|
|
23
|
-
## Output
|
|
24
|
-
|
|
25
|
-
- Release decision (Go/No-Go) with rationale
|
|
26
|
-
- Unresolved risks and next actions (who verifies what)
|
|
@@ -1,26 +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
|
-
## Success Criteria
|
|
16
|
-
|
|
17
|
-
- Purpose/completion criteria are measurably defined and distilled into **implementable-granularity Spec** (`docs/003_requirements/spec/`)
|
|
18
|
-
- If breaking changes/migration/rollback are needed, decision-making materials are prepared upfront
|
|
19
|
-
|
|
20
|
-
## Output (Minimum)
|
|
21
|
-
|
|
22
|
-
- Purpose/completion criteria
|
|
23
|
-
- Current understanding (assumptions)
|
|
24
|
-
- Unclear points (questions)
|
|
25
|
-
- Options (standard/conservative/bold) with recommendation
|
|
26
|
-
- Draft based on `docs/003_requirements/spec/*-template.md` (API/UI/DB/Feature/Usecase)
|
|
@@ -1,21 +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
|
-
## Analysis Perspectives
|
|
16
|
-
|
|
17
|
-
- Input validation (types/validation/boundary values)
|
|
18
|
-
- Authentication/Authorization (policy when needed)
|
|
19
|
-
- Information leakage (logs/error messages/screen display)
|
|
20
|
-
- External I/O (file/OS/network) failure behavior
|
|
21
|
-
- Error code design (`docs/003_requirements/error-codes.template.md`)
|
|
@@ -1,20 +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
|
-
## Review Criteria (Minimum)
|
|
16
|
-
|
|
17
|
-
- Secrets do not appear in logs/UI/exceptions
|
|
18
|
-
- Inputs assume type + validation with defined failure paths
|
|
19
|
-
- Errors at user-actionable granularity, internal details go to logs
|
|
20
|
-
- If breaking changes/permission changes exist, migration/rollback are in Spec
|
|
@@ -1,45 +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
|
-
# Role
|
|
16
|
-
|
|
17
|
-
This Agent's **sole responsibility is SSOT updates**.
|
|
18
|
-
It receives the "latest Spec (input)" and updates `docs/003_requirements/spec/`.
|
|
19
|
-
|
|
20
|
-
## Input (Required)
|
|
21
|
-
|
|
22
|
-
- Latest Spec (body text, diffs are OK)
|
|
23
|
-
- Corresponding implementation file candidates (as known)
|
|
24
|
-
- Corresponding test command candidates (as known)
|
|
25
|
-
|
|
26
|
-
## Acceptance Criteria (MUST)
|
|
27
|
-
|
|
28
|
-
- **Traceability (Spec→Implementation→Test)** is added/updated in `docs/003_requirements/spec/index.md`
|
|
29
|
-
- Added/updated links point to existing files (file paths exist)
|
|
30
|
-
- If test commands don't exist/aren't ready, **document the fact** and alternative verification
|
|
31
|
-
- If ambiguity remains in Spec (terminology/completion criteria/exceptions), formalize as questions
|
|
32
|
-
|
|
33
|
-
## Work Procedure (Standard)
|
|
34
|
-
|
|
35
|
-
1. Read input Spec, determine category (Feature/API/UI/Usecase/DB/Error)
|
|
36
|
-
2. Append to relevant section in `docs/003_requirements/spec/index.md` (create if missing)
|
|
37
|
-
3. List referenced implementation files/test commands and verify existence
|
|
38
|
-
4. Fill in Spec template's "Implementation Reference" and "Test Reference" (mark missing as TODO)
|
|
39
|
-
5. Check for contradictions between added/updated Specs (same terminology/completion criteria)
|
|
40
|
-
|
|
41
|
-
## Output
|
|
42
|
-
|
|
43
|
-
- List of changed Spec files
|
|
44
|
-
- Added/updated traceability links (Spec→Implementation→Test)
|
|
45
|
-
- Undetermined items (questions) / Remaining risks
|
|
@@ -1,28 +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
|
-
# Role
|
|
16
|
-
|
|
17
|
-
Maintain the SSOT for Spec-Driven Development, preparing "implementable-granularity specifications" and "operationally necessary templates".
|
|
18
|
-
|
|
19
|
-
## References (SSOT)
|
|
20
|
-
|
|
21
|
-
- Spec: `docs/003_requirements/spec/`
|
|
22
|
-
- Templates: `docs/006_development_workflow/`
|
|
23
|
-
- Core guidelines: `AGENTS.md`
|
|
24
|
-
|
|
25
|
-
## Deliverables
|
|
26
|
-
|
|
27
|
-
- Spec additions/updates (API/UI/DB/Feature/Usecase/Error Codes)
|
|
28
|
-
- Impact analysis/Test plans/ADR/PR/Release notes (`docs/006_development_workflow` format)
|
|
@@ -1,19 +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
|
-
## Policy
|
|
16
|
-
|
|
17
|
-
- Bug fixes follow **reproduction test → fix → re-run** as the standard
|
|
18
|
-
- Cover at the appropriate nearby layer (Backend: Domain/Usecase, Front: hooks/pure functions)
|
|
19
|
-
- For large changes, fix perspectives first using `docs/006_development_workflow/test-plan.template.md`
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
## 運用規約(SSOT)
|
|
2
|
-
|
|
3
|
-
### このドキュメントの位置付け
|
|
4
|
-
開発運用規約のSSOT(Single Source of Truth)です。
|
|
5
|
-
|
|
6
|
-
- **対象**: ブランチ運用 / コミット運用 / PR運用 / 品質ゲートの最低ライン
|
|
7
|
-
- **非対象**: プロダクトの機能仕様そのもの
|
|
8
|
-
|
|
9
|
-
### 用語定義
|
|
10
|
-
- **ターミナル不要**: 人間がターミナルでコマンドを打つ必要が一切ないこと
|
|
11
|
-
- **1コミット=1責務**: ステージングされた変更が複数ドメインに跨がないこと
|
|
12
|
-
- **Front/Backブランチ分離**: 画面実装を含むタスクでは、フロントとバックで別ブランチ、原則別PRに分けること
|
|
13
|
-
|
|
14
|
-
### 絶対ルール(MUST)
|
|
15
|
-
|
|
16
|
-
#### MUST-1: 人間にターミナル操作を要求しない
|
|
17
|
-
依頼者が行う操作は「自然言語で依頼」「PR上でレビュー」のみ。
|
|
18
|
-
|
|
19
|
-
#### MUST-2: 画面実装を含む場合、Front/Backブランチを必ず分ける
|
|
20
|
-
- フロント: `feat/<slug>-frontend`
|
|
21
|
-
- バック: `feat/<slug>-backend`
|
|
22
|
-
|
|
23
|
-
#### MUST-3: 1コミット=1責務(混在コミット禁止)
|
|
24
|
-
- **hard scope**: `{{frontend.root_dir}}` と `{{backend.root_dir}}` は同一コミット不可
|
|
25
|
-
- **soft scope**: `docs` / `scripts` は同一コミットに同梱可能
|
|
26
|
-
|
|
27
|
-
#### MUST-4: CI/CDファイルを作成/編集/追加しない
|
|
28
|
-
|
|
29
|
-
### 品質ゲート(最低ライン / MUST)
|
|
30
|
-
{{#if quality_gate.frontend}}
|
|
31
|
-
- **フロント**: `{{quality_gate.frontend}}`
|
|
32
|
-
{{/if}}
|
|
33
|
-
{{#if quality_gate.backend}}
|
|
34
|
-
- **バックエンド**: `{{quality_gate.backend}}`
|
|
35
|
-
{{/if}}
|
|
36
|
-
|
|
37
|
-
### 標準手順
|
|
38
|
-
1. 開発者は目的+完了条件を依頼
|
|
39
|
-
2. Agentは依頼内容をSpecへ落とす
|
|
40
|
-
3. Agentは影響範囲を調査し、必要ならブランチ/PRを分割
|
|
41
|
-
4. Agentは preflight → 実装 → 品質ゲート → テストを実行
|
|
42
|
-
5. Agentは責務単位でコミット分割
|
|
43
|
-
6. AgentはPR本文とPR作成メタを提示
|
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
name: Deploy GoDD Notes
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
branches: [main]
|
|
6
|
-
paths:
|
|
7
|
-
- 'notes-api/**'
|
|
8
|
-
- 'notes-app/**'
|
|
9
|
-
workflow_dispatch:
|
|
10
|
-
|
|
11
|
-
permissions:
|
|
12
|
-
id-token: write
|
|
13
|
-
contents: read
|
|
14
|
-
|
|
15
|
-
env:
|
|
16
|
-
AWS_REGION: {{region}}
|
|
17
|
-
AWS_ACCOUNT_ID: "{{accountId}}"
|
|
18
|
-
ECR_REPOSITORY: godd-notes-api
|
|
19
|
-
ECS_CLUSTER: godd-notes
|
|
20
|
-
ECS_SERVICE: notes-api
|
|
21
|
-
S3_BUCKET: godd-notes-{{accountId}}
|
|
22
|
-
CLOUDFRONT_DISTRIBUTION_ID: $\{{ secrets.CLOUDFRONT_DISTRIBUTION_ID }}
|
|
23
|
-
|
|
24
|
-
jobs:
|
|
25
|
-
changes:
|
|
26
|
-
runs-on: ubuntu-latest
|
|
27
|
-
outputs:
|
|
28
|
-
api: $\{{ steps.filter.outputs.api }}
|
|
29
|
-
app: $\{{ steps.filter.outputs.app }}
|
|
30
|
-
steps:
|
|
31
|
-
- uses: actions/checkout@v4
|
|
32
|
-
- uses: dorny/paths-filter@v3
|
|
33
|
-
id: filter
|
|
34
|
-
with:
|
|
35
|
-
filters: |
|
|
36
|
-
api:
|
|
37
|
-
- 'notes-api/**'
|
|
38
|
-
app:
|
|
39
|
-
- 'notes-app/**'
|
|
40
|
-
|
|
41
|
-
deploy-api:
|
|
42
|
-
needs: changes
|
|
43
|
-
if: needs.changes.outputs.api == 'true'
|
|
44
|
-
runs-on: ubuntu-latest
|
|
45
|
-
steps:
|
|
46
|
-
- uses: actions/checkout@v4
|
|
47
|
-
|
|
48
|
-
- name: Configure AWS credentials
|
|
49
|
-
uses: aws-actions/configure-aws-credentials@v4
|
|
50
|
-
with:
|
|
51
|
-
role-to-assume: arn:aws:iam::{{accountId}}:role/github-actions-{{env}}
|
|
52
|
-
aws-region: {{region}}
|
|
53
|
-
|
|
54
|
-
- name: Login to ECR
|
|
55
|
-
id: ecr-login
|
|
56
|
-
uses: aws-actions/amazon-ecr-login@v2
|
|
57
|
-
|
|
58
|
-
- name: Build and push Docker image
|
|
59
|
-
env:
|
|
60
|
-
ECR_REGISTRY: $\{{ steps.ecr-login.outputs.registry }}
|
|
61
|
-
IMAGE_TAG: $\{{ github.sha }}
|
|
62
|
-
run: |
|
|
63
|
-
docker build --platform linux/arm64 \
|
|
64
|
-
-t $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG \
|
|
65
|
-
-t $ECR_REGISTRY/$ECR_REPOSITORY:latest \
|
|
66
|
-
-f notes-api/docker/Dockerfile \
|
|
67
|
-
notes-api/
|
|
68
|
-
docker push $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG
|
|
69
|
-
docker push $ECR_REGISTRY/$ECR_REPOSITORY:latest
|
|
70
|
-
|
|
71
|
-
- name: Deploy to ECS
|
|
72
|
-
run: |
|
|
73
|
-
aws ecs update-service \
|
|
74
|
-
--cluster $ECS_CLUSTER \
|
|
75
|
-
--service $ECS_SERVICE \
|
|
76
|
-
--force-new-deployment
|
|
77
|
-
aws ecs wait services-stable \
|
|
78
|
-
--cluster $ECS_CLUSTER \
|
|
79
|
-
--services $ECS_SERVICE
|
|
80
|
-
|
|
81
|
-
deploy-app:
|
|
82
|
-
needs: changes
|
|
83
|
-
if: needs.changes.outputs.app == 'true'
|
|
84
|
-
runs-on: ubuntu-latest
|
|
85
|
-
steps:
|
|
86
|
-
- uses: actions/checkout@v4
|
|
87
|
-
|
|
88
|
-
- uses: pnpm/action-setup@v6
|
|
89
|
-
with:
|
|
90
|
-
version: 10.15.0
|
|
91
|
-
|
|
92
|
-
- uses: actions/setup-node@v6
|
|
93
|
-
with:
|
|
94
|
-
node-version: 22
|
|
95
|
-
package-manager-cache: false
|
|
96
|
-
|
|
97
|
-
- name: Install and build
|
|
98
|
-
working-directory: notes-app
|
|
99
|
-
run: |
|
|
100
|
-
pnpm install --frozen-lockfile
|
|
101
|
-
pnpm build
|
|
102
|
-
|
|
103
|
-
- name: Configure AWS credentials
|
|
104
|
-
uses: aws-actions/configure-aws-credentials@v4
|
|
105
|
-
with:
|
|
106
|
-
role-to-assume: arn:aws:iam::{{accountId}}:role/github-actions-{{env}}
|
|
107
|
-
aws-region: {{region}}
|
|
108
|
-
|
|
109
|
-
- name: Deploy to S3
|
|
110
|
-
working-directory: notes-app
|
|
111
|
-
run: aws s3 sync dist/ s3://$S3_BUCKET --delete
|
|
112
|
-
|
|
113
|
-
- name: Invalidate CloudFront
|
|
114
|
-
run: |
|
|
115
|
-
aws cloudfront create-invalidation \
|
|
116
|
-
--distribution-id $CLOUDFRONT_DISTRIBUTION_ID \
|
|
117
|
-
--paths "/*"
|