create-project-arch 1.2.0 → 1.3.1

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.
@@ -0,0 +1,49 @@
1
+ # System Architecture Specification
2
+
3
+ <!-- Guidance: Use this template for new architecture specs in architecture/architecture/. -->
4
+
5
+ ## Purpose
6
+
7
+ <!-- Guidance: Explain why this system/component exists and the problem it solves. -->
8
+
9
+ ...
10
+
11
+ ## Scope
12
+
13
+ ### In Scope
14
+
15
+ - ...
16
+
17
+ ### Out Of Scope
18
+
19
+ - ...
20
+
21
+ ## Key Definitions
22
+
23
+ <!-- Guidance: Define domain terms and technical vocabulary used in this spec. -->
24
+
25
+ - ...
26
+
27
+ ## Design
28
+
29
+ <!-- Guidance: Describe architecture approach, constraints, and major patterns. -->
30
+
31
+ ...
32
+
33
+ ## Data Model
34
+
35
+ <!-- Guidance: List core entities, relationships, and ownership boundaries. -->
36
+
37
+ - ...
38
+
39
+ ## Owning Domain
40
+
41
+ <!-- Guidance: Specify the domain accountable for this architecture area. -->
42
+
43
+ - ...
44
+
45
+ ## MVP Constraints
46
+
47
+ <!-- Guidance: List minimum viable boundaries and explicit non-goals for initial delivery. -->
48
+
49
+ - ...
@@ -0,0 +1,42 @@
1
+ # Example System Specification
2
+
3
+ <!-- Guidance: Reference implementation of SPEC_TEMPLATE.md for new projects. -->
4
+
5
+ ## Purpose
6
+
7
+ Provide a canonical architecture spec format for teams documenting a system surface.
8
+
9
+ ## Scope
10
+
11
+ ### In Scope
12
+
13
+ - Define required architecture sections and ownership expectations.
14
+ - Establish traceable spec structure for implementation planning.
15
+
16
+ ### Out Of Scope
17
+
18
+ - Detailed API contract definitions.
19
+ - Final production implementation decisions.
20
+
21
+ ## Key Definitions
22
+
23
+ - System surface: a bounded capability area implemented across one or more modules.
24
+ - Ownership boundary: the domain responsible for maintaining this surface.
25
+
26
+ ## Design
27
+
28
+ Use a layered design where interface boundaries, data ownership, and dependency direction are explicit.
29
+
30
+ ## Data Model
31
+
32
+ - `SpecSection`: named architecture section with required content.
33
+ - `OwnershipLink`: maps the system surface to an owning domain.
34
+
35
+ ## Owning Domain
36
+
37
+ - `core`
38
+
39
+ ## MVP Constraints
40
+
41
+ - Keep scope focused on structure and traceability.
42
+ - Defer advanced runtime behavior until downstream milestones.
@@ -0,0 +1,67 @@
1
+ {
2
+ "schemaVersion": "1.0",
3
+ "concepts": [
4
+ {
5
+ "id": "concept-identity-and-access",
6
+ "name": "Identity And Access",
7
+ "description": "Authentication, authorization, and role enforcement boundaries.",
8
+ "owningDomain": "core",
9
+ "moduleResponsibilities": ["packages/api", "packages/types"],
10
+ "implementationSurfaces": [
11
+ {
12
+ "type": "api",
13
+ "path": "packages/api/src/auth"
14
+ },
15
+ {
16
+ "type": "ui",
17
+ "path": "apps/web/app/(auth)"
18
+ }
19
+ ],
20
+ "dependencies": ["concept-user-profile"]
21
+ },
22
+ {
23
+ "id": "concept-user-profile",
24
+ "name": "User Profile",
25
+ "description": "Canonical user metadata and preference lifecycle.",
26
+ "owningDomain": "ui",
27
+ "moduleResponsibilities": ["apps/web", "packages/ui"],
28
+ "implementationSurfaces": [
29
+ {
30
+ "type": "ui",
31
+ "path": "apps/web/app/profile"
32
+ },
33
+ {
34
+ "type": "component",
35
+ "path": "packages/ui/src/profile"
36
+ }
37
+ ],
38
+ "dependencies": []
39
+ }
40
+ ],
41
+ "domainModuleMapping": [
42
+ {
43
+ "domain": "core",
44
+ "module": "packages/api",
45
+ "responsibility": "Policy enforcement and access control services"
46
+ },
47
+ {
48
+ "domain": "ui",
49
+ "module": "apps/web",
50
+ "responsibility": "User-facing workflows and interaction handling"
51
+ }
52
+ ],
53
+ "implementationChecklist": [
54
+ {
55
+ "conceptId": "concept-identity-and-access",
56
+ "checks": [
57
+ "Decision linkage recorded",
58
+ "Primary code targets identified",
59
+ "Verification criteria defined"
60
+ ]
61
+ },
62
+ {
63
+ "conceptId": "concept-user-profile",
64
+ "checks": ["Domain ownership confirmed", "Surface mapping completed", "Dependencies reviewed"]
65
+ }
66
+ ]
67
+ }
@@ -0,0 +1,53 @@
1
+ ---
2
+ id: "project:YYYYMMDD:decision-slug"
3
+ title: "Decision Title"
4
+ slug: "decision-slug"
5
+ status: "proposed"
6
+ createdAt: "YYYY-MM-DD"
7
+ updatedAt: "YYYY-MM-DD"
8
+ relatedTasks: []
9
+ relatedDocs: []
10
+ supersedes: []
11
+ ---
12
+
13
+ ## Decision Title
14
+
15
+ <!-- Guidance: Capture one architecture decision per file. Keep scope explicit and testable. -->
16
+
17
+ ## Context
18
+
19
+ <!-- Guidance: What problem/constraint requires a decision now? -->
20
+
21
+ ...
22
+
23
+ ## Decision
24
+
25
+ <!-- Guidance: State the chosen approach unambiguously. -->
26
+
27
+ ...
28
+
29
+ ## Rationale
30
+
31
+ <!-- Guidance: Why this option was selected versus alternatives. -->
32
+
33
+ ...
34
+
35
+ ## Alternatives Considered
36
+
37
+ - Option A: ...
38
+ - Option B: ...
39
+
40
+ ## Affected Artifacts
41
+
42
+ <!-- Guidance: List code/doc surfaces impacted by this decision. -->
43
+
44
+ - `packages/...`
45
+ - `apps/...`
46
+ - `architecture/...`
47
+
48
+ ## Implementation Status Checklist
49
+
50
+ - [ ] Task links added
51
+ - [ ] Code targets updated
52
+ - [ ] Public docs updated
53
+ - [ ] Validation checks pass
@@ -0,0 +1,19 @@
1
+ # Decision Records
2
+
3
+ <!-- Guidance: Use decision records for meaningful architecture choices and tradeoffs. -->
4
+
5
+ ## Workflow
6
+
7
+ 1. Copy `DECISION_TEMPLATE.md` for each significant decision.
8
+ 2. Set frontmatter (`id`, `title`, `slug`, `status`, timestamps, links).
9
+ 3. Fill Context, Decision, Rationale, Alternatives, and Affected Artifacts.
10
+ 4. Track implementation progress with the checklist.
11
+
12
+ ## Decision Locations
13
+
14
+ - `architecture/decisions/` for architecture-level decision records.
15
+ - `roadmap/decisions/` and milestone decision indexes can reference decision IDs for execution traceability.
16
+
17
+ ## CLI Support
18
+
19
+ Use `pa decision new` to create operational decision records linked into roadmap indexes.
@@ -0,0 +1,45 @@
1
+ ---
2
+ id: "project:20260308:adopt-typed-service-contracts"
3
+ title: "Adopt Typed Service Contracts"
4
+ slug: "adopt-typed-service-contracts"
5
+ status: "accepted"
6
+ createdAt: "2026-03-08"
7
+ updatedAt: "2026-03-08"
8
+ relatedTasks:
9
+ - "phase-1/milestone-1-setup/005"
10
+ relatedDocs:
11
+ - "architecture/architecture/example-system.md"
12
+ supersedes: []
13
+ ---
14
+
15
+ ## Adopt Typed Service Contracts
16
+
17
+ ## Context
18
+
19
+ Service integration points were drifting across modules due to implicit payload assumptions.
20
+
21
+ ## Decision
22
+
23
+ All cross-module service boundaries must use explicit shared types in `packages/types` with runtime validation in API adapters.
24
+
25
+ ## Rationale
26
+
27
+ Typed contracts reduce integration regressions, improve agent traceability, and make architectural intent machine-verifiable.
28
+
29
+ ## Alternatives Considered
30
+
31
+ - Keep implicit JSON contracts and rely on integration tests only.
32
+ - Use per-module ad hoc type aliases without shared contracts.
33
+
34
+ ## Affected Artifacts
35
+
36
+ - `packages/types/src/`
37
+ - `packages/api/src/`
38
+ - `architecture/architecture/example-system.md`
39
+
40
+ ## Implementation Status Checklist
41
+
42
+ - [x] Task links added
43
+ - [x] Code targets updated
44
+ - [x] Public docs updated
45
+ - [x] Validation checks pass
@@ -0,0 +1,43 @@
1
+ # Domain Template
2
+
3
+ <!-- Guidance: Copy this file to `<domain-name>.md` when introducing a new domain. -->
4
+
5
+ ## Domain Name
6
+
7
+ <domain-name>
8
+
9
+ ## Responsibilities
10
+
11
+ <!-- Guidance: What this domain owns and manages. -->
12
+
13
+ - ...
14
+
15
+ ## Primary Data Ownership
16
+
17
+ <!-- Guidance: Entities this domain is the source of truth for. -->
18
+
19
+ - ...
20
+
21
+ ## Interface Contracts
22
+
23
+ <!-- Guidance: APIs/events this domain exposes and consumes. -->
24
+
25
+ - ...
26
+
27
+ ## Non-Goals
28
+
29
+ <!-- Guidance: Explicit boundaries for what this domain does NOT do. -->
30
+
31
+ - ...
32
+
33
+ ## Milestone Mapping
34
+
35
+ <!-- Guidance: Map milestones to domain delivery outcomes. -->
36
+
37
+ - milestone-1: ...
38
+ - milestone-2: ...
39
+
40
+ ## Implementation Surfaces
41
+
42
+ - `apps/...`
43
+ - `packages/...`
@@ -0,0 +1,18 @@
1
+ # Domain Specifications
2
+
3
+ <!-- Guidance: Define domain boundaries first, then map implementation surfaces and ownership. -->
4
+
5
+ This directory contains domain ownership artifacts for architecture-first planning.
6
+
7
+ ## What To Maintain
8
+
9
+ - `domains.json` - machine-readable domain registry
10
+ - `DOMAIN_TEMPLATE.md` - template for new domains
11
+ - `core.md`, `ui.md`, `api.md` - starter domain examples
12
+
13
+ ## Workflow
14
+
15
+ 1. Update `domains.json` when adding/removing a domain.
16
+ 2. Create or update a corresponding `<domain>.md` file.
17
+ 3. Keep ownership and interface contracts aligned with `arch-model/modules.json`.
18
+ 4. Reference milestone rollout in each domain spec.
@@ -0,0 +1,33 @@
1
+ # API Domain
2
+
3
+ <!-- Guidance: Service boundaries, data access, and system integration behavior. -->
4
+
5
+ ## Responsibilities
6
+
7
+ - Define service interfaces and orchestration policies.
8
+ - Own data access boundaries and integration adapters.
9
+
10
+ ## Primary Data Ownership
11
+
12
+ - Persistence models and storage interfaces
13
+ - Service-level request/response contracts
14
+
15
+ ## Interface Contracts
16
+
17
+ - API functions consumed by apps
18
+ - Data-access contracts consumed by orchestration logic
19
+
20
+ ## Non-Goals
21
+
22
+ - Rendering UI components
23
+ - Owning cross-cutting presentation concerns
24
+
25
+ ## Milestone Mapping
26
+
27
+ - milestone-1-foundation: establish service boundaries and data model assumptions
28
+ - milestone-2-build: implement core API adapters and persistence flows
29
+
30
+ ## Implementation Surfaces
31
+
32
+ - `packages/api`
33
+ - `packages/database`
@@ -0,0 +1,33 @@
1
+ # Core Domain
2
+
3
+ <!-- Guidance: Shared domain model, policies, and cross-cutting foundations. -->
4
+
5
+ ## Responsibilities
6
+
7
+ - Define shared domain concepts and invariants.
8
+ - Own cross-cutting configuration and type contracts.
9
+
10
+ ## Primary Data Ownership
11
+
12
+ - Canonical shared types
13
+ - Environment and runtime configuration schema
14
+
15
+ ## Interface Contracts
16
+
17
+ - Shared type exports consumed by UI/API domains
18
+ - Configuration contracts used across packages
19
+
20
+ ## Non-Goals
21
+
22
+ - Rendering user interface components
23
+ - Implementing transport-specific API adapters
24
+
25
+ ## Milestone Mapping
26
+
27
+ - milestone-1-foundation: establish canonical types/config and boundaries
28
+ - milestone-2-build: stabilize contracts used by runtime features
29
+
30
+ ## Implementation Surfaces
31
+
32
+ - `packages/types`
33
+ - `packages/config`
@@ -0,0 +1,19 @@
1
+ {
2
+ "domains": [
3
+ {
4
+ "name": "core",
5
+ "ownedPackages": ["packages/types", "packages/config"],
6
+ "ownedFeatures": ["domain-model", "shared-policies"]
7
+ },
8
+ {
9
+ "name": "ui",
10
+ "ownedPackages": ["apps/web", "apps/docs", "packages/ui"],
11
+ "ownedFeatures": ["user-experience", "design-system"]
12
+ },
13
+ {
14
+ "name": "api",
15
+ "ownedPackages": ["packages/api", "packages/database"],
16
+ "ownedFeatures": ["service-contracts", "data-access"]
17
+ }
18
+ ]
19
+ }
@@ -0,0 +1,34 @@
1
+ # UI Domain
2
+
3
+ <!-- Guidance: User-facing workflows and presentation-layer behavior. -->
4
+
5
+ ## Responsibilities
6
+
7
+ - Deliver user journeys in web/docs applications.
8
+ - Own component composition and interaction flows.
9
+
10
+ ## Primary Data Ownership
11
+
12
+ - View models for page-level UX states
13
+ - Design-system usage conventions
14
+
15
+ ## Interface Contracts
16
+
17
+ - UI contracts against API/domain services
18
+ - Shared component contracts in the UI package
19
+
20
+ ## Non-Goals
21
+
22
+ - Persisting domain data directly
23
+ - Defining backend data access policies
24
+
25
+ ## Milestone Mapping
26
+
27
+ - milestone-1-foundation: baseline information architecture and navigation
28
+ - milestone-2-build: implement key user workflows and feedback states
29
+
30
+ ## Implementation Surfaces
31
+
32
+ - `apps/web`
33
+ - `apps/docs`
34
+ - `packages/ui`
@@ -0,0 +1,35 @@
1
+ # Project Goals
2
+
3
+ <!-- Guidance: Define measurable outcomes used to evaluate implementation decisions. -->
4
+
5
+ Source: `architecture/foundation/prompt.md`
6
+
7
+ ## Primary Goals
8
+
9
+ <!-- Guidance: Add launch-critical goals with measurable success criteria. -->
10
+
11
+ - ...
12
+
13
+ ## Secondary Goals
14
+
15
+ <!-- Guidance: Add valuable but non-blocking goals for post-launch improvement. -->
16
+
17
+ - ...
18
+
19
+ ## Success Metrics
20
+
21
+ <!-- Guidance: Include concrete signals (latency, adoption, completion rate, etc.) for each primary goal. -->
22
+
23
+ - ...
24
+
25
+ ## Assumptions
26
+
27
+ - ...
28
+
29
+ ## Unknowns
30
+
31
+ - ...
32
+
33
+ ## Risks
34
+
35
+ - ...
@@ -0,0 +1,35 @@
1
+ # Project Overview
2
+
3
+ <!-- Guidance: Summarize what the project is, why it exists, and who it serves. Derive this from prompt.md. -->
4
+
5
+ Source: `architecture/foundation/prompt.md`
6
+
7
+ ## Problem Statement
8
+
9
+ <!-- Guidance: Describe the user/business pain this project solves. -->
10
+
11
+ ...
12
+
13
+ ## Intended Users
14
+
15
+ <!-- Guidance: Identify primary users and stakeholders who benefit from this system. -->
16
+
17
+ ...
18
+
19
+ ## Value Proposition
20
+
21
+ <!-- Guidance: State why this solution is better than alternatives in one concise paragraph. -->
22
+
23
+ ...
24
+
25
+ ## Assumptions
26
+
27
+ - ...
28
+
29
+ ## Unknowns
30
+
31
+ - ...
32
+
33
+ ## Risks
34
+
35
+ - ...
@@ -0,0 +1,23 @@
1
+ # Setup Prompt
2
+
3
+ <!-- Guidance: Paste the original product brief, request, or requirements doc below. This is the canonical source for all other foundation docs. -->
4
+
5
+ This file is the canonical source used to derive:
6
+
7
+ - `project-overview.md`
8
+ - `goals.md`
9
+ - `user-journey.md`
10
+ - `scope.md`
11
+
12
+ ## Prompt Status
13
+
14
+ - [ ] Replaced template text with real project prompt
15
+ - [ ] Prompt includes purpose, users, constraints, and non-goals
16
+
17
+ ## Source Prompt
18
+
19
+ <!-- Guidance: Replace this block with your actual prompt content. Keep enough detail for architecture planning. -->
20
+
21
+ ```md
22
+ PASTE_FOUNDATIONAL_PROMPT_HERE
23
+ ```
@@ -0,0 +1,35 @@
1
+ # Scope And Non-Scope
2
+
3
+ <!-- Guidance: Define explicit boundaries for what this phase will and will not deliver. -->
4
+
5
+ Source: `architecture/foundation/prompt.md`
6
+
7
+ ## In Scope
8
+
9
+ <!-- Guidance: List concrete capabilities that are required for this phase. -->
10
+
11
+ - ...
12
+
13
+ ## Out Of Scope
14
+
15
+ <!-- Guidance: List explicit exclusions to prevent scope creep. -->
16
+
17
+ - ...
18
+
19
+ ## Constraints
20
+
21
+ <!-- Guidance: Note constraints that shape delivery (team, time, budget, compliance, platform). -->
22
+
23
+ - ...
24
+
25
+ ## Assumptions
26
+
27
+ - ...
28
+
29
+ ## Unknowns
30
+
31
+ - ...
32
+
33
+ ## Risks
34
+
35
+ - ...
@@ -0,0 +1,37 @@
1
+ # User Journey
2
+
3
+ <!-- Guidance: Capture the end-to-end flow from first touch to successful outcome. -->
4
+
5
+ Source: `architecture/foundation/prompt.md`
6
+
7
+ ## Journey Steps
8
+
9
+ <!-- Guidance: Describe the primary happy path in ordered steps. -->
10
+
11
+ 1. ...
12
+ 2. ...
13
+ 3. ...
14
+
15
+ ## Key Scenarios
16
+
17
+ <!-- Guidance: Include important alternate paths (errors, retries, permission constraints). -->
18
+
19
+ - ...
20
+
21
+ ## User Outcomes
22
+
23
+ <!-- Guidance: Define what success looks like for the user at the end of the journey. -->
24
+
25
+ - ...
26
+
27
+ ## Assumptions
28
+
29
+ - ...
30
+
31
+ ## Unknowns
32
+
33
+ - ...
34
+
35
+ ## Risks
36
+
37
+ - ...
@@ -0,0 +1,50 @@
1
+ # Milestone Gap-Closure Report Template
2
+
3
+ <!-- Guidance: Use this at milestone completion to document closure quality and residual risk. -->
4
+
5
+ ## Executive Summary
6
+
7
+ <!-- Guidance: One paragraph summarizing closure outcome and release readiness. -->
8
+
9
+ ...
10
+
11
+ ## Gap Categories And Resolutions
12
+
13
+ <!-- Guidance: Group identified gaps by category and note final resolution status. -->
14
+
15
+ - Gap category: ...
16
+ - Finding: ...
17
+ - Resolution: ...
18
+ - Status: closed | partially-closed | open
19
+
20
+ ## Layer Synchronization Check
21
+
22
+ <!-- Guidance: Verify architecture, roadmap, and implementation surfaces remain aligned. -->
23
+
24
+ - [ ] Architecture docs updated
25
+ - [ ] Roadmap tasks/decisions synchronized
26
+ - [ ] Graph/parity checks pass (`pa check`)
27
+ - [ ] Report diagnostics reviewed (`pa report`)
28
+
29
+ ## Coverage Audit
30
+
31
+ <!-- Guidance: Confirm milestone requirements/specs are fully addressed or explicitly deferred. -->
32
+
33
+ - Requirement/spec: ...
34
+ - Coverage status: covered | deferred | partial
35
+ - Notes: ...
36
+
37
+ ## Remaining Gaps And Follow-On Items
38
+
39
+ <!-- Guidance: List unresolved items and where they are tracked next. -->
40
+
41
+ - Remaining gap: ...
42
+ - Follow-on task/decision: ...
43
+
44
+ ## Template Improvement Feedback
45
+
46
+ <!-- Guidance: Capture scaffold/process improvements discovered while executing this milestone. -->
47
+
48
+ - Improvement idea: ...
49
+ - Rationale: ...
50
+ - Proposed change: ...