@ryuenn3123/agentic-senior-core 2.5.22 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agent-context/prompts/init-project.md +5 -5
- package/.agent-context/prompts/refactor.md +2 -1
- package/.agent-context/prompts/review-code.md +3 -2
- package/.agent-context/review-checklists/pr-checklist.md +8 -1
- package/.agent-context/rules/architecture.md +11 -0
- package/.agent-context/rules/frontend-architecture.md +2 -2
- package/.agent-context/state/architecture-map.md +1 -1
- package/.agent-context/state/memory-continuity-benchmark.json +1 -1
- package/.agents/workflows/init-project.md +3 -3
- package/.agents/workflows/refactor.md +1 -1
- package/.agents/workflows/review-code.md +4 -5
- package/.cursorrules +27 -71
- package/.gemini/instructions.md +6 -7
- package/.github/copilot-instructions.md +5 -6
- package/.windsurfrules +27 -71
- package/AGENTS.md +7 -9
- package/CONTRIBUTING.md +18 -31
- package/README.md +21 -4
- package/bin/agentic-senior-core.js +0 -6
- package/lib/cli/commands/init.mjs +113 -650
- package/lib/cli/commands/launch.mjs +1 -23
- package/lib/cli/commands/rollback.mjs +1 -1
- package/lib/cli/commands/upgrade.mjs +1 -23
- package/lib/cli/compiler.mjs +77 -72
- package/lib/cli/constants.mjs +84 -26
- package/lib/cli/init-architecture-flow.mjs +231 -0
- package/lib/cli/init-detection-flow.mjs +123 -0
- package/lib/cli/init-options.mjs +344 -0
- package/lib/cli/init-selection.mjs +100 -0
- package/lib/cli/preflight.mjs +1 -1
- package/lib/cli/profile-packs.mjs +15 -1
- package/lib/cli/project-scaffolder.mjs +18 -154
- package/lib/cli/utils.mjs +16 -12
- package/mcp.json +19 -19
- package/package.json +5 -2
- package/scripts/context-triggered-audit.mjs +18 -18
- package/scripts/documentation-boundary-audit.mjs +92 -5
- package/scripts/forbidden-content-check.mjs +1 -1
- package/scripts/frontend-usability-audit.mjs +21 -28
- package/scripts/governance-weekly-report.mjs +29 -15
- package/scripts/llm-judge.mjs +2 -5
- package/scripts/mcp-server.mjs +389 -5
- package/scripts/release-gate.mjs +121 -145
- package/scripts/sync-thin-adapters.mjs +161 -0
- package/scripts/v3-purge-audit.mjs +231 -0
- package/scripts/validate-evidence-bundle.mjs +1 -1
- package/scripts/validate.mjs +224 -272
- package/.agent-context/blueprints/api-nextjs.md +0 -184
- package/.agent-context/blueprints/aspnet-api.md +0 -247
- package/.agent-context/blueprints/ci-github-actions.md +0 -226
- package/.agent-context/blueprints/ci-gitlab.md +0 -200
- package/.agent-context/blueprints/fastapi-service.md +0 -210
- package/.agent-context/blueprints/go-service.md +0 -217
- package/.agent-context/blueprints/graphql-grpc-api.md +0 -51
- package/.agent-context/blueprints/infrastructure-as-code.md +0 -62
- package/.agent-context/blueprints/kubernetes-manifests.md +0 -76
- package/.agent-context/blueprints/laravel-api.md +0 -233
- package/.agent-context/blueprints/mobile-app.md +0 -91
- package/.agent-context/blueprints/nestjs-logic.md +0 -247
- package/.agent-context/blueprints/observability.md +0 -227
- package/.agent-context/blueprints/spring-boot-api.md +0 -218
- package/.agent-context/profiles/platform.md +0 -13
- package/.agent-context/profiles/regulated.md +0 -13
- package/.agent-context/profiles/startup.md +0 -13
- package/.agent-context/review-checklists/frontend-excellence-rubric.md +0 -73
- package/.agent-context/review-checklists/frontend-skill-parity.md +0 -29
- package/.agent-context/review-checklists/frontend-usability.md +0 -35
- package/.agent-context/review-checklists/marketplace-acceptance.md +0 -60
- package/.agent-context/review-checklists/performance-audit.md +0 -71
- package/.agent-context/review-checklists/release-operations.md +0 -33
- package/.agent-context/review-checklists/security-audit.md +0 -119
- package/.agent-context/skills/README.md +0 -63
- package/.agent-context/skills/backend/README.md +0 -68
- package/.agent-context/skills/backend/architecture.md +0 -361
- package/.agent-context/skills/backend/compatibility-manifest.json +0 -8
- package/.agent-context/skills/backend/data-access.md +0 -231
- package/.agent-context/skills/backend/errors.md +0 -138
- package/.agent-context/skills/backend/validation.md +0 -117
- package/.agent-context/skills/backend.md +0 -29
- package/.agent-context/skills/cli/.evidence/compatibility-manifest.json +0 -5
- package/.agent-context/skills/cli/.evidence/sbom-excerpt.json +0 -10
- package/.agent-context/skills/cli/.evidence/test-report.json +0 -8
- package/.agent-context/skills/cli/CHANGELOG.md +0 -6
- package/.agent-context/skills/cli/README.md +0 -56
- package/.agent-context/skills/cli/compatibility-manifest.json +0 -8
- package/.agent-context/skills/cli/init.md +0 -38
- package/.agent-context/skills/cli/output.md +0 -36
- package/.agent-context/skills/cli/package.json +0 -5
- package/.agent-context/skills/cli/safety-telemetry.md +0 -39
- package/.agent-context/skills/cli/tests/.gitkeep +0 -1
- package/.agent-context/skills/cli/upgrade.md +0 -38
- package/.agent-context/skills/cli.md +0 -32
- package/.agent-context/skills/distribution/.evidence/compatibility-manifest.json +0 -9
- package/.agent-context/skills/distribution/.evidence/sbom-excerpt.json +0 -6
- package/.agent-context/skills/distribution/.evidence/test-report.json +0 -8
- package/.agent-context/skills/distribution/CHANGELOG.md +0 -7
- package/.agent-context/skills/distribution/README.md +0 -27
- package/.agent-context/skills/distribution/compatibility-manifest.json +0 -8
- package/.agent-context/skills/distribution/compatibility.md +0 -32
- package/.agent-context/skills/distribution/package.json +0 -5
- package/.agent-context/skills/distribution/provenance-attestation.md +0 -47
- package/.agent-context/skills/distribution/publish.md +0 -37
- package/.agent-context/skills/distribution/rollback.md +0 -32
- package/.agent-context/skills/distribution/tests/.gitkeep +0 -1
- package/.agent-context/skills/distribution.md +0 -32
- package/.agent-context/skills/frontend/.evidence/compatibility-manifest.json +0 -9
- package/.agent-context/skills/frontend/.evidence/sbom-excerpt.json +0 -6
- package/.agent-context/skills/frontend/.evidence/test-report.json +0 -8
- package/.agent-context/skills/frontend/CHANGELOG.md +0 -7
- package/.agent-context/skills/frontend/README.md +0 -50
- package/.agent-context/skills/frontend/accessibility.md +0 -107
- package/.agent-context/skills/frontend/compatibility-manifest.json +0 -8
- package/.agent-context/skills/frontend/conversion-clarity.md +0 -51
- package/.agent-context/skills/frontend/motion.md +0 -67
- package/.agent-context/skills/frontend/package.json +0 -5
- package/.agent-context/skills/frontend/performance.md +0 -63
- package/.agent-context/skills/frontend/responsive-delivery.md +0 -41
- package/.agent-context/skills/frontend/tests/.gitkeep +0 -1
- package/.agent-context/skills/frontend/ui-architecture.md +0 -128
- package/.agent-context/skills/frontend.md +0 -40
- package/.agent-context/skills/fullstack/.evidence/compatibility-manifest.json +0 -9
- package/.agent-context/skills/fullstack/.evidence/sbom-excerpt.json +0 -6
- package/.agent-context/skills/fullstack/.evidence/test-report.json +0 -8
- package/.agent-context/skills/fullstack/CHANGELOG.md +0 -7
- package/.agent-context/skills/fullstack/README.md +0 -27
- package/.agent-context/skills/fullstack/compatibility-manifest.json +0 -8
- package/.agent-context/skills/fullstack/contracts.md +0 -53
- package/.agent-context/skills/fullstack/end-to-end.md +0 -42
- package/.agent-context/skills/fullstack/feature-slicing.md +0 -65
- package/.agent-context/skills/fullstack/package.json +0 -5
- package/.agent-context/skills/fullstack/release-coordination.md +0 -51
- package/.agent-context/skills/fullstack/tests/.gitkeep +0 -1
- package/.agent-context/skills/fullstack.md +0 -30
- package/.agent-context/skills/index.json +0 -107
- package/.agent-context/skills/review-quality/.evidence/compatibility-manifest.json +0 -9
- package/.agent-context/skills/review-quality/.evidence/sbom-excerpt.json +0 -6
- package/.agent-context/skills/review-quality/.evidence/test-report.json +0 -8
- package/.agent-context/skills/review-quality/CHANGELOG.md +0 -7
- package/.agent-context/skills/review-quality/README.md +0 -27
- package/.agent-context/skills/review-quality/benchmark.md +0 -30
- package/.agent-context/skills/review-quality/compatibility-manifest.json +0 -8
- package/.agent-context/skills/review-quality/package.json +0 -5
- package/.agent-context/skills/review-quality/planning.md +0 -38
- package/.agent-context/skills/review-quality/release-decision.md +0 -49
- package/.agent-context/skills/review-quality/security.md +0 -34
- package/.agent-context/skills/review-quality/tests/.gitkeep +0 -1
- package/.agent-context/skills/review-quality.md +0 -34
- package/.agent-context/stacks/csharp.md +0 -149
- package/.agent-context/stacks/flutter.md +0 -16
- package/.agent-context/stacks/go.md +0 -181
- package/.agent-context/stacks/java.md +0 -135
- package/.agent-context/stacks/php.md +0 -192
- package/.agent-context/stacks/python.md +0 -153
- package/.agent-context/stacks/react-native.md +0 -16
- package/.agent-context/stacks/ruby.md +0 -80
- package/.agent-context/stacks/rust.md +0 -86
- package/.agent-context/stacks/typescript.md +0 -317
- package/.agent-context/state/skill-platform.json +0 -38
- package/lib/cli/skill-selector.mjs +0 -232
- package/lib/cli/templates/api-contract.md.id.tmpl +0 -143
- package/lib/cli/templates/api-contract.md.tmpl +0 -143
- package/lib/cli/templates/architecture-decision-record.md.id.tmpl +0 -106
- package/lib/cli/templates/architecture-decision-record.md.tmpl +0 -145
- package/lib/cli/templates/database-schema.md.id.tmpl +0 -74
- package/lib/cli/templates/database-schema.md.tmpl +0 -74
- package/lib/cli/templates/flow-overview.md.id.tmpl +0 -118
- package/lib/cli/templates/flow-overview.md.tmpl +0 -131
- package/lib/cli/templates/project-brief.md.id.tmpl +0 -55
- package/lib/cli/templates/project-brief.md.tmpl +0 -79
- package/scripts/init-project.ps1 +0 -105
- package/scripts/init-project.sh +0 -131
- package/scripts/skill-tier-policy.mjs +0 -76
- package/scripts/trust-scorer.mjs +0 -119
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
# Kontrak API: {{projectName}}
|
|
2
|
-
|
|
3
|
-
Dibuat oleh Agentic-Senior-Core CLI v{{cliVersion}}
|
|
4
|
-
Dibuat pada: {{generatedAt}}
|
|
5
|
-
Versi template: {{templateVersion}}
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## Prinsip Desain API
|
|
10
|
-
|
|
11
|
-
Mengacu ke `.agent-context/rules/api-docs.md`:
|
|
12
|
-
- OpenAPI 3.1 wajib untuk semua HTTP API.
|
|
13
|
-
- Setiap endpoint harus mendokumentasikan skema request/response.
|
|
14
|
-
- Error response harus pakai error code terstruktur, bukan string mentah.
|
|
15
|
-
- Validasi input wajib di semua endpoint.
|
|
16
|
-
|
|
17
|
-
## Base URL
|
|
18
|
-
|
|
19
|
-
```
|
|
20
|
-
{{baseUrl}}
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
---
|
|
24
|
-
|
|
25
|
-
## Endpoint
|
|
26
|
-
|
|
27
|
-
### Health Check
|
|
28
|
-
|
|
29
|
-
```
|
|
30
|
-
GET /health
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
Response `200`:
|
|
34
|
-
```json
|
|
35
|
-
{
|
|
36
|
-
"status": "ok",
|
|
37
|
-
"version": "1.0.0",
|
|
38
|
-
"timestamp": "2026-01-01T00:00:00Z"
|
|
39
|
-
}
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
{{#if hasAuth}}
|
|
43
|
-
### Autentikasi
|
|
44
|
-
|
|
45
|
-
```
|
|
46
|
-
POST /auth/register
|
|
47
|
-
```
|
|
48
|
-
Request:
|
|
49
|
-
```json
|
|
50
|
-
{
|
|
51
|
-
"email": "user@example.com",
|
|
52
|
-
"password": "secure-password",
|
|
53
|
-
"displayName": "User Name"
|
|
54
|
-
}
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
```
|
|
58
|
-
POST /auth/login
|
|
59
|
-
```
|
|
60
|
-
Request:
|
|
61
|
-
```json
|
|
62
|
-
{
|
|
63
|
-
"email": "user@example.com",
|
|
64
|
-
"password": "secure-password"
|
|
65
|
-
}
|
|
66
|
-
```
|
|
67
|
-
Response `200`:
|
|
68
|
-
```json
|
|
69
|
-
{
|
|
70
|
-
"token": "jwt-token-here",
|
|
71
|
-
"expiresIn": 3600
|
|
72
|
-
}
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
{{/if}}
|
|
76
|
-
### Endpoint Fitur
|
|
77
|
-
|
|
78
|
-
Berdasarkan fitur proyek, rencanakan grup endpoint berikut:
|
|
79
|
-
|
|
80
|
-
{{#each features}}
|
|
81
|
-
#### {{this}}
|
|
82
|
-
|
|
83
|
-
```
|
|
84
|
-
GET /api/[resource] - List
|
|
85
|
-
GET /api/[resource]/:id - Detail
|
|
86
|
-
POST /api/[resource] - Create
|
|
87
|
-
PUT /api/[resource]/:id - Update
|
|
88
|
-
DELETE /api/[resource]/:id - Delete
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
{{/each}}
|
|
92
|
-
|
|
93
|
-
---
|
|
94
|
-
|
|
95
|
-
## Format Error Response
|
|
96
|
-
|
|
97
|
-
Semua error response mengikuti struktur ini:
|
|
98
|
-
|
|
99
|
-
```json
|
|
100
|
-
{
|
|
101
|
-
"error": {
|
|
102
|
-
"code": "VALIDATION_ERROR",
|
|
103
|
-
"message": "Deskripsi yang bisa dibaca manusia",
|
|
104
|
-
"details": []
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
Kode error standar:
|
|
110
|
-
- `VALIDATION_ERROR` (400)
|
|
111
|
-
- `UNAUTHORIZED` (401)
|
|
112
|
-
- `FORBIDDEN` (403)
|
|
113
|
-
- `NOT_FOUND` (404)
|
|
114
|
-
- `CONFLICT` (409)
|
|
115
|
-
- `INTERNAL_ERROR` (500)
|
|
116
|
-
|
|
117
|
-
---
|
|
118
|
-
|
|
119
|
-
## Pagination
|
|
120
|
-
|
|
121
|
-
Endpoint list menggunakan cursor-based atau offset-based pagination:
|
|
122
|
-
|
|
123
|
-
```
|
|
124
|
-
GET /api/[resource]?page=1&limit=20
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
Response mencakup:
|
|
128
|
-
```json
|
|
129
|
-
{
|
|
130
|
-
"data": [],
|
|
131
|
-
"pagination": {
|
|
132
|
-
"page": 1,
|
|
133
|
-
"limit": 20,
|
|
134
|
-
"total": 100,
|
|
135
|
-
"totalPages": 5
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
---
|
|
141
|
-
|
|
142
|
-
Dokumen ini adalah referensi hidup. Perbarui saat endpoint API diimplementasikan.
|
|
143
|
-
Jaga file OpenAPI 3.1 tetap sinkron dengan dokumen ini.
|
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
# API Contract: {{projectName}}
|
|
2
|
-
|
|
3
|
-
Generated by Agentic-Senior-Core CLI v{{cliVersion}}
|
|
4
|
-
Generated at: {{generatedAt}}
|
|
5
|
-
Template version: {{templateVersion}}
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## API Design Principles
|
|
10
|
-
|
|
11
|
-
Per `.agent-context/rules/api-docs.md`:
|
|
12
|
-
- OpenAPI 3.1 specification is mandatory for all HTTP APIs.
|
|
13
|
-
- Every endpoint must have documented request/response schemas.
|
|
14
|
-
- Error responses use typed error codes, never raw strings.
|
|
15
|
-
- Input validation is mandatory on every endpoint.
|
|
16
|
-
|
|
17
|
-
## Base URL
|
|
18
|
-
|
|
19
|
-
```
|
|
20
|
-
{{baseUrl}}
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
---
|
|
24
|
-
|
|
25
|
-
## Endpoints
|
|
26
|
-
|
|
27
|
-
### Health Check
|
|
28
|
-
|
|
29
|
-
```
|
|
30
|
-
GET /health
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
Response `200`:
|
|
34
|
-
```json
|
|
35
|
-
{
|
|
36
|
-
"status": "ok",
|
|
37
|
-
"version": "1.0.0",
|
|
38
|
-
"timestamp": "2026-01-01T00:00:00Z"
|
|
39
|
-
}
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
{{#if hasAuth}}
|
|
43
|
-
### Authentication
|
|
44
|
-
|
|
45
|
-
```
|
|
46
|
-
POST /auth/register
|
|
47
|
-
```
|
|
48
|
-
Request:
|
|
49
|
-
```json
|
|
50
|
-
{
|
|
51
|
-
"email": "user@example.com",
|
|
52
|
-
"password": "secure-password",
|
|
53
|
-
"displayName": "User Name"
|
|
54
|
-
}
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
```
|
|
58
|
-
POST /auth/login
|
|
59
|
-
```
|
|
60
|
-
Request:
|
|
61
|
-
```json
|
|
62
|
-
{
|
|
63
|
-
"email": "user@example.com",
|
|
64
|
-
"password": "secure-password"
|
|
65
|
-
}
|
|
66
|
-
```
|
|
67
|
-
Response `200`:
|
|
68
|
-
```json
|
|
69
|
-
{
|
|
70
|
-
"token": "jwt-token-here",
|
|
71
|
-
"expiresIn": 3600
|
|
72
|
-
}
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
{{/if}}
|
|
76
|
-
### Feature Endpoints
|
|
77
|
-
|
|
78
|
-
Based on the defined project features, plan these endpoint groups:
|
|
79
|
-
|
|
80
|
-
{{#each features}}
|
|
81
|
-
#### {{this}}
|
|
82
|
-
|
|
83
|
-
```
|
|
84
|
-
GET /api/[resource] — List
|
|
85
|
-
GET /api/[resource]/:id — Detail
|
|
86
|
-
POST /api/[resource] — Create
|
|
87
|
-
PUT /api/[resource]/:id — Update
|
|
88
|
-
DELETE /api/[resource]/:id — Delete
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
{{/each}}
|
|
92
|
-
|
|
93
|
-
---
|
|
94
|
-
|
|
95
|
-
## Error Response Format
|
|
96
|
-
|
|
97
|
-
All error responses follow this structure:
|
|
98
|
-
|
|
99
|
-
```json
|
|
100
|
-
{
|
|
101
|
-
"error": {
|
|
102
|
-
"code": "VALIDATION_ERROR",
|
|
103
|
-
"message": "Human-readable description",
|
|
104
|
-
"details": []
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
Standard error codes:
|
|
110
|
-
- `VALIDATION_ERROR` (400)
|
|
111
|
-
- `UNAUTHORIZED` (401)
|
|
112
|
-
- `FORBIDDEN` (403)
|
|
113
|
-
- `NOT_FOUND` (404)
|
|
114
|
-
- `CONFLICT` (409)
|
|
115
|
-
- `INTERNAL_ERROR` (500)
|
|
116
|
-
|
|
117
|
-
---
|
|
118
|
-
|
|
119
|
-
## Pagination
|
|
120
|
-
|
|
121
|
-
List endpoints use cursor-based or offset-based pagination:
|
|
122
|
-
|
|
123
|
-
```
|
|
124
|
-
GET /api/[resource]?page=1&limit=20
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
Response includes:
|
|
128
|
-
```json
|
|
129
|
-
{
|
|
130
|
-
"data": [],
|
|
131
|
-
"pagination": {
|
|
132
|
-
"page": 1,
|
|
133
|
-
"limit": 20,
|
|
134
|
-
"total": 100,
|
|
135
|
-
"totalPages": 5
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
---
|
|
141
|
-
|
|
142
|
-
This document is a living reference. Update it as API endpoints are implemented.
|
|
143
|
-
Maintain a corresponding OpenAPI 3.1 specification file alongside this document.
|
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
# Catatan Keputusan Arsitektur: {{projectName}}
|
|
2
|
-
|
|
3
|
-
Dibuat oleh Agentic-Senior-Core CLI v{{cliVersion}}
|
|
4
|
-
Dibuat pada: {{generatedAt}}
|
|
5
|
-
Versi template: {{templateVersion}}
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## ADR-001: Pemilihan Stack Teknologi
|
|
10
|
-
|
|
11
|
-
**Status**: Disetujui
|
|
12
|
-
**Tanggal**: {{generatedDate}}
|
|
13
|
-
|
|
14
|
-
### Konteks
|
|
15
|
-
|
|
16
|
-
Proyek ini membutuhkan solusi {{primaryDomain}}. Tim mengevaluasi profil stack dan blueprint dari repository governance Agentic-Senior-Core.
|
|
17
|
-
|
|
18
|
-
### Keputusan
|
|
19
|
-
|
|
20
|
-
- **Bahasa/Runtime**: {{stackDisplayName}} (sumber: `.agent-context/stacks/{{stackFileName}}`)
|
|
21
|
-
- **Blueprint arsitektur**: {{blueprintDisplayName}} (sumber: `.agent-context/blueprints/{{blueprintFileName}}`)
|
|
22
|
-
- **Database**: {{databaseChoice}}
|
|
23
|
-
- **Autentikasi**: {{authStrategy}}
|
|
24
|
-
|
|
25
|
-
### Alasan
|
|
26
|
-
|
|
27
|
-
Stack {{stackDisplayName}} dipilih karena:
|
|
28
|
-
- Selaras dengan domain proyek ({{primaryDomain}}).
|
|
29
|
-
- Repository governance menyediakan blueprint tervalidasi untuk stack ini.
|
|
30
|
-
- Tim memiliki skill pack yang relevan untuk teknologi ini.
|
|
31
|
-
|
|
32
|
-
### Konsekuensi
|
|
33
|
-
|
|
34
|
-
- Semua kode harus mengikuti konvensi di `.agent-context/stacks/{{stackFileName}}`.
|
|
35
|
-
- Batas modul harus mengikuti `.agent-context/blueprints/{{blueprintFileName}}`.
|
|
36
|
-
- Akses database harus mengikuti `.agent-context/rules/database-design.md`.
|
|
37
|
-
- Kontrak API harus mengikuti `.agent-context/rules/api-docs.md`.
|
|
38
|
-
|
|
39
|
-
---
|
|
40
|
-
|
|
41
|
-
## ADR-002: Pola Arsitektur
|
|
42
|
-
|
|
43
|
-
**Status**: Disetujui
|
|
44
|
-
**Tanggal**: {{generatedDate}}
|
|
45
|
-
|
|
46
|
-
### Konteks
|
|
47
|
-
|
|
48
|
-
Proyek membutuhkan pemisahan concern yang jelas agar tetap mudah dirawat saat skala bertambah.
|
|
49
|
-
|
|
50
|
-
### Keputusan
|
|
51
|
-
|
|
52
|
-
Gunakan arsitektur berlapis **Transport - Service - Repository** seperti di `.agent-context/rules/architecture.md`.
|
|
53
|
-
|
|
54
|
-
{{#if hasDatabase}}
|
|
55
|
-
### Lapisan Database
|
|
56
|
-
|
|
57
|
-
- Database utama: {{databaseChoice}}
|
|
58
|
-
- Strategi ORM/query: ikuti konvensi stack yang dipilih.
|
|
59
|
-
- Strategi migrasi: migrasi aman dan reversible sesuai `.agent-context/rules/database-design.md`.
|
|
60
|
-
{{/if}}
|
|
61
|
-
|
|
62
|
-
{{#if hasAuth}}
|
|
63
|
-
### Lapisan Autentikasi
|
|
64
|
-
|
|
65
|
-
- Strategi: {{authStrategy}}
|
|
66
|
-
- Manajemen secret: tidak boleh hardcoded sesuai `.agent-context/rules/security.md`.
|
|
67
|
-
- Validasi input: wajib di semua endpoint auth sesuai `.agent-context/rules/security.md`.
|
|
68
|
-
{{/if}}
|
|
69
|
-
|
|
70
|
-
### Konsekuensi
|
|
71
|
-
|
|
72
|
-
- Setiap modul harus menjaga pemisahan tiga lapis.
|
|
73
|
-
- Import lintas lapis dilarang (transport tidak boleh akses repository langsung).
|
|
74
|
-
- Logic bersama dipindah ke modul shared, bukan di handler transport.
|
|
75
|
-
|
|
76
|
-
---
|
|
77
|
-
|
|
78
|
-
## ADR-003: Struktur Proyek
|
|
79
|
-
|
|
80
|
-
**Status**: Disetujui
|
|
81
|
-
**Tanggal**: {{generatedDate}}
|
|
82
|
-
|
|
83
|
-
### Keputusan
|
|
84
|
-
|
|
85
|
-
Struktur direktori proyek mengikuti blueprint terpilih (`{{blueprintDisplayName}}`). Direktori utama:
|
|
86
|
-
|
|
87
|
-
```
|
|
88
|
-
{{projectName}}/
|
|
89
|
-
src/
|
|
90
|
-
modules/ - modul fitur (masing-masing berisi transport, service, repository)
|
|
91
|
-
shared/ - utilitas, tipe, konstanta bersama
|
|
92
|
-
config/ - konfigurasi environment dan aplikasi
|
|
93
|
-
docs/ - dokumentasi proyek (direktori ini)
|
|
94
|
-
tests/ - test suites
|
|
95
|
-
.agent-context/ - aturan dan kebijakan governance
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
### Konsekuensi
|
|
99
|
-
|
|
100
|
-
- Fitur baru ditambahkan sebagai modul mandiri.
|
|
101
|
-
- Kode shared diekstrak jika dipakai oleh dua modul atau lebih.
|
|
102
|
-
- Konfigurasi dipusatkan dan divalidasi saat startup.
|
|
103
|
-
|
|
104
|
-
---
|
|
105
|
-
|
|
106
|
-
Tambahkan ADR baru di bawah ini saat ada keputusan arsitektur baru.
|
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
# Architecture Decision Record: {{projectName}}
|
|
2
|
-
|
|
3
|
-
Generated by Agentic-Senior-Core CLI v{{cliVersion}}
|
|
4
|
-
Generated at: {{generatedAt}}
|
|
5
|
-
Template version: {{templateVersion}}
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## ADR-001: Technology Stack Selection
|
|
10
|
-
|
|
11
|
-
**Status**: Accepted
|
|
12
|
-
**Date**: {{generatedDate}}
|
|
13
|
-
|
|
14
|
-
### Context
|
|
15
|
-
|
|
16
|
-
This project requires a {{primaryDomain}} solution. The team evaluated available stack profiles and blueprints from the Agentic-Senior-Core governance repository.
|
|
17
|
-
|
|
18
|
-
### Decision
|
|
19
|
-
|
|
20
|
-
- **Language/Runtime**: {{stackDisplayName}} (source: `.agent-context/stacks/{{stackFileName}}`)
|
|
21
|
-
{{#if additionalStackDisplayNames}}
|
|
22
|
-
- **Additional runtime context**:
|
|
23
|
-
{{#each additionalStackDisplayNames}}
|
|
24
|
-
- {{this}}
|
|
25
|
-
{{/each}}
|
|
26
|
-
{{/if}}
|
|
27
|
-
- **Architecture blueprint**: {{blueprintDisplayName}} (source: `.agent-context/blueprints/{{blueprintFileName}}`)
|
|
28
|
-
{{#if additionalBlueprintDisplayNames}}
|
|
29
|
-
- **Additional architecture blueprints**:
|
|
30
|
-
{{#each additionalBlueprintDisplayNames}}
|
|
31
|
-
- {{this}}
|
|
32
|
-
{{/each}}
|
|
33
|
-
{{/if}}
|
|
34
|
-
- **Database**: {{databaseChoice}}
|
|
35
|
-
- **Auth**: {{authStrategy}}
|
|
36
|
-
- **Runtime environment target**: {{runtimeEnvironmentLabel}}
|
|
37
|
-
- **Containerization strategy**: {{dockerStrategy}}
|
|
38
|
-
|
|
39
|
-
### Rationale
|
|
40
|
-
|
|
41
|
-
The {{stackDisplayName}} stack was selected because:
|
|
42
|
-
- It matches the project domain ({{primaryDomain}}).
|
|
43
|
-
- The governance repository provides a verified blueprint for this stack.
|
|
44
|
-
- The team has access to skill packs covering this technology.
|
|
45
|
-
|
|
46
|
-
### Consequences
|
|
47
|
-
|
|
48
|
-
- All code must follow the conventions in `.agent-context/stacks/{{stackFileName}}`.
|
|
49
|
-
- Module boundaries must follow `.agent-context/blueprints/{{blueprintFileName}}`.
|
|
50
|
-
- Database access must follow `.agent-context/rules/database-design.md`.
|
|
51
|
-
- API contracts must follow `.agent-context/rules/api-docs.md`.
|
|
52
|
-
|
|
53
|
-
{{#if hasDocker}}
|
|
54
|
-
---
|
|
55
|
-
|
|
56
|
-
## ADR-004: Containerization Strategy (Dynamic)
|
|
57
|
-
|
|
58
|
-
**Status**: Accepted
|
|
59
|
-
**Date**: {{generatedDate}}
|
|
60
|
-
|
|
61
|
-
### Context
|
|
62
|
-
|
|
63
|
-
This project requires container support with separated development and production concerns.
|
|
64
|
-
|
|
65
|
-
### Decision
|
|
66
|
-
|
|
67
|
-
- Follow dynamic container generation based on real project dependencies and runtime profile.
|
|
68
|
-
- Do not rely on static Docker templates copied from unrelated repositories.
|
|
69
|
-
{{dockerDevelopmentGuidance}}
|
|
70
|
-
{{dockerProductionGuidance}}
|
|
71
|
-
|
|
72
|
-
### Consequences
|
|
73
|
-
|
|
74
|
-
- Development and production Docker artifacts are treated as separate deliverables.
|
|
75
|
-
- Changes in package/runtime dependencies must regenerate container setup instructions in the same change.
|
|
76
|
-
{{/if}}
|
|
77
|
-
|
|
78
|
-
---
|
|
79
|
-
|
|
80
|
-
## ADR-002: Architecture Pattern
|
|
81
|
-
|
|
82
|
-
**Status**: Accepted
|
|
83
|
-
**Date**: {{generatedDate}}
|
|
84
|
-
|
|
85
|
-
### Context
|
|
86
|
-
|
|
87
|
-
The project needs a clear separation of concerns to remain maintainable as it grows.
|
|
88
|
-
|
|
89
|
-
### Decision
|
|
90
|
-
|
|
91
|
-
Follow the **Transport - Service - Repository** layered architecture as defined in `.agent-context/rules/architecture.md`.
|
|
92
|
-
|
|
93
|
-
{{#if hasDatabase}}
|
|
94
|
-
### Database Layer
|
|
95
|
-
|
|
96
|
-
- Primary database: {{databaseChoice}}
|
|
97
|
-
- ORM/query strategy: follow stack-specific conventions from the selected stack profile.
|
|
98
|
-
- Migration strategy: safe, reversible migrations per `.agent-context/rules/database-design.md`.
|
|
99
|
-
{{/if}}
|
|
100
|
-
|
|
101
|
-
{{#if hasAuth}}
|
|
102
|
-
### Authentication Layer
|
|
103
|
-
|
|
104
|
-
- Strategy: {{authStrategy}}
|
|
105
|
-
- Secrets management: no hardcoded secrets per `.agent-context/rules/security.md`.
|
|
106
|
-
- Input validation: mandatory on all auth endpoints per `.agent-context/rules/security.md`.
|
|
107
|
-
{{/if}}
|
|
108
|
-
|
|
109
|
-
### Consequences
|
|
110
|
-
|
|
111
|
-
- Every module must respect the three-layer separation.
|
|
112
|
-
- Cross-layer imports are forbidden (no repository calls from transport layer).
|
|
113
|
-
- Shared logic lives in a dedicated shared module, never in transport handlers.
|
|
114
|
-
|
|
115
|
-
---
|
|
116
|
-
|
|
117
|
-
## ADR-003: Project Structure
|
|
118
|
-
|
|
119
|
-
**Status**: Accepted
|
|
120
|
-
**Date**: {{generatedDate}}
|
|
121
|
-
|
|
122
|
-
### Decision
|
|
123
|
-
|
|
124
|
-
The project directory structure follows the selected blueprint (`{{blueprintDisplayName}}`). Key directories:
|
|
125
|
-
|
|
126
|
-
```
|
|
127
|
-
{{projectName}}/
|
|
128
|
-
src/
|
|
129
|
-
modules/ — feature modules (each with transport, service, repository)
|
|
130
|
-
shared/ — shared utilities, types, constants
|
|
131
|
-
config/ — environment and app configuration
|
|
132
|
-
docs/ — project documentation (this directory)
|
|
133
|
-
tests/ — test suites
|
|
134
|
-
.agent-context/ — governance rules and policies
|
|
135
|
-
```
|
|
136
|
-
|
|
137
|
-
### Consequences
|
|
138
|
-
|
|
139
|
-
- New features are added as self-contained modules.
|
|
140
|
-
- Shared code is extracted only when used by two or more modules.
|
|
141
|
-
- Configuration is centralized and validated at startup.
|
|
142
|
-
|
|
143
|
-
---
|
|
144
|
-
|
|
145
|
-
Add new ADR entries below as architectural decisions are made during development.
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
# Skema Database: {{projectName}}
|
|
2
|
-
|
|
3
|
-
Dibuat oleh Agentic-Senior-Core CLI v{{cliVersion}}
|
|
4
|
-
Dibuat pada: {{generatedAt}}
|
|
5
|
-
Versi template: {{templateVersion}}
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## Teknologi Database
|
|
10
|
-
|
|
11
|
-
**Tipe**: {{databaseChoice}}
|
|
12
|
-
**Strategi autentikasi**: {{authStrategy}}
|
|
13
|
-
|
|
14
|
-
## Prinsip Desain Skema
|
|
15
|
-
|
|
16
|
-
Mengacu ke `.agent-context/rules/database-design.md`:
|
|
17
|
-
- Gunakan Third Normal Form (3NF) sebagai default kecuali ada bukti performa untuk denormalisasi.
|
|
18
|
-
- Gunakan migrasi aman dan reversible untuk setiap perubahan skema.
|
|
19
|
-
- Jangan gunakan raw SQL tanpa parameterized query.
|
|
20
|
-
- Tambahkan index berdasarkan pola query terukur, bukan asumsi.
|
|
21
|
-
|
|
22
|
-
---
|
|
23
|
-
|
|
24
|
-
## Tabel Inti
|
|
25
|
-
|
|
26
|
-
{{#if hasAuth}}
|
|
27
|
-
### users
|
|
28
|
-
|
|
29
|
-
| Kolom | Tipe | Constraint | Catatan |
|
|
30
|
-
|------|------|------------|---------|
|
|
31
|
-
| id | UUID / BIGINT | PK, NOT NULL | Identifier utama |
|
|
32
|
-
| email | VARCHAR(255) | UNIQUE, NOT NULL | Kredensial login |
|
|
33
|
-
| password_hash | VARCHAR(255) | NOT NULL | Hash bcrypt/argon2 |
|
|
34
|
-
| display_name | VARCHAR(100) | NOT NULL | Nama tampilan |
|
|
35
|
-
| role | VARCHAR(50) | NOT NULL, DEFAULT 'user' | Role akses |
|
|
36
|
-
| created_at | TIMESTAMP | NOT NULL, DEFAULT NOW() | Waktu buat |
|
|
37
|
-
| updated_at | TIMESTAMP | NOT NULL, DEFAULT NOW() | Waktu ubah |
|
|
38
|
-
|
|
39
|
-
{{/if}}
|
|
40
|
-
### [Definisikan tabel domain Anda di sini]
|
|
41
|
-
|
|
42
|
-
Berdasarkan fitur proyek:
|
|
43
|
-
{{#each features}}
|
|
44
|
-
- **{{this}}** - tentukan data apa yang perlu disimpan, dibaca, dan di-query.
|
|
45
|
-
{{/each}}
|
|
46
|
-
|
|
47
|
-
| Kolom | Tipe | Constraint | Catatan |
|
|
48
|
-
|------|------|------------|---------|
|
|
49
|
-
| id | UUID / BIGINT | PK, NOT NULL | Identifier utama |
|
|
50
|
-
| ... | ... | ... | Definisikan sesuai kebutuhan fitur |
|
|
51
|
-
| created_at | TIMESTAMP | NOT NULL, DEFAULT NOW() | Waktu buat |
|
|
52
|
-
| updated_at | TIMESTAMP | NOT NULL, DEFAULT NOW() | Waktu ubah |
|
|
53
|
-
|
|
54
|
-
---
|
|
55
|
-
|
|
56
|
-
## Strategi Migrasi
|
|
57
|
-
|
|
58
|
-
1. **Create**: buat file migrasi baru untuk setiap perubahan skema.
|
|
59
|
-
2. **Test**: uji migrasi di lokal/staging sebelum produksi.
|
|
60
|
-
3. **Rollback**: setiap migrasi wajib punya script down/rollback.
|
|
61
|
-
4. **Review**: perubahan skema wajib review sesuai `.agent-context/review-checklists/pr-checklist.md`.
|
|
62
|
-
|
|
63
|
-
## Index
|
|
64
|
-
|
|
65
|
-
Tambahkan index berdasarkan pola query yang benar-benar muncul selama development:
|
|
66
|
-
|
|
67
|
-
| Tabel | Kolom | Tipe | Alasan |
|
|
68
|
-
|-------|-------|------|--------|
|
|
69
|
-
| users | email | UNIQUE | Lookup login |
|
|
70
|
-
| ... | ... | ... | Tambahkan saat pola query muncul |
|
|
71
|
-
|
|
72
|
-
---
|
|
73
|
-
|
|
74
|
-
Dokumen ini adalah referensi hidup. Perbarui saat model data berkembang.
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
# Database Schema: {{projectName}}
|
|
2
|
-
|
|
3
|
-
Generated by Agentic-Senior-Core CLI v{{cliVersion}}
|
|
4
|
-
Generated at: {{generatedAt}}
|
|
5
|
-
Template version: {{templateVersion}}
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## Database Technology
|
|
10
|
-
|
|
11
|
-
**Type**: {{databaseChoice}}
|
|
12
|
-
**Auth strategy**: {{authStrategy}}
|
|
13
|
-
|
|
14
|
-
## Schema Design Principles
|
|
15
|
-
|
|
16
|
-
Per `.agent-context/rules/database-design.md`:
|
|
17
|
-
- Default to Third Normal Form (3NF) unless performance evidence justifies denormalization.
|
|
18
|
-
- Use safe, reversible migrations for every schema change.
|
|
19
|
-
- Never use raw SQL in application code without parameterized queries.
|
|
20
|
-
- Add indexes based on measured query patterns, not assumptions.
|
|
21
|
-
|
|
22
|
-
---
|
|
23
|
-
|
|
24
|
-
## Core Tables
|
|
25
|
-
|
|
26
|
-
{{#if hasAuth}}
|
|
27
|
-
### users
|
|
28
|
-
|
|
29
|
-
| Column | Type | Constraints | Notes |
|
|
30
|
-
|--------|------|-------------|-------|
|
|
31
|
-
| id | UUID / BIGINT | PK, NOT NULL | Primary identifier |
|
|
32
|
-
| email | VARCHAR(255) | UNIQUE, NOT NULL | Login credential |
|
|
33
|
-
| password_hash | VARCHAR(255) | NOT NULL | Hashed with bcrypt/argon2 |
|
|
34
|
-
| display_name | VARCHAR(100) | NOT NULL | Public display name |
|
|
35
|
-
| role | VARCHAR(50) | NOT NULL, DEFAULT 'user' | Role-based access |
|
|
36
|
-
| created_at | TIMESTAMP | NOT NULL, DEFAULT NOW() | Record creation |
|
|
37
|
-
| updated_at | TIMESTAMP | NOT NULL, DEFAULT NOW() | Last modification |
|
|
38
|
-
|
|
39
|
-
{{/if}}
|
|
40
|
-
### [Define your domain tables here]
|
|
41
|
-
|
|
42
|
-
Based on the project features:
|
|
43
|
-
{{#each features}}
|
|
44
|
-
- **{{this}}** — consider what data this feature needs to store, read, and query.
|
|
45
|
-
{{/each}}
|
|
46
|
-
|
|
47
|
-
| Column | Type | Constraints | Notes |
|
|
48
|
-
|--------|------|-------------|-------|
|
|
49
|
-
| id | UUID / BIGINT | PK, NOT NULL | Primary identifier |
|
|
50
|
-
| ... | ... | ... | Define based on feature requirements |
|
|
51
|
-
| created_at | TIMESTAMP | NOT NULL, DEFAULT NOW() | Record creation |
|
|
52
|
-
| updated_at | TIMESTAMP | NOT NULL, DEFAULT NOW() | Last modification |
|
|
53
|
-
|
|
54
|
-
---
|
|
55
|
-
|
|
56
|
-
## Migration Strategy
|
|
57
|
-
|
|
58
|
-
1. **Create**: Write a new migration file for every schema change.
|
|
59
|
-
2. **Test**: Run migration on a local/staging database before production.
|
|
60
|
-
3. **Rollback**: Every migration must have a corresponding down/rollback script.
|
|
61
|
-
4. **Review**: Schema changes require review per `.agent-context/review-checklists/pr-checklist.md`.
|
|
62
|
-
|
|
63
|
-
## Indexes
|
|
64
|
-
|
|
65
|
-
Add indexes based on actual query patterns observed during development:
|
|
66
|
-
|
|
67
|
-
| Table | Column(s) | Type | Rationale |
|
|
68
|
-
|-------|-----------|------|-----------|
|
|
69
|
-
| users | email | UNIQUE | Login lookup |
|
|
70
|
-
| ... | ... | ... | Add as query patterns emerge |
|
|
71
|
-
|
|
72
|
-
---
|
|
73
|
-
|
|
74
|
-
This document is a living reference. Update it as the data model evolves.
|