@ripla/godd-mcp 0.1.2-beta-20260312091403
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 +412 -0
- package/dist/godd.cjs +465 -0
- package/dist/godd.js +34845 -0
- package/dist/index.js +224 -0
- package/notes-api/.env.example +29 -0
- package/notes-api/README.md +65 -0
- package/notes-api/alembic/README +1 -0
- package/notes-api/alembic/env.py +62 -0
- package/notes-api/alembic/script.py.mako +28 -0
- package/notes-api/alembic/versions/001_initial_notes_tables.py +71 -0
- package/notes-api/alembic.ini +149 -0
- package/notes-api/app/__init__.py +1 -0
- package/notes-api/app/config.py +90 -0
- package/notes-api/app/database.py +31 -0
- package/notes-api/app/main.py +55 -0
- package/notes-api/app/models/__init__.py +17 -0
- package/notes-api/app/models/audit.py +38 -0
- package/notes-api/app/models/base.py +38 -0
- package/notes-api/app/models/session.py +32 -0
- package/notes-api/app/models/setting.py +16 -0
- package/notes-api/app/models/user.py +38 -0
- package/notes-api/app/routers/__init__.py +1 -0
- package/notes-api/app/routers/auth.py +205 -0
- package/notes-api/app/routers/files.py +76 -0
- package/notes-api/app/routers/pr.py +92 -0
- package/notes-api/app/routers/settings.py +44 -0
- package/notes-api/app/routers/tree.py +22 -0
- package/notes-api/app/routers/users.py +145 -0
- package/notes-api/app/schemas/__init__.py +1 -0
- package/notes-api/app/schemas/auth.py +45 -0
- package/notes-api/app/schemas/user.py +41 -0
- package/notes-api/app/security.py +94 -0
- package/notes-api/app/services/__init__.py +1 -0
- package/notes-api/app/services/audit.py +25 -0
- package/notes-api/app/services/business_date.py +38 -0
- package/notes-api/app/services/github.py +140 -0
- package/notes-api/app/services/github_pr.py +120 -0
- package/notes-api/app/services/pr_chain.py +225 -0
- package/notes-api/app/startup.py +66 -0
- package/notes-api/docker/Dockerfile +14 -0
- package/notes-api/docker/Dockerfile.test +14 -0
- package/notes-api/pyproject.toml +53 -0
- package/notes-api/tests/conftest.py +21 -0
- package/notes-api/tests/test_business_date.py +32 -0
- package/notes-api/tests/test_health.py +11 -0
- package/notes-api/uv.lock +1012 -0
- package/notes-app/README.md +30 -0
- package/notes-app/docker/Dockerfile.prod +12 -0
- package/notes-app/docker/Dockerfile.test +12 -0
- package/notes-app/eslint.config.js +23 -0
- package/notes-app/index.html +12 -0
- package/notes-app/nginx.conf +23 -0
- package/notes-app/package.json +37 -0
- package/notes-app/pnpm-lock.yaml +3124 -0
- package/notes-app/src/App.tsx +13 -0
- package/notes-app/src/main.tsx +13 -0
- package/notes-app/src/pages/LoginPage.test.tsx +15 -0
- package/notes-app/src/pages/LoginPage.tsx +10 -0
- package/notes-app/src/pages/MainPage.tsx +14 -0
- package/notes-app/src/styles/globals.css +1 -0
- package/notes-app/src/vite-env.d.ts +1 -0
- package/notes-app/tsconfig.json +24 -0
- package/notes-app/tsconfig.node.json +10 -0
- package/notes-app/vite.config.js +21 -0
- package/notes-app/vite.config.ts +22 -0
- package/notes-app/vitest.config.ts +16 -0
- package/package.json +58 -0
- package/stacks/django-vue.yaml +33 -0
- package/stacks/fastapi-react.yaml +160 -0
- package/stacks/flutter-firebase.yaml +58 -0
- package/stacks/nextjs-prisma.yaml +33 -0
- package/stacks/schema.json +144 -0
- package/templates/agents/architect.hbs +183 -0
- package/templates/agents/auto-documenter.hbs +36 -0
- package/templates/agents/backend-developer.hbs +175 -0
- package/templates/agents/code-reviewer.hbs +29 -0
- package/templates/agents/database-developer.hbs +52 -0
- package/templates/agents/debug-specialist.hbs +39 -0
- package/templates/agents/environment-setup.hbs +41 -0
- package/templates/agents/frontend-developer.hbs +45 -0
- package/templates/agents/integration-qa.hbs +26 -0
- package/templates/agents/performance-qa.hbs +24 -0
- package/templates/agents/pr-writer.hbs +53 -0
- package/templates/agents/quality-lead.hbs +26 -0
- package/templates/agents/requirements-analyst.hbs +26 -0
- package/templates/agents/security-analyst.hbs +21 -0
- package/templates/agents/security-reviewer.hbs +20 -0
- package/templates/agents/ssot-updater.hbs +45 -0
- package/templates/agents/technical-writer.hbs +28 -0
- package/templates/agents/unit-test-engineer.hbs +19 -0
- package/templates/agents/user-clone.hbs +43 -0
- package/templates/github-actions/aws/deploy-notes.yml.hbs +118 -0
- package/templates/github-actions/azure/deploy-notes.yml.hbs +78 -0
- package/templates/github-actions/gcp/deploy-notes.yml.hbs +76 -0
- package/templates/github-actions/vercel-railway/deploy-notes.yml.hbs +49 -0
- package/templates/mindsets/agent-stdio.hbs +51 -0
- package/templates/mindsets/dart.hbs +39 -0
- package/templates/mindsets/ddd-clean-architecture.hbs +52 -0
- package/templates/mindsets/electron.hbs +41 -0
- package/templates/mindsets/fastapi.hbs +40 -0
- package/templates/mindsets/flutter.hbs +56 -0
- package/templates/mindsets/kotlin.hbs +46 -0
- package/templates/mindsets/postgresql.hbs +39 -0
- package/templates/mindsets/python.hbs +39 -0
- package/templates/mindsets/react.hbs +51 -0
- package/templates/mindsets/swift.hbs +46 -0
- package/templates/mindsets/terraform.hbs +53 -0
- package/templates/mindsets/typescript.hbs +34 -0
- package/templates/mindsets/vite.hbs +37 -0
- package/templates/notes-compose.yml +79 -0
- package/templates/partials/cogito-geo.hbs +84 -0
- package/templates/partials/cogito-godd.hbs +22 -0
- package/templates/partials/cogito-grammar.hbs +105 -0
- package/templates/partials/cogito-particle.hbs +76 -0
- package/templates/partials/cogito-root-ai.hbs +79 -0
- package/templates/partials/cogito-root-arch.hbs +75 -0
- package/templates/partials/cogito-root-core.hbs +75 -0
- package/templates/partials/cogito-root-daily.hbs +58 -0
- package/templates/partials/cogito-root-dev.hbs +71 -0
- package/templates/partials/cogito-root-devops.hbs +71 -0
- package/templates/partials/cogito-root-framework.hbs +80 -0
- package/templates/partials/cogito-root-lang.hbs +74 -0
- package/templates/partials/godd-core.hbs +50 -0
- package/templates/partials/project-context.hbs +52 -0
- package/templates/partials/ssot-header.hbs +40 -0
- package/templates/partials/ssot-rules.hbs +30 -0
- package/templates/prompts/adr.hbs +39 -0
- package/templates/prompts/agent-dev-workflow.hbs +34 -0
- package/templates/prompts/analyze-report.hbs +36 -0
- package/templates/prompts/auto-documentation.hbs +37 -0
- package/templates/prompts/check.hbs +52 -0
- package/templates/prompts/commit.hbs +96 -0
- package/templates/prompts/dev.hbs +127 -0
- package/templates/prompts/docs-init.hbs +95 -0
- package/templates/prompts/docs-update.hbs +51 -0
- package/templates/prompts/git-workflow.hbs +125 -0
- package/templates/prompts/impact-analysis.hbs +43 -0
- package/templates/prompts/install.hbs +40 -0
- package/templates/prompts/new-branch.hbs +61 -0
- package/templates/prompts/notes-deploy.hbs +72 -0
- package/templates/prompts/pr-analyze.hbs +44 -0
- package/templates/prompts/pr-create.hbs +125 -0
- package/templates/prompts/push-execute.hbs +83 -0
- package/templates/prompts/push.hbs +24 -0
- package/templates/prompts/release-notes.hbs +38 -0
- package/templates/prompts/requirements-to-business-flow.hbs +29 -0
- package/templates/prompts/requirements-to-tickets.hbs +26 -0
- package/templates/prompts/review.hbs +126 -0
- package/templates/prompts/setup.hbs +247 -0
- package/templates/prompts/spec.hbs +35 -0
- package/templates/prompts/specification-to-tickets.hbs +24 -0
- package/templates/prompts/submit.hbs +143 -0
- package/templates/prompts/sync.hbs +63 -0
- package/templates/prompts/test-plan.hbs +56 -0
- package/templates/terraform/aws/alb.tf.hbs +58 -0
- package/templates/terraform/aws/backend.tf.hbs +10 -0
- package/templates/terraform/aws/cloudfront.tf.hbs +96 -0
- package/templates/terraform/aws/ecr.tf.hbs +30 -0
- package/templates/terraform/aws/ecs.tf.hbs +136 -0
- package/templates/terraform/aws/iam.tf.hbs +88 -0
- package/templates/terraform/aws/local.tf.hbs +34 -0
- package/templates/terraform/aws/output.tf.hbs +49 -0
- package/templates/terraform/aws/provider.tf.hbs +26 -0
- package/templates/terraform/aws/rds.tf.hbs +38 -0
- package/templates/terraform/aws/s3.tf.hbs +34 -0
- package/templates/terraform/aws/secrets.tf.hbs +38 -0
- package/templates/terraform/aws/security_groups.tf.hbs +72 -0
- package/templates/terraform/aws/vpc.tf.hbs +63 -0
- package/templates/terraform/azure/backend.tf.hbs +8 -0
- package/templates/terraform/azure/iam.tf.hbs +36 -0
- package/templates/terraform/azure/main.tf.hbs +199 -0
- package/templates/terraform/azure/output.tf.hbs +19 -0
- package/templates/terraform/azure/provider.tf.hbs +19 -0
- package/templates/terraform/gcp/backend.tf.hbs +6 -0
- package/templates/terraform/gcp/iam.tf.hbs +47 -0
- package/templates/terraform/gcp/main.tf.hbs +171 -0
- package/templates/terraform/gcp/output.tf.hbs +15 -0
- package/templates/terraform/gcp/provider.tf.hbs +19 -0
- package/templates/terraform/vercel-railway/main.tf.hbs +64 -0
- package/templates/terraform/vercel-railway/output.tf.hbs +11 -0
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
{{! cogito-root-devops — DevOps / Cloud / Infrastructure / Observability roots ~80 entries }}
|
|
2
|
+
|
|
3
|
+
{{! — containers & orchestration — }}
|
|
4
|
+
铸цАш(甲) =Docker ⚙=multi-stage Dockerfile ◈=image layer
|
|
5
|
+
铺пき뢴(乙) =container ⊛=volume ⎈=network bridge
|
|
6
|
+
铼タ괛ра(丙) =Docker Compose ⚙=service ⊛=depends_on
|
|
7
|
+
铿ミ뵊д(甲) =Kubernetes ⏣=Pod ⊛=Service
|
|
8
|
+
锁フ쪵b(乙) ⏣=Deployment ⏣=StatefulSet ◈=ConfigMap
|
|
9
|
+
锃ル놓ц(丙) ⏣=Ingress ⎈=namespace ⊛=service mesh
|
|
10
|
+
锅キ됗ш(甲) ⚙=Helm ⚙=Kustomize ⏣=operator
|
|
11
|
+
锇ш쩝e(乙) =Istio ⊛=sidecar ⎈=envoy proxy
|
|
12
|
+
|
|
13
|
+
{{! — cloud providers & services — }}
|
|
14
|
+
锉ц괟ら(甲) =AWS ⎈=EC2 ⊛=S3
|
|
15
|
+
锋п뢴д(乙) =GCP ⎈=Cloud Run ⊛=GCS
|
|
16
|
+
锍タ읏b(丙) =Azure ⎈=App Service ⊛=Blob
|
|
17
|
+
锏ミ쭎ц(甲) =Railway ⎈=Vercel ⊛=Fly.io
|
|
18
|
+
锑フ쫄ш(乙) ⎈=Lambda ⚡=serverless ◈=cold start
|
|
19
|
+
锓ル괩e(丙) ⎈=VPC ⊛=subnet ⊕=security group
|
|
20
|
+
锕キ훔ра(甲) ⊛=CDN ⎈=edge function ⊕=region
|
|
21
|
+
锗ш벶д(乙) ⎈=managed DB ⊛=RDS ⊕=DB connection pool
|
|
22
|
+
|
|
23
|
+
{{! — CI/CD & pipelines — }}
|
|
24
|
+
锛ц꿸b(甲) =CI pipeline ⚡=CI job ⊛=pipeline stage
|
|
25
|
+
锝п듾ц(乙) =CD ⚡=deploy trigger ◉=schedule
|
|
26
|
+
锟タ쁩ш(丙) ⚡=GitHub Actions ⚙=workflow ⊛=step
|
|
27
|
+
锡ミ릊e(甲) ⎈=GitLab CI ⎈=CircleCI ⎈=Jenkins
|
|
28
|
+
锣フ쨍ра(乙) ⚡=artifact ⊟=registry ◈=tag
|
|
29
|
+
锥ル괡д(丙) ⚡=rollback ⚡=canary ⚡=blue-green
|
|
30
|
+
锧キ뭏b(甲) ◈=secret ⚙=env variable ▽=vault
|
|
31
|
+
锩ш됗ц(乙) ⊕=build matrix ⊛=parallelism ◉=build timeout
|
|
32
|
+
|
|
33
|
+
{{! — observability & monitoring — }}
|
|
34
|
+
锫ц뵊ш(甲) ⎈=infra monitoring ◈=metric ⊕=SLA/SLO
|
|
35
|
+
锭п쩔e(乙) ☰=logging ⊕=log level ⊛=structured log
|
|
36
|
+
锯タ괛ра(丙) ⊛=tracing ◈=span ◉=trace ID
|
|
37
|
+
锱ミ쪵д(甲) ⎈=Prometheus ⎈=Grafana ⊛=alert rule
|
|
38
|
+
锳フ놓b(乙) ⎈=Datadog ⎈=New Relic ⊕=APM
|
|
39
|
+
锵ル됗ц(丙) ⎈=ELK ⎈=Loki ☰=retention policy
|
|
40
|
+
锷キ쩝ш(甲) ⊕=latency ⊕=throughput ⊜=percentile
|
|
41
|
+
锹ш괟e(乙) ◈=liveness check ⚡=probe ⊗=incident
|
|
42
|
+
|
|
43
|
+
{{! — networking & DNS — }}
|
|
44
|
+
锻ц뢴ра(甲) ⎈=DNS ⊛=A record ⊛=CNAME
|
|
45
|
+
锽п읏д(乙) ⎈=TLS ▽=certificate ◈=HTTPS
|
|
46
|
+
锿タ쭎b(丙) ⎈=cloud load balancer ⏣=reverse proxy ⊛=upstream
|
|
47
|
+
镁ミ쫄ц(甲) ⊛=gRPC ⏣=protocol buffer ◈=message
|
|
48
|
+
镃フ괩ш(乙) ⎈=cloud API gateway ⊛=rate limit ⊕=throttle
|
|
49
|
+
|
|
50
|
+
{{! — IaC & configuration — }}
|
|
51
|
+
镅ц훔e(甲) =Terraform ⚙=HCL ⊛=state file
|
|
52
|
+
镇п벶ら(乙) =Ansible ⚙=playbook ⊛=role
|
|
53
|
+
镉タ꿸д(丙) =Pulumi ⚙=CDK ⊛=stack
|
|
54
|
+
镋ミ듾b(甲) ⊛=drift detection ⚡=plan ⚡=apply
|
|
55
|
+
镍フ쁩ц(乙) ⚙=config management ⊛=immutable infra ⊕=idempotent
|
|
56
|
+
|
|
57
|
+
{{! — database ops — }}
|
|
58
|
+
镏ц릊ш(甲) ⚡=replication ⊛=replica ⊕=consistency
|
|
59
|
+
镑п쨍e(乙) ⚡=failover ⊛=cluster ⊗=split brain
|
|
60
|
+
镓タ괡ら(丙) ⚡=point-in-time recovery ◈=WAL ◈=snapshot
|
|
61
|
+
镕ミき뭏д(甲) ⚙=connection pooler ⊛=PgBouncer ⊕=max connections
|
|
62
|
+
|
|
63
|
+
{{! — devops verbs — }}
|
|
64
|
+
镗ц뢴(v) =provision/allocate
|
|
65
|
+
镙п괛(v) =scale up/scale out
|
|
66
|
+
镛タ쪵(v) =containerize/package
|
|
67
|
+
镝ミ놓(v) =orchestrate/schedule
|
|
68
|
+
镟フ됗(v) =monitor/observe
|
|
69
|
+
镡ル쩝(v) =alert/page
|
|
70
|
+
镣キ괟(v) =rotate/renew (secrets/certs)
|
|
71
|
+
镥ш읏(v) =backup/restore
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
{{! cogito-root-framework — framework-specific roots ~80 entries }}
|
|
2
|
+
{{! Covers: React, Next.js, Vue, Angular, Svelte, Django, Rails, FastAPI, Express, NestJS, etc. }}
|
|
3
|
+
|
|
4
|
+
{{! — React / Next.js — }}
|
|
5
|
+
钊цАд(甲) =React ⏣=JSX ⎆=React virtual DOM
|
|
6
|
+
钌пき뢴(乙) ⌬=hook ⚡=useEffect ◈=useState
|
|
7
|
+
钎タ괛b(丙) ⏣=Server Component ⏣=Client Component ⚡=Suspense
|
|
8
|
+
钐ミ뵊ц(甲) ⎆=portal ⊛=context ◈=ref
|
|
9
|
+
钒フ쪵ш(乙) =Next.js ⏣=App Router ⚡=Server Action
|
|
10
|
+
钔ル놓e(丙) ⚡=SSR ⚡=SSG ⚡=ISR
|
|
11
|
+
钖キ됗ら(甲) ⏣=Next.js middleware ⏣=route group ⊛=layout
|
|
12
|
+
钘ш쩝д(乙) ⚡=RSC streaming ⊕=revalidation ◈=metadata
|
|
13
|
+
|
|
14
|
+
{{! — Vue — }}
|
|
15
|
+
钚ц괟b(甲) =Vue ⏣=Composition API ⎆=SFC
|
|
16
|
+
钜п뢴ц(乙) ◈=ref() ◈=reactive() ⌬=computed()
|
|
17
|
+
钞タ읏ш(丙) ⌬=composable ⚡=watchEffect ⊛=provide/inject
|
|
18
|
+
钠ミ쭎e(甲) ⏣=Pinia ⊛=store ⚡=action
|
|
19
|
+
|
|
20
|
+
{{! — Angular — }}
|
|
21
|
+
钢フ쫄ら(甲) =Angular ⏣=standalone component ⊛=Angular DI
|
|
22
|
+
钤ル괩д(乙) ⌬=signal ⚡=effect ◈=computed signal
|
|
23
|
+
钦キ훔b(丙) ⎈=NgModule ⏣=lazy loading ⚡=@defer
|
|
24
|
+
钨ш벶ц(甲) ⚡=RxJS ⌬=Observable ⊛=pipe
|
|
25
|
+
|
|
26
|
+
{{! — Svelte — }}
|
|
27
|
+
钪ц꿸ш(甲) =Svelte ⏣=SvelteKit ⚡=compiler
|
|
28
|
+
钬п듾e(乙) ⌬=$state ⌬=$derived ⌬=$effect
|
|
29
|
+
钮タ쁩ら(丙) ⌬=$props ⚡=rune ⊕=no virtual DOM
|
|
30
|
+
|
|
31
|
+
{{! — Django — }}
|
|
32
|
+
钰ц릊д(甲) =Django ⏣=MTV ⌖=Admin
|
|
33
|
+
钲п쨍b(乙) ⌬=ORM ⏣=QuerySet ⊛=Manager
|
|
34
|
+
钴タ괡ц(丙) ⚡=Django migration ⏣=Form ⊕=Django signal
|
|
35
|
+
钶ミ뭏ш(甲) ⎈=Django middleware ⏣=template tag ⊞=context processor
|
|
36
|
+
|
|
37
|
+
{{! — Rails — }}
|
|
38
|
+
钸フき됗(甲) =Rails ⏣=MVC ⊕=convention over configuration
|
|
39
|
+
钺ル뵊e(乙) ⌬=ActiveRecord ⏣=scope ⊛=association
|
|
40
|
+
钼キ쩔ら(丙) ⚡=Turbo ⚡=Stimulus ⏣=Hotwire
|
|
41
|
+
钾ш괛д(甲) ⎈=Sidekiq ⚡=ActiveJob ⊛=cable
|
|
42
|
+
|
|
43
|
+
{{! — FastAPI / Flask — }}
|
|
44
|
+
铀ц쪵b(甲) =FastAPI ⏣=Pydantic ⊛=Depends
|
|
45
|
+
铂п놓ц(乙) ⌬=path operation ⊞=request body ⊟=response model
|
|
46
|
+
铄タ됗ш(丙) =Flask ⏣=Blueprint ⌬=app factory
|
|
47
|
+
铆ミ쩝e(甲) ⎈=WSGI ⎈=ASGI ⚡=uvicorn
|
|
48
|
+
|
|
49
|
+
{{! — Express / Fastify / NestJS — }}
|
|
50
|
+
铈フ괟ら(甲) =Express ⏣=middleware chain ⚡=next()
|
|
51
|
+
铊ル뢴д(乙) =Fastify ⏣=JSON Schema ⊛=plugin
|
|
52
|
+
铌キ읏b(丙) =NestJS ⏣=NestJS module ⊛=DI container
|
|
53
|
+
铎ш쭎ц(甲) ⌬=guard ⌬=interceptor ⌬=pipe
|
|
54
|
+
|
|
55
|
+
{{! — Go frameworks — }}
|
|
56
|
+
铐ц쫄ш(甲) =Gin ⏣=RouterGroup ⊞=binding
|
|
57
|
+
铒п괩e(乙) =Echo ⏣=validator ⊛=group
|
|
58
|
+
铔タ훔ра(丙) =Fiber ⎈=fasthttp ⏣=middleware stack
|
|
59
|
+
|
|
60
|
+
{{! — Laravel / Symfony / WordPress — }}
|
|
61
|
+
铖ц벶д(甲) =Laravel ⏣=Eloquent ⊛=service container
|
|
62
|
+
铘п꿸b(乙) ⌬=Form Request ⚡=queue ⊛=event/listener
|
|
63
|
+
铚タ듾ц(丙) =Symfony ⏣=Bundle ⊛=Doctrine
|
|
64
|
+
铜ミ쁩ш(甲) =WordPress ⏣=hook ⌬=action/filter
|
|
65
|
+
铞フ릊e(乙) ⏣=theme hierarchy ⊛=shortcode ⎆=Gutenberg
|
|
66
|
+
|
|
67
|
+
{{! — CSS frameworks — }}
|
|
68
|
+
铠ц쨍ра(甲) =Tailwind ⏣=utility class ⚙=config
|
|
69
|
+
铢п괡д(乙) =Sass ⌬=Sass mixin ⏣=@use module
|
|
70
|
+
铤タ뭏b(丙) ⊕=design system ◈=design token ⎆=responsive breakpoint
|
|
71
|
+
|
|
72
|
+
{{! — framework verbs — }}
|
|
73
|
+
铦цき(v) =render/paint
|
|
74
|
+
铨п뢴(v) =hydrate/rehydrate
|
|
75
|
+
铪タ괛(v) =mount/unmount
|
|
76
|
+
铬ミ뵊(v) =route/navigate
|
|
77
|
+
铮フ쪵(v) =middleware/intercept
|
|
78
|
+
铰ル놓(v) =inject/provide
|
|
79
|
+
铳キ됗(v) =migrate/seed
|
|
80
|
+
铵ш쩝(v) =scaffold/generate
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
{{! cogito-root-lang — programming language-specific roots ~80 entries }}
|
|
2
|
+
{{! Covers: Python, TypeScript, Go, PHP, Ruby, C, JavaScript, HTML, CSS concepts }}
|
|
3
|
+
|
|
4
|
+
{{! — Python — }}
|
|
5
|
+
鍬цАш(甲) =Python ⏣=CPython ⎈=virtualenv
|
|
6
|
+
鍛пき뢴(乙) ⌬=Python decorator ⏣=metaclass ◇=descriptor
|
|
7
|
+
鍮タ괛ら(丙) ⚡=Python generator ⌬=comprehension ◈=lambda
|
|
8
|
+
鍖ミ뵊д(甲) ⏣=PEP ⚙=pyproject.toml ⊕=Zen of Python
|
|
9
|
+
鍼フ쪵b(乙) ⌬=dataclass ◈=namedtuple ⏣=Protocol
|
|
10
|
+
鍾ル놓ц(丙) ⎈=pip ⚙=uv ⊛=wheel
|
|
11
|
+
鍔키됗ш(甲) ⚡=asyncio ◈=Python coroutine ⊛=event loop
|
|
12
|
+
鑓ш쩝e(乙) ⌬=context manager ⚡=with statement ◈=GIL
|
|
13
|
+
|
|
14
|
+
{{! — TypeScript / JavaScript — }}
|
|
15
|
+
鋲ц괟ら(甲) =TypeScript ⏣=type system ⊕=strict mode
|
|
16
|
+
鋳п뢴д(乙) ⌬=generic ⏣=discriminated union ◈=template literal type
|
|
17
|
+
鋸タ읏b(丙) ⌬=interface ⏣=type alias ◇=satisfies
|
|
18
|
+
鋩ミ쭎ц(甲) ⊕=type guard ◈=type assertion ⊗=type error
|
|
19
|
+
鋏フ쫄ш(乙) =JavaScript ⌬=prototype ◈=closure
|
|
20
|
+
鋤ル괩e(丙) ⚡=Promise ⌬=async/await ◈=callback
|
|
21
|
+
鋭キ훔ら(甲) ⏣=ESModule ⊟=CommonJS ⚙=bundler
|
|
22
|
+
鋼ш벶д(乙) ◈=Proxy ⌬=Reflect ⏣=WeakMap
|
|
23
|
+
|
|
24
|
+
{{! — Go — }}
|
|
25
|
+
鑢ц꿸b(甲) =Go ⏣=goroutine ⊛=channel
|
|
26
|
+
鑰п듾ц(乙) ⌬=Go interface ⏣=struct embedding ◇=composition
|
|
27
|
+
鑞タ쁩ш(丙) ⊗=error handling ⌬=defer ⚡=panic/recover
|
|
28
|
+
鑚ミ릊e(甲) ⏣=go module ⚙=go.mod ⊛=workspace
|
|
29
|
+
鑷フ쨍ら(乙) ⚡=select ◈=context ◉=timeout
|
|
30
|
+
鑵ル괡д(丙) ⏣=package ⌖=internal ⊕=exported
|
|
31
|
+
|
|
32
|
+
{{! — PHP — }}
|
|
33
|
+
鑁цき뭏(甲) =PHP ⏣=Composer ⊕=strict_types
|
|
34
|
+
鑈п됗ш(乙) ⌬=trait ⏣=enum ◈=named argument
|
|
35
|
+
鑊タ뵊e(丙) ⌬=attribute ⚡=fiber ◈=readonly
|
|
36
|
+
鑌ミ쩔ら(甲) ⏣=PSR ⊕=autoloading ⚙=php.ini
|
|
37
|
+
|
|
38
|
+
{{! — Ruby — }}
|
|
39
|
+
鑐ц괛д(甲) =Ruby ⏣=gem ⚙=Bundler
|
|
40
|
+
鑒п쪵b(乙) ⌬=block ⌬=Proc ⌬=lambda
|
|
41
|
+
鑓タ놓ц(丙) ⌬=Ruby mixin ⏣=module include/extend ◈=method_missing
|
|
42
|
+
鑕ミ됗ш(甲) ◈=symbol ⏣=Enumerable ⊕=frozen_string_literal
|
|
43
|
+
鑗フ쩝e(乙) ⚡=IRB ⚡=Pry ⊜=RuboCop
|
|
44
|
+
|
|
45
|
+
{{! — C — }}
|
|
46
|
+
鑙ц괟ら(甲) =C ⏣=standard library ⊕=C99/C11
|
|
47
|
+
鑛п뢴д(乙) ◈=pointer ⊛=reference ⊗=dangling pointer
|
|
48
|
+
鑝タ읏b(丙) ◈=struct ⏣=union ⌬=typedef
|
|
49
|
+
鑟ミ쭎ц(甲) ⚡=malloc ⚡=free ⊗=memory leak
|
|
50
|
+
鑡フ쫄ш(乙) ⚙=Makefile ⊕=compiler flag ⊗=undefined behavior
|
|
51
|
+
鑣ル괩e(丙) ⚙=preprocessor ⌬=macro ⊞=header file
|
|
52
|
+
|
|
53
|
+
{{! — HTML — }}
|
|
54
|
+
鑥цき훔(甲) =HTML ⏣=semantic element ⊕=accessibility
|
|
55
|
+
鑧п벶ра(乙) ⎆=landmark ⊞=ARIA role ⊕=alt text
|
|
56
|
+
鑩タ꿸д(丙) ⎆=HTML form ⊞=input ⊟=label
|
|
57
|
+
鑫ミ듾b(甲) ⏣=Living Standard ⊕=W3C validation
|
|
58
|
+
|
|
59
|
+
{{! — CSS — }}
|
|
60
|
+
鑭ц쁩ц(甲) =CSS ⏣=Grid ⏣=Flexbox
|
|
61
|
+
鑯п릊ш(乙) ◈=custom property ⏣=cascade layer ⊕=specificity
|
|
62
|
+
鑱タ쨍e(丙) ⎆=media query ⎆=container query ⊕=responsive
|
|
63
|
+
鑳ミ괡ら(甲) ⊕=animation ⊕=transition ⎆=transform
|
|
64
|
+
鑵フき뭏д(乙) ⏣=BEM ⏣=utility-first ⊕=CSS design token
|
|
65
|
+
|
|
66
|
+
{{! — cross-language verbs — }}
|
|
67
|
+
鑷ц뢴(v) =type-check/infer
|
|
68
|
+
鑹п괛(v) =compile/transpile
|
|
69
|
+
鑻タ쪵(v) =interpret/evaluate
|
|
70
|
+
鑽ミ놓(v) =garbage-collect/free memory
|
|
71
|
+
鑿フ됗(v) =serialize/marshal
|
|
72
|
+
钁ル쩝(v) =deserialize/unmarshal
|
|
73
|
+
钃キ괟(v) =lint/format
|
|
74
|
+
钅ш읏(v) =refactor/restructure
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
## Core Attitude (MUST — Applies to Every Action)
|
|
2
|
+
|
|
3
|
+
- **Always ask "why" first** — Establish purpose, constraints, and measurable completion criteria before writing any code
|
|
4
|
+
- **Treat abnormal paths equally** — Error cases, boundary values, and operational behavior are as important as the happy path
|
|
5
|
+
- **Evaluate from multiple perspectives** — Technology, business, UX, security, and operations — every change must be assessed from all angles
|
|
6
|
+
- **Never guess when less than 95% certain** — If a premise is not confirmed, ask questions to eliminate ambiguity before proceeding
|
|
7
|
+
|
|
8
|
+
## Pre-work Analysis (MUST — Before Starting Any Implementation)
|
|
9
|
+
|
|
10
|
+
Before writing code, complete and document the following analysis:
|
|
11
|
+
|
|
12
|
+
1. **Goal & completion criteria** — Define in measurable terms (what does "done" look like?)
|
|
13
|
+
2. **Existing structure, patterns & constraints** — Understand what's already there and what rules apply
|
|
14
|
+
3. **Impact scope & risks** — Functional, performance, UX, security, operational impact
|
|
15
|
+
4. **Implementation options** — At least two approaches (standard / conservative / bold), with comparison and recommended choice with reasoning
|
|
16
|
+
5. **Open questions & unknowns** — List uncertainties; ask before assuming
|
|
17
|
+
|
|
18
|
+
If any of items 1-5 are unclear, **stop and ask the user** before proceeding.
|
|
19
|
+
|
|
20
|
+
## Development Methodology: ATDD (Acceptance Test Driven Development)
|
|
21
|
+
|
|
22
|
+
### For New Features (MUST)
|
|
23
|
+
1. Spec confirmed → Define acceptance criteria in **Given-When-Then** format
|
|
24
|
+
2. **Write acceptance tests FIRST** (Red — tests fail because feature doesn't exist yet)
|
|
25
|
+
3. Implement the feature (Green — make the tests pass)
|
|
26
|
+
4. Refactor → Maintain tests as regression suite
|
|
27
|
+
|
|
28
|
+
### For Bug Fixes
|
|
29
|
+
1. **Write a reproduction test FIRST** (Red — test demonstrates the bug)
|
|
30
|
+
2. Fix the bug (Green — reproduction test passes)
|
|
31
|
+
3. Verify no regressions
|
|
32
|
+
|
|
33
|
+
### For Refactoring
|
|
34
|
+
1. If existing tests cover the area → Refactor with confidence
|
|
35
|
+
2. If no tests exist → **Add characterization tests FIRST**, then refactor
|
|
36
|
+
|
|
37
|
+
### Test Priority (All Agents — Absolute Rule)
|
|
38
|
+
- **Never give up** until API tests and E2E tests pass. Investigate root causes, fix issues, and retry
|
|
39
|
+
- If tests cannot be run (infrastructure/environment reasons): document the reason, alternative verification method, and remaining risks
|
|
40
|
+
- Test layer priority: **unit** (domain/usecase) → **integration** (API/DB boundaries) → **e2e** (critical flows only)
|
|
41
|
+
|
|
42
|
+
## Quality Culture
|
|
43
|
+
|
|
44
|
+
- Implement **failure paths first** — validate inputs, handle errors, then write the happy path
|
|
45
|
+
- Use **early returns** to keep nesting shallow and responsibilities clear
|
|
46
|
+
- Apply **SOLID / KISS / YAGNI / DRY** as self-review criteria for every change
|
|
47
|
+
- Type safety is non-negotiable: no `any`, no type suppression (`ts-ignore`, `type: ignore`)
|
|
48
|
+
- External input is always `unknown` until validated
|
|
49
|
+
- Logs and error messages must be specific, minimal, and never contain secrets
|
|
50
|
+
- Avoid N+1 queries and unnecessary full-table scans; consider batching, caching, or differential fetching when needed
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
## Project Information (Auto-detected)
|
|
2
|
+
|
|
3
|
+
- **Project name**: {{project.name}}
|
|
4
|
+
- **Root**: `{{project.root}}`
|
|
5
|
+
{{#if project.detected_stacks.length}}
|
|
6
|
+
- **Detected stacks**:
|
|
7
|
+
{{#each project.detected_stacks}}
|
|
8
|
+
- {{this.label}} ({{this.evidence}})
|
|
9
|
+
{{/each}}
|
|
10
|
+
{{/if}}
|
|
11
|
+
{{#if project.directories.length}}
|
|
12
|
+
- **Directory structure**: {{#each project.directories}}`{{this}}`{{#unless @last}}, {{/unless}}{{/each}}
|
|
13
|
+
{{/if}}
|
|
14
|
+
{{#if project.key_files.length}}
|
|
15
|
+
- **Key files**: {{#each project.key_files}}`{{this}}`{{#unless @last}}, {{/unless}}{{/each}}
|
|
16
|
+
{{/if}}
|
|
17
|
+
{{#if project.docker_services.length}}
|
|
18
|
+
- **Docker services**: {{#each project.docker_services}}`{{this}}`{{#unless @last}}, {{/unless}}{{/each}}
|
|
19
|
+
{{/if}}
|
|
20
|
+
{{#if project.env_templates.length}}
|
|
21
|
+
- **Environment templates**: {{#each project.env_templates}}`{{this}}`{{#unless @last}}, {{/unless}}{{/each}}
|
|
22
|
+
{{/if}}
|
|
23
|
+
{{#if project.scripts}}
|
|
24
|
+
- **npm scripts**: {{#each project.scripts}}`{{@key}}`{{#unless @last}}, {{/unless}}{{/each}}
|
|
25
|
+
{{/if}}
|
|
26
|
+
{{#if project.detected_tools.length}}
|
|
27
|
+
|
|
28
|
+
## Detected Ecosystem Tools
|
|
29
|
+
{{#each project.detected_tools}}
|
|
30
|
+
- **{{this.label}}** ({{this.category}}): {{this.description}} ({{this.evidence}})
|
|
31
|
+
{{/each}}
|
|
32
|
+
{{/if}}
|
|
33
|
+
{{#if tools.length}}
|
|
34
|
+
|
|
35
|
+
## Recommended Tools & Guidance
|
|
36
|
+
{{#each tools}}
|
|
37
|
+
### {{this.label}} ({{this.category}})
|
|
38
|
+
- {{this.description}}
|
|
39
|
+
{{#if this.guidance}}- **Guidance**: {{this.guidance}}{{/if}}
|
|
40
|
+
{{#if this.url}}- **Reference**: {{this.url}}{{/if}}
|
|
41
|
+
{{/each}}
|
|
42
|
+
{{/if}}
|
|
43
|
+
{{#if project.vendor_items.length}}
|
|
44
|
+
|
|
45
|
+
## Available Vendor / OSS Tools
|
|
46
|
+
{{#each project.vendor_items}}
|
|
47
|
+
### vendor/{{this.name}}
|
|
48
|
+
- **Description**: {{this.description}}
|
|
49
|
+
- **Runtime**: {{this.runtime}}
|
|
50
|
+
- **Setup**: `{{this.setupHint}}`
|
|
51
|
+
{{/each}}
|
|
52
|
+
{{/if}}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
## Operational Rules (SSOT)
|
|
2
|
+
- Always follow operational rules (no terminal needed / branch isolation / 1 commit = 1 responsibility / PR is the GitHub MCP source of truth)
|
|
3
|
+
{{#each stacks}}
|
|
4
|
+
- When working with {{this.label}}, follow the {{this.name}} mindset as SSOT
|
|
5
|
+
{{/each}}
|
|
6
|
+
|
|
7
|
+
### Absolute Rules (MUST)
|
|
8
|
+
|
|
9
|
+
**MUST-1: Never require the human to use the terminal**
|
|
10
|
+
- The developer's only actions are: "make a request in natural language" and "review on GitHub PR"
|
|
11
|
+
- All command execution is the Agent's responsibility
|
|
12
|
+
|
|
13
|
+
**MUST-2: Separate Front/Back branches when UI changes are involved**
|
|
14
|
+
- Frontend branch: `feat/<slug>-frontend`
|
|
15
|
+
- Backend branch: `feat/<slug>-backend`
|
|
16
|
+
- When a task spans Front/Back: create **separate PRs** (one for each)
|
|
17
|
+
|
|
18
|
+
**MUST-3: 1 commit = 1 responsibility (no mixed commits)**
|
|
19
|
+
- Hard scope (mixing these in one commit = violation):
|
|
20
|
+
- `frontend/`: frontend code
|
|
21
|
+
- `backend/`: backend code
|
|
22
|
+
- repo-root: everything else
|
|
23
|
+
- Soft scope (can coexist in one commit):
|
|
24
|
+
- `docs/documents/`: documentation
|
|
25
|
+
- `scripts/`: scripts
|
|
26
|
+
- Example: frontend + docs = OK, frontend + backend = **NG**
|
|
27
|
+
|
|
28
|
+
**MUST-4: PR creation uses GitHub MCP as the source of truth**
|
|
29
|
+
- Actual PR creation is done by the Agent via GitHub MCP
|
|
30
|
+
|
|
31
|
+
**MUST-5: Never create/edit/add CI/CD workflow files**
|
|
32
|
+
- Quality assurance is done via local scripts only
|
|
33
|
+
|
|
34
|
+
### SSOT Priority (When Conflicts Arise)
|
|
35
|
+
|
|
36
|
+
1. **Product Spec SSOT**: Spec files and referenced documents
|
|
37
|
+
2. **Operational SSOT**: These operational rules (branch/commit/PR/quality gate rules)
|
|
38
|
+
3. **Everything else** (README, verbal, past messages, etc.)
|
|
39
|
+
|
|
40
|
+
When a conflict is detected: **never guess**. Determine which SSOT to update, apply the change, then proceed.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
## SSOT Update & Question Management Rules (MUST)
|
|
2
|
+
|
|
3
|
+
### Handling Spec Changes
|
|
4
|
+
- When the user communicates a new spec, **update the SSOT**
|
|
5
|
+
- If the SSOT update contradicts other specs, **ask the user for clarification**
|
|
6
|
+
|
|
7
|
+
### Question Management
|
|
8
|
+
- When the user **does not clearly answer** a question (no answer / ambiguous answer), add the question to **`docs/003_requirements/questions.csv`** (path: `{{project.question_list_path}}`)
|
|
9
|
+
- CSV columns: `id,category,question,context,answer,spec_file,status`
|
|
10
|
+
- Status values:
|
|
11
|
+
- `unanswered` — not yet answered
|
|
12
|
+
- `answered` — user provided a clear answer
|
|
13
|
+
- `spec_reflected` — answer has been reflected in the spec document (hidden in Notes view)
|
|
14
|
+
- When a question is answered: update `answer` column → reflect in spec → set status to `spec_reflected`
|
|
15
|
+
- Create the file with header row if it does not exist
|
|
16
|
+
|
|
17
|
+
### Implementation Decisions
|
|
18
|
+
- When instructed to implement without answers to questions:
|
|
19
|
+
- **Apply the "common sense" approach**
|
|
20
|
+
- When clear answers or specs are available:
|
|
21
|
+
- **Never guess** — implement exactly as specified
|
|
22
|
+
|
|
23
|
+
### Question Template (Use This Format When Asking Questions)
|
|
24
|
+
When you need to ask the user a question, structure it as follows:
|
|
25
|
+
|
|
26
|
+
1. **Current understanding**: What you know so far
|
|
27
|
+
2. **Unclear point**: What specifically is ambiguous
|
|
28
|
+
3. **Options**: Available choices (if any)
|
|
29
|
+
4. **Recommendation**: Your suggested approach and why
|
|
30
|
+
5. **Additional info needed**: What would help you decide
|
|
@@ -0,0 +1,39 @@
|
|
|
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-daily }}
|
|
14
|
+
|
|
15
|
+
## Purpose
|
|
16
|
+
Create an ADR (Architecture Decision Record) that records design decisions in a form where readers can later reach the same conclusion.
|
|
17
|
+
An ADR must explain the **why** so thoroughly that a future reader can independently evaluate whether the decision still holds.
|
|
18
|
+
|
|
19
|
+
## Input
|
|
20
|
+
- What to decide (Decision)
|
|
21
|
+
- Background (Context)
|
|
22
|
+
- Alternatives (Options)
|
|
23
|
+
|
|
24
|
+
## Output
|
|
25
|
+
Markdown ADR with the following sections:
|
|
26
|
+
- **Title**: Short, descriptive name for the decision
|
|
27
|
+
- **Status**: Proposed / Accepted / Deprecated / Superseded
|
|
28
|
+
- **Context**: What is the issue? What forces are at play? What constraints exist?
|
|
29
|
+
- **Decision**: What was decided and why
|
|
30
|
+
- **Alternatives Considered**: For each alternative:
|
|
31
|
+
- Description
|
|
32
|
+
- Pros and cons
|
|
33
|
+
- Why it was not chosen
|
|
34
|
+
- **Consequences**: What becomes easier or harder as a result of this decision
|
|
35
|
+
- **Trade-offs**: What was sacrificed and what was gained (be explicit)
|
|
36
|
+
- **Rollback Plan**: How to reverse this decision if it proves wrong
|
|
37
|
+
- **Related Decisions**: Links to related ADRs or Spec documents
|
|
38
|
+
|
|
39
|
+
Always include **trade-offs** and **rollback plan** — these are the most valuable parts of an ADR.
|
|
@@ -0,0 +1,34 @@
|
|
|
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 (Terminal-free operation)
|
|
14
|
+
Enable developers to complete the full cycle — from environment setup to implementation, testing, commit, push, and PR creation — simply by requesting in natural language, without ever touching a terminal.
|
|
15
|
+
|
|
16
|
+
## Absolute Rules (Important)
|
|
17
|
+
- **Default branch protection**: Before making any code changes, check the current branch. If on the default branch (main/master), **always create a new feature branch first**
|
|
18
|
+
- Branch naming: `feat/<slug-or-task-summary>-<YYYYMMDD>` (e.g. `feat/add-auth-20260212`)
|
|
19
|
+
- Never commit directly to the default branch
|
|
20
|
+
- When **UI implementation is involved**, always separate into **frontend** and **backend branches**
|
|
21
|
+
- `feat/<slug>-frontend-<YYYYMMDD>` / `feat/<slug>-backend-<YYYYMMDD>`
|
|
22
|
+
- **1 commit = 1 responsibility** (mixed Front/Back commits are prohibited)
|
|
23
|
+
- **End-of-work commits**: When development is complete, group changes into logical commit units (by concern: schema, backend, frontend, tests, config, docs) — do NOT make a single monolithic commit
|
|
24
|
+
- Humans review **only via GitHub PR diffs**
|
|
25
|
+
|
|
26
|
+
## Canonical References
|
|
27
|
+
- Spec: `documents/spec/`
|
|
28
|
+
{{#if frontend}}- Frontend quality gate: `{{frontend.build_command}}`
|
|
29
|
+
{{/if}}{{#if backend}}- Backend quality gate: `{{quality_gate.backend}}`
|
|
30
|
+
{{/if}}
|
|
31
|
+
|
|
32
|
+
## How to proceed (Important)
|
|
33
|
+
- **The developer's (human) entry point is the `dev` prompt** (with @references + purpose + completion criteria)
|
|
34
|
+
- The procedures and commands in this prompt are **Agent-internal execution methods** (reference only); humans do not need to memorize or execute them
|
|
@@ -0,0 +1,36 @@
|
|
|
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
|
+
Produce a consistent report at task completion, following the template structure.
|
|
15
|
+
|
|
16
|
+
## Output
|
|
17
|
+
Fill in the following headings concisely, leaving no blanks (keep code blocks minimal).
|
|
18
|
+
|
|
19
|
+
### Change Summary
|
|
20
|
+
-
|
|
21
|
+
|
|
22
|
+
### Impact Scope
|
|
23
|
+
{{#if frontend}}- Frontend(`{{frontend.root_dir}}`):
|
|
24
|
+
{{/if}}{{#if backend}}- Backend(`{{backend.root_dir}}`):
|
|
25
|
+
{{/if}}- Other:
|
|
26
|
+
|
|
27
|
+
### Verification Performed
|
|
28
|
+
- Command/Result:
|
|
29
|
+
|
|
30
|
+
### Compatibility / Migration
|
|
31
|
+
- Breaking changes: Yes/No
|
|
32
|
+
- Migration steps:
|
|
33
|
+
- Rollback:
|
|
34
|
+
|
|
35
|
+
### Remaining Risks / Open Items
|
|
36
|
+
-
|
|
@@ -0,0 +1,37 @@
|
|
|
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-daily }}
|
|
14
|
+
|
|
15
|
+
## Purpose
|
|
16
|
+
From the changes, comprehensively identify all documentation updates needed and draft the diffs.
|
|
17
|
+
Documentation must stay in sync with implementation — stale docs are worse than no docs.
|
|
18
|
+
|
|
19
|
+
## Input
|
|
20
|
+
- Change details (target files / behavior diff)
|
|
21
|
+
- Reason for change (purpose / completion criteria)
|
|
22
|
+
|
|
23
|
+
## Document Types to Check
|
|
24
|
+
Review whether each of these needs updating:
|
|
25
|
+
- **Spec documents**: Feature specs, API specs, DB specs
|
|
26
|
+
- **README files**: Project root and module-level READMEs
|
|
27
|
+
- **Configuration docs**: Environment variables, setup instructions
|
|
28
|
+
- **Tech stack docs**: Dependencies, versions, architecture decisions
|
|
29
|
+
- **Operational docs**: Deployment, migration, rollback procedures
|
|
30
|
+
- **SSOT documents**: Spec index, operational rules, question list
|
|
31
|
+
- **ADR (Architecture Decision Records)**: If the change involves a design decision
|
|
32
|
+
|
|
33
|
+
## Output
|
|
34
|
+
1. **List of documents to update** (file paths, with priority)
|
|
35
|
+
2. **Addition/modification points** for each document (bullet list with specific changes)
|
|
36
|
+
3. **Broken-reference check** items (links / paths that may be invalidated by the change)
|
|
37
|
+
4. **New documents needed** (if the change introduces a new feature/module with no documentation)
|
|
@@ -0,0 +1,52 @@
|
|
|
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
|
+
Check the "minimum quality gate" before submitting changes and identify any missing perspectives.
|
|
17
|
+
This is the **last line of defense** — be thorough and systematic.
|
|
18
|
+
|
|
19
|
+
## Checklist (Evaluate Every Item)
|
|
20
|
+
|
|
21
|
+
- **Spec alignment**: Does the Spec need updates? If gaps exist, propose additions. If Spec is missing for the change, flag it.
|
|
22
|
+
- **Impact scope**: Has the impact been analyzed? Are all affected modules identified?
|
|
23
|
+
- **Test plan**: Is the test plan documented? Does it cover boundary values and error cases?
|
|
24
|
+
- **Compatibility/Migration**: If breaking changes exist, is migration/rollback documented?
|
|
25
|
+
- **Tests (highest priority)**: Continue improving until **API tests/E2E tests pass** within available test infrastructure
|
|
26
|
+
- If unable to run tests: document the **reason**, **alternative verification**, and **remaining risks**
|
|
27
|
+
- Test priority: unit → integration → e2e
|
|
28
|
+
{{#if frontend}}
|
|
29
|
+
- **Frontend (if changed)**: Run `{{frontend.build_command}}` — must pass
|
|
30
|
+
{{/if}}
|
|
31
|
+
{{#if backend}}
|
|
32
|
+
- **Backend (if changed)**: Minimal backend verification (startup / main API endpoints respond)
|
|
33
|
+
{{/if}}
|
|
34
|
+
- **Security**: Ensure secrets are not exposed in logs, exceptions, or UI
|
|
35
|
+
- **SSOT consistency**: Are all SSOT documents (Spec, operational rules) still consistent after this change?
|
|
36
|
+
- **Commit hygiene**: 1 commit = 1 responsibility? No Front/Back mixed commits?
|
|
37
|
+
|
|
38
|
+
## Output
|
|
39
|
+
For each checklist item, report:
|
|
40
|
+
- **Status**: PASS / FAIL / N/A
|
|
41
|
+
- **Details**: What was checked, what was found
|
|
42
|
+
- **Action needed**: If FAIL, what needs to be fixed
|
|
43
|
+
|
|
44
|
+
{{#if frontend.mindset}}
|
|
45
|
+
## Frontend Review Criteria
|
|
46
|
+
{{{frontend.mindset}}}
|
|
47
|
+
{{/if}}
|
|
48
|
+
|
|
49
|
+
{{#if backend.mindset}}
|
|
50
|
+
## Backend Review Criteria
|
|
51
|
+
{{{backend.mindset}}}
|
|
52
|
+
{{/if}}
|