@zrg-sh/studio 0.1.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.
Files changed (95) hide show
  1. package/LICENSE +21 -0
  2. package/ONBOARDING.html +270 -0
  3. package/README.md +82 -0
  4. package/bin/zrg-studio.mjs +67 -0
  5. package/package.json +29 -0
  6. package/src/commands/doctor.mjs +60 -0
  7. package/src/commands/init.mjs +44 -0
  8. package/src/lib/copy-template.mjs +42 -0
  9. package/src/lib/merge-claude-settings.mjs +54 -0
  10. package/template/.claude/agents/studio-analyst.md +109 -0
  11. package/template/.claude/agents/studio-designer.md +172 -0
  12. package/template/.claude/agents/studio-domain-framer.md +109 -0
  13. package/template/.claude/agents/studio-domain-merger.md +264 -0
  14. package/template/.claude/agents/studio-pm.md +169 -0
  15. package/template/.claude/agents/studio-reviewer.md +156 -0
  16. package/template/.claude/agents/studio-scenario-writer.md +152 -0
  17. package/template/.claude/commands/studio-analyst.md +45 -0
  18. package/template/.claude/commands/studio-designer.md +34 -0
  19. package/template/.claude/commands/studio-domain-framer.md +30 -0
  20. package/template/.claude/commands/studio-onboard.md +98 -0
  21. package/template/.claude/commands/studio-pm.md +39 -0
  22. package/template/.claude/commands/studio-scenario-writer.md +44 -0
  23. package/template/product-specs/CLAUDE.md +53 -0
  24. package/template/product-specs/agents/studio-analyst.md +109 -0
  25. package/template/product-specs/agents/studio-codebase-mapper.md +217 -0
  26. package/template/product-specs/agents/studio-conflict-resolver.md +169 -0
  27. package/template/product-specs/agents/studio-designer.md +172 -0
  28. package/template/product-specs/agents/studio-domain-extractor.md +365 -0
  29. package/template/product-specs/agents/studio-domain-framer.md +109 -0
  30. package/template/product-specs/agents/studio-domain-interviewer.md +246 -0
  31. package/template/product-specs/agents/studio-domain-merger.md +264 -0
  32. package/template/product-specs/agents/studio-god.md +779 -0
  33. package/template/product-specs/agents/studio-meta-god.md +335 -0
  34. package/template/product-specs/agents/studio-pm.md +169 -0
  35. package/template/product-specs/agents/studio-reviewer.md +156 -0
  36. package/template/product-specs/agents/studio-scenario-writer.md +152 -0
  37. package/template/product-specs/agents/studio-verifier.md +222 -0
  38. package/template/product-specs/docs/_meta/capability-map.example.md +103 -0
  39. package/template/product-specs/docs/_meta/doc-schema.md +134 -0
  40. package/template/product-specs/docs/_meta/domain-map.example.md +106 -0
  41. package/template/product-specs/docs/_meta/glossary.example.md +72 -0
  42. package/template/product-specs/docs/_meta/onboarding.example.md +142 -0
  43. package/template/product-specs/docs/_meta/product-vision.example.md +136 -0
  44. package/template/product-specs/hooks/studio-conflict-detect.sh +59 -0
  45. package/template/product-specs/hooks/studio-context-monitor.js +37 -0
  46. package/template/product-specs/hooks/studio-domain-guard.sh +40 -0
  47. package/template/product-specs/hooks/studio-prompt-guard.js +36 -0
  48. package/template/product-specs/hooks/studio-session-state.sh +55 -0
  49. package/template/product-specs/hooks/studio-stage-gate.sh +180 -0
  50. package/template/product-specs/references/checkpoints.md +27 -0
  51. package/template/product-specs/references/ddd-conventions.md +38 -0
  52. package/template/product-specs/references/gates.md +50 -0
  53. package/template/product-specs/references/model-profiles.md +28 -0
  54. package/template/product-specs/references/obsidian-conventions.md +51 -0
  55. package/template/product-specs/references/stage-pipeline.md +65 -0
  56. package/template/product-specs/rules/change-management.md +159 -0
  57. package/template/product-specs/rules/docs-conventions.md +81 -0
  58. package/template/product-specs/rules/domain-conventions.md +69 -0
  59. package/template/product-specs/rules/id-numbering.md +51 -0
  60. package/template/product-specs/rules/obsidian-conventions.md +51 -0
  61. package/template/product-specs/templates/change/01-intent.md +40 -0
  62. package/template/product-specs/templates/change/02-scenarios.md +66 -0
  63. package/template/product-specs/templates/change/03-analysis.md +64 -0
  64. package/template/product-specs/templates/change/04-domain.md +47 -0
  65. package/template/product-specs/templates/change/05-ux.md +46 -0
  66. package/template/product-specs/templates/change/metadata.yaml +26 -0
  67. package/template/product-specs/templates/config.json +19 -0
  68. package/template/product-specs/templates/domain/README.md +31 -0
  69. package/template/product-specs/templates/domain/aggregates.md +37 -0
  70. package/template/product-specs/templates/domain/api-contracts.md +29 -0
  71. package/template/product-specs/templates/domain/business-rules.md +30 -0
  72. package/template/product-specs/templates/domain/changelog.md +25 -0
  73. package/template/product-specs/templates/domain/data-model.md +34 -0
  74. package/template/product-specs/templates/domain/events.md +24 -0
  75. package/template/product-specs/templates/domain/integrations.md +27 -0
  76. package/template/product-specs/templates/domain/invariants.md +14 -0
  77. package/template/product-specs/templates/domain/links.yaml +20 -0
  78. package/template/product-specs/templates/domain/operational-sla.md +32 -0
  79. package/template/product-specs/templates/domain/ownership.md +13 -0
  80. package/template/product-specs/templates/domain/scenarios.md +65 -0
  81. package/template/product-specs/templates/domain/surfaces.md +51 -0
  82. package/template/product-specs/templates/domain/ubiquitous-language.md +12 -0
  83. package/template/product-specs/templates/meta/capability-map.md +55 -0
  84. package/template/product-specs/templates/meta/doc-schema.md +134 -0
  85. package/template/product-specs/templates/meta/domain-map.md +67 -0
  86. package/template/product-specs/templates/meta/glossary.md +30 -0
  87. package/template/product-specs/templates/meta/onboarding.md +108 -0
  88. package/template/product-specs/templates/state.md +19 -0
  89. package/template/product-specs/workflows/conflict-resolution.md +10 -0
  90. package/template/product-specs/workflows/domain-update.md +15 -0
  91. package/template/product-specs/workflows/map-codebase.md +17 -0
  92. package/template/product-specs/workflows/onboard-project.md +575 -0
  93. package/template/product-specs/workflows/pipeline-full.md +258 -0
  94. package/template/product-specs/workflows/pipeline-resume.md +21 -0
  95. package/template/product-specs/workflows/verify-change.md +12 -0
@@ -0,0 +1,30 @@
1
+ ---
2
+ type: business-rules
3
+ domain: DOMAIN_NAME
4
+ tags:
5
+ - domain/DOMAIN_NAME
6
+ - business-rule
7
+ ---
8
+
9
+ # Business rules · [Domain name]
10
+
11
+ ## Rules
12
+
13
+ ### [Rule name]
14
+
15
+ > [!info] Rule: [Rule name]
16
+ > [Описание правила]
17
+
18
+ - **Rationale:**
19
+ - **Source:** (ADR / decision / legal / product)
20
+
21
+ > [!bug] Edge case
22
+ > [Описание edge case]
23
+
24
+ ## Policies
25
+ -
26
+
27
+ ## Corner cases
28
+
29
+ > [!warning] [Corner case name]
30
+ > [Описание corner case и как с ним справляться]
@@ -0,0 +1,25 @@
1
+ ---
2
+ type: changelog
3
+ domain: _template
4
+ status: active
5
+ tags:
6
+ - domain/_template
7
+ - changelog
8
+ created: YYYY-MM-DD
9
+ ---
10
+
11
+ # Changelog
12
+
13
+ История изменений домена. Обновляется автоматически agent-merger'ом после закрытия каждого PRDCT/DMNPRDCT.
14
+
15
+ ## Changes
16
+
17
+ <!-- Автогенерируемый раздел. Формат:
18
+ ### DMNPRDCT-XXXX · [title] · [date]
19
+ - **Business rules:** [что добавлено/изменено]
20
+ - **Events:** [новые/изменённые события]
21
+ - **Aggregates:** [изменения структуры]
22
+ - **Invariants:** [новые/изменённые инварианты]
23
+ - **API:** [новые/изменённые endpoints]
24
+ - **DB:** [миграции]
25
+ -->
@@ -0,0 +1,34 @@
1
+ ---
2
+ type: data-model
3
+ domain: _template
4
+ status: draft
5
+ tags:
6
+ - domain/_template
7
+ - database
8
+ created: YYYY-MM-DD
9
+ ---
10
+
11
+ # Data model
12
+
13
+ ## Tables
14
+ | Table | Description | Owner | Rows estimate |
15
+ |-------|-------------|-------|---------------|
16
+
17
+ ## Schema
18
+
19
+ ### [Table name]
20
+ | Column | Type | Nullable | Default | Description |
21
+ |--------|------|----------|---------|-------------|
22
+
23
+ ## Indexes
24
+ | Table | Index | Columns | Type | Purpose |
25
+ |-------|-------|---------|------|---------|
26
+
27
+ ## Migrations history
28
+ | Migration | Date | PRDCT | Description |
29
+ |-----------|------|-----|-------------|
30
+
31
+ ## ER diagram
32
+ ```mermaid
33
+ erDiagram
34
+ ```
@@ -0,0 +1,24 @@
1
+ ---
2
+ type: events
3
+ domain: DOMAIN_NAME
4
+ tags:
5
+ - domain/DOMAIN_NAME
6
+ - event
7
+ ---
8
+
9
+ # Domain events · [Domain name]
10
+
11
+ | Event | Producer | Consumers | Payload | Guarantees | Idempotency |
12
+ |---|---|---|---|---|---|
13
+
14
+ ## Event flow
15
+
16
+ ```mermaid
17
+ sequenceDiagram
18
+ participant P as Producer
19
+ participant C1 as Consumer 1
20
+ participant C2 as Consumer 2
21
+
22
+ P->>C1: EventName
23
+ P->>C2: EventName
24
+ ```
@@ -0,0 +1,27 @@
1
+ ---
2
+ type: integrations
3
+ domain: DOMAIN_NAME
4
+ tags:
5
+ - domain/DOMAIN_NAME
6
+ - integration
7
+ ---
8
+
9
+ # Integrations · [Domain name]
10
+
11
+ ## Upstream dependencies
12
+ <!-- Системы, от которых зависит этот домен -->
13
+
14
+ ## Downstream consumers
15
+ <!-- Системы, которые зависят от этого домена -->
16
+
17
+ ## Integration diagram
18
+
19
+ ```mermaid
20
+ graph LR
21
+ UP1[Upstream 1] --> THIS[This Domain]
22
+ THIS --> DOWN1[Downstream 1]
23
+ ```
24
+
25
+ ## Integration contracts
26
+ | System | Direction | Protocol | Contract | SLA |
27
+ |---|---|---|---|---|
@@ -0,0 +1,14 @@
1
+ ---
2
+ type: invariants
3
+ domain: DOMAIN_NAME
4
+ tags:
5
+ - domain/DOMAIN_NAME
6
+ - invariant
7
+ ---
8
+
9
+ # Invariants · [Domain name]
10
+
11
+ > [!danger] Invariants
12
+ > Не могут быть нарушены ни при каких обстоятельствах. Каждое изменение домена ОБЯЗАНО пройти проверку по этому списку.
13
+
14
+ - [ ] [Описание инварианта]
@@ -0,0 +1,20 @@
1
+ domain: ""
2
+ owner: ""
3
+
4
+ upstream_domains: []
5
+ downstream_domains: []
6
+
7
+ aggregates: []
8
+
9
+ domain_events:
10
+ produced: []
11
+ consumed: []
12
+
13
+ code_refs:
14
+ backend: []
15
+ frontend: []
16
+
17
+ related_adrs: []
18
+ related_changes: []
19
+
20
+ tags: []
@@ -0,0 +1,32 @@
1
+ ---
2
+ type: operational-sla
3
+ domain: _template
4
+ status: draft
5
+ tags:
6
+ - domain/_template
7
+ - sla
8
+ - operations
9
+ created: YYYY-MM-DD
10
+ ---
11
+
12
+ # Operational SLA
13
+
14
+ ## Performance targets
15
+ | Metric | Target | Current | Measurement |
16
+ |--------|--------|---------|-------------|
17
+
18
+ ## Timeouts
19
+ | Operation | Timeout | Retry policy | Fallback |
20
+ |-----------|---------|-------------|----------|
21
+
22
+ ## Rate limits
23
+ | Endpoint/Operation | Limit | Per | Burst |
24
+ |-------------------|-------|-----|-------|
25
+
26
+ ## Monitoring
27
+ | Alert | Condition | Severity | Runbook |
28
+ |-------|-----------|----------|---------|
29
+
30
+ ## Dependencies SLA
31
+ | Dependency | Expected uptime | Impact if down |
32
+ |-----------|----------------|----------------|
@@ -0,0 +1,13 @@
1
+ ---
2
+ type: ownership
3
+ domain: DOMAIN_NAME
4
+ tags:
5
+ - domain/DOMAIN_NAME
6
+ ---
7
+
8
+ # Ownership · [Domain name]
9
+
10
+ ## Owner
11
+ ## Approves changes
12
+ ## Responsible for
13
+ ## Escalation path
@@ -0,0 +1,65 @@
1
+ ---
2
+ type: scenarios
3
+ domain: _template
4
+ status: draft
5
+ tags:
6
+ - domain/_template
7
+ - scenarios
8
+ created: YYYY-MM-DD
9
+ ---
10
+
11
+ # Scenarios
12
+
13
+ Каноничные сценарии поведения системы в этом домене. Источник истины для тестов и реализации. Обновляется через distillation после каждого change.
14
+
15
+ ## Core scenarios
16
+
17
+ ### [Scenario name]
18
+ ```gherkin
19
+ Given [precondition]
20
+ When [action]
21
+ Then [result]
22
+ And [side effect]
23
+ ```
24
+ Source: [[PRDCT-XXXX-name]]
25
+
26
+ ## Edge cases
27
+
28
+ ### [Scenario name]
29
+ ```gherkin
30
+ Given [unusual precondition]
31
+ When [action]
32
+ Then [handling]
33
+ ```
34
+ Source: [[PRDCT-XXXX-name]]
35
+
36
+ ## Error scenarios
37
+
38
+ ### [Scenario name]
39
+ ```gherkin
40
+ Given [precondition]
41
+ When [action that fails]
42
+ Then [error handling]
43
+ And [user sees: message]
44
+ ```
45
+ Source: [[PRDCT-XXXX-name]]
46
+
47
+ ## Permission scenarios
48
+
49
+ ### [Role] can/cannot [action]
50
+ ```gherkin
51
+ Given user has role [role]
52
+ When user attempts [action]
53
+ Then [result]
54
+ ```
55
+ Source: [[PRDCT-XXXX-name]]
56
+
57
+ ## Concurrent scenarios
58
+
59
+ ### [Scenario name]
60
+ ```gherkin
61
+ Given [two actors]
62
+ When [simultaneous action]
63
+ Then [resolution]
64
+ ```
65
+ Source: [[PRDCT-XXXX-name]]
@@ -0,0 +1,51 @@
1
+ ---
2
+ type: surfaces
3
+ domain: _template
4
+ status: draft
5
+ tags:
6
+ - domain/_template
7
+ - surfaces
8
+ created: YYYY-MM-DD
9
+ ---
10
+
11
+ # Surfaces · [Domain name]
12
+
13
+ ## Screens
14
+
15
+ ### [Screen name]
16
+ - **Purpose:**
17
+ - **Entry points:** (how user gets here)
18
+ - **Scenario refs:** [[scenario name]]
19
+
20
+ #### States
21
+ | State | Description | Trigger |
22
+ |-------|------------|---------|
23
+ | loading | | |
24
+ | success | | |
25
+ | error | | |
26
+ | empty | | |
27
+
28
+ ## Flows
29
+
30
+ ### [Flow name]
31
+ - **Actor:**
32
+ - **Scenario ref:** [[scenario name]]
33
+
34
+ ```mermaid
35
+ stateDiagram-v2
36
+ [*] --> Screen1
37
+ Screen1 --> Screen2: action
38
+ Screen2 --> [*]
39
+ ```
40
+
41
+ 1. [step] → [screen]
42
+ 2. [step] → [screen]
43
+
44
+ ## Permissions per surface
45
+
46
+ | Surface | Role | Visible | Editable | Notes |
47
+ |---------|------|---------|----------|-------|
48
+
49
+ ## Error messages
50
+ | Context | User message | Recovery action |
51
+ |---------|-------------|----------------|
@@ -0,0 +1,12 @@
1
+ ---
2
+ type: ubiquitous-language
3
+ domain: DOMAIN_NAME
4
+ tags:
5
+ - domain/DOMAIN_NAME
6
+ - language
7
+ ---
8
+
9
+ # Ubiquitous language · [Domain name]
10
+
11
+ | Term | Definition | Forbidden synonyms | Conflicts with |
12
+ |---|---|---|---|
@@ -0,0 +1,55 @@
1
+ ---
2
+ type: meta
3
+ tags:
4
+ - meta
5
+ - map
6
+ ---
7
+
8
+ # Capability Map
9
+
10
+ ## Platform capabilities
11
+
12
+ ```mermaid
13
+ mindmap
14
+ root((AI Web Studio))
15
+ Training
16
+ Session lifecycle
17
+ Turn management
18
+ AI facilitation
19
+ Content
20
+ Scenario catalog
21
+ Prompt templates
22
+ Role definitions
23
+ Assessment
24
+ Session scoring
25
+ Feedback generation
26
+ Progress tracking
27
+ Platform
28
+ Authentication
29
+ LLM Gateway
30
+ Analytics
31
+ Billing
32
+ ```
33
+
34
+ ## Capability → Domain mapping
35
+
36
+ | Capability | Domain | Status |
37
+ |---|---|---|
38
+ | Session lifecycle | training-session | active |
39
+ | Turn management | training-session | active |
40
+ | AI facilitation | training-session | active |
41
+ | Scenario catalog | scenario-catalog | planned |
42
+ | Session scoring | assessment | planned |
43
+ | Feedback generation | assessment | planned |
44
+ | Progress tracking | learner-progress | planned |
45
+ | Authentication | auth (infrastructure) | planned |
46
+ | LLM Gateway | llm-gateway (infrastructure) | planned |
47
+
48
+ ## Domains by status
49
+
50
+ ```dataview
51
+ TABLE status, owner
52
+ FROM "domains"
53
+ WHERE type = "domain"
54
+ GROUP BY status
55
+ ```
@@ -0,0 +1,134 @@
1
+ # Documentation Schema
2
+
3
+ ## Philosophy
4
+
5
+ Документация -- конвейер, не архив.
6
+ Каждый переход между ролями -- это документ.
7
+ Нет документа -- нет задачи, физически.
8
+
9
+ В системе две оси:
10
+ - **Knowledge base** -- стабильное описание системы как она есть
11
+ - **Change packages** -- описание системы как она меняется
12
+
13
+ ## Folder separation rules
14
+
15
+ ```
16
+ /domains -> ЧТО делает бизнес (язык, правила, события, инварианты, сценарии, surfaces)
17
+ БЕЗ реализации. БЕЗ имён сервисов.
18
+
19
+ /contexts -> КАК устроена платформа по дисциплинам
20
+ Стабильное архитектурное знание по каждой дисциплине.
21
+
22
+ /changes -> ПОЧЕМУ и КАК бизнес решил что-то изменить
23
+ Только бизнес-документы. Иммутабельно после мержа.
24
+
25
+ /adrs -> ПОЧЕМУ принято кросс-доменное архитектурное решение
26
+ Иммутабельно после принятия.
27
+ ```
28
+
29
+ ## Hard rules
30
+
31
+ 1. PR без ссылки на PRDCT-* не мержится
32
+ 2. Domain docs обновляются merger'ом после кода, не напрямую
33
+ 3. Нет документа -- нет задачи
34
+ 4. Change package содержит ТОЛЬКО бизнес-документы (5 файлов)
35
+ 5. Техническая архитектура -- ответственность executor'а, не change package
36
+ 6. API contracts и data model в domain docs обновляются из кода, не из change docs
37
+
38
+ ## Stage pipeline
39
+
40
+ ```
41
+ Stage 1 · Intent -> 01-intent.md (PM)
42
+ Stage 2 · Scenarios -> 02-scenarios.md (Scenario Writer)
43
+ Stage 3 · System Analysis -> 03-analysis.md (Analyst)
44
+ Stage 4 · Domain framing -> 04-domain.md (Domain Framer)
45
+ Stage 5 · UX -> 05-ux.md + mockups/ (Designer)
46
+ · Status -> done
47
+ Post · Code -> backend + frontend (Executor)
48
+ Post · Domain docs update -> domain files updated (Merger)
49
+ ```
50
+
51
+ ## AI Studio · Roles & Skills
52
+
53
+ AI-роли реализованы как Claude Code Skills. Каждая роль -- отдельный скилл с уникальной экспертизой и тоном.
54
+
55
+ ### Roles
56
+
57
+ ```
58
+ ┌─────────────────┐ ┌────────────────┐ ┌──────────────────┐ ┌────────────────┐ ┌────────────────┐
59
+ │ /pm │────>│ /scenarios │────>│ /analyst │────>│ /domain-framer │────>│ /designer │
60
+ │ Product Manager │ │ Scenario │ │ System Analyst │ │ Domain Framer │ │ UI/UX │
61
+ │ Intent │ │ Writer │ │ Analysis │ │ Domain Model │ │ Designer │
62
+ │ 01-intent.md │ │ 02-scenarios │ │ 03-analysis.md │ │ 04-domain.md │ │ 05-ux.md │
63
+ └─────────────────┘ └────────────────┘ └──────────────────┘ └────────────────┘ └───────┬────────┘
64
+ │ done
65
+ ┌──────────────┐ ┌───────▼────────┐
66
+ │ /merger │<────────────────────────────────────────────────────│ /executor │
67
+ │ Domain │ │ Full-Stack │
68
+ │ Merger │ │ Developer │
69
+ └──────────────┘ └────────────────┘
70
+ ```
71
+
72
+ ### Skill reference
73
+
74
+ | Skill | Role | Input | Output | Tone |
75
+ |-------|------|-------|--------|------|
76
+ | `/pm` | Product Manager | Описание фичи | 01-intent.md, metadata.yaml | Дружелюбный, настойчивый |
77
+ | `/scenarios` | Scenario Writer | PRDCT-XXXX | 02-scenarios.md | Перфекционист поведения |
78
+ | `/analyst` | System Analyst | PRDCT-XXXX | 03-analysis.md | Педант + системный мыслитель |
79
+ | `/domain-framer` | Domain Framer | PRDCT-XXXX | 04-domain.md | DDD-эксперт |
80
+ | `/designer` | UI/UX Designer | PRDCT-XXXX | 05-ux.md + mockups/ | UX-перфекционист |
81
+ | `/executor` | Full-Stack Developer | PRDCT-XXXX | Backend + frontend code | Прагматик |
82
+ | `/merger` | Domain Merger | PRDCT-XXXX | Updated domain docs | Педантичный библиотекарь |
83
+ | `/review` | Reviewer | PRDCT-XXXX | Cross-reference report | Жёсткий reviewer |
84
+ | `/verify` | Verifier | PRDCT-XXXX | VERIFICATION.md | Строгий аудитор |
85
+ | `/feature` | Orchestrator | Описание фичи | Полный change package | Меняет роль на каждом этапе |
86
+ | `/bug` | Bug Hunter | Баг / Sentry URL | Root cause + fix | Шерлок Холмс |
87
+
88
+ ### Usage patterns
89
+
90
+ **Full pipeline (новая фича):**
91
+ ```
92
+ /feature добавить систему оценки тренировок
93
+ ```
94
+ Или поэтапно:
95
+ ```
96
+ /pm добавить систему оценки тренировок
97
+ /analyst PRDCT-0002
98
+ /scenarios PRDCT-0002
99
+ /designer PRDCT-0002
100
+ /review PRDCT-0002
101
+ ```
102
+
103
+ **Bug investigation:**
104
+ ```
105
+ /bug https://sentry.io/issues/PROJ-123/
106
+ ```
107
+
108
+ ### AI role per stage
109
+
110
+ ```
111
+ Stage 1 · /pm -> Генерирует intent, задаёт бизнес-вопросы
112
+ Stage 2 · /scenarios -> Gherkin scenarios: happy, edge, error, permission, concurrent
113
+ Stage 3 · /analyst -> System analysis: technical constraints, integration points
114
+ Stage 4 · /domain-framer -> Domain framing: aggregates, rules, events, invariants, UL
115
+ Stage 5 · /designer -> UX: surfaces, flows, states, mockups, permissions per surface
116
+ Post · /executor -> Код: backend + frontend, выводит технику из бизнес-документов
117
+ Post · /merger -> Обновляет domain docs из change package
118
+ ```
119
+
120
+ ## What lives where
121
+
122
+ ```
123
+ Question -> Location
124
+ ----------------------------------------------------------
125
+ Что делает этот домен? -> domains/[name]/README.md
126
+ Какие бизнес-правила? -> domains/[name]/business-rules.md
127
+ Что не может быть нарушено? -> domains/[name]/invariants.md
128
+ Какие события генерирует домен? -> domains/[name]/events.md
129
+ Какие экраны есть в домене? -> domains/[name]/surfaces.md
130
+ Какие сценарии поведения? -> domains/[name]/scenarios.md
131
+ Как устроен фронтенд? -> contexts/frontend/architecture.md
132
+ Почему принято это архитектурное решение? -> adrs/ADR-XXX.md
133
+ Что изменилось в этой фиче? -> changes/PRDCT-XXXX/
134
+ ```
@@ -0,0 +1,67 @@
1
+ ---
2
+ type: meta
3
+ tags:
4
+ - meta
5
+ - map
6
+ ---
7
+
8
+ # Domain Map
9
+
10
+ ## Overview
11
+
12
+ ```mermaid
13
+ graph TB
14
+ subgraph Core
15
+ TS[Training Session]
16
+ end
17
+
18
+ subgraph Planned
19
+ SC[Scenario Catalog]
20
+ AS[Assessment]
21
+ LP[Learner Progress]
22
+ end
23
+
24
+ subgraph Infrastructure
25
+ LLM[LLM Gateway]
26
+ AUTH[Auth / Identity]
27
+ AN[Analytics]
28
+ end
29
+
30
+ SC -->|provides scenario| TS
31
+ AUTH -->|validates user| TS
32
+ TS -->|generates responses| LLM
33
+ TS -->|SessionFinished| AS
34
+ TS -->|SessionFinished| LP
35
+ TS -->|all events| AN
36
+
37
+ style TS fill:#4a9eff,color:#fff
38
+ style SC fill:#ffc107,color:#000
39
+ style AS fill:#ffc107,color:#000
40
+ style LP fill:#ffc107,color:#000
41
+ style LLM fill:#6c757d,color:#fff
42
+ style AUTH fill:#6c757d,color:#fff
43
+ style AN fill:#6c757d,color:#fff
44
+ ```
45
+
46
+ > [!info] Legend
47
+ > - Синий: Active (домен задокументирован)
48
+ > - Жёлтый: Planned (упоминается в интеграциях, но не создан)
49
+ > - Серый: Infrastructure (внешние сервисы)
50
+
51
+ ## Active domains
52
+
53
+ ```dataview
54
+ TABLE owner, status, length(file.inlinks) AS "refs"
55
+ FROM "domains"
56
+ WHERE type = "domain"
57
+ SORT domain
58
+ ```
59
+
60
+ ## Domain relationships
61
+
62
+ ```dataview
63
+ TABLE domain, file.folder AS "path"
64
+ FROM "domains"
65
+ WHERE type = "integrations"
66
+ SORT domain
67
+ ```
@@ -0,0 +1,30 @@
1
+ ---
2
+ type: meta
3
+ tags:
4
+ - meta
5
+ - glossary
6
+ ---
7
+
8
+ # Glossary
9
+
10
+ > [!tip] Auto-index
11
+ > Этот глоссарий автоматически собирает термины из всех доменов.
12
+
13
+ ## All terms across domains
14
+
15
+ ```dataview
16
+ TABLE domain AS "Domain"
17
+ FROM "domains"
18
+ WHERE type = "ubiquitous-language"
19
+ SORT domain
20
+ ```
21
+
22
+ ## Manual cross-domain terms
23
+
24
+ | Term | Definition | Domain | Notes |
25
+ |---|---|---|---|
26
+ | PRDCT | Change package — иммутабельный набор документов, описывающий одно изменение | _meta | Формат: PRDCT-XXXX |
27
+ | ADR | Architecture Decision Record — запись архитектурного решения | _meta | Формат: ADR-XXX |
28
+ | Bounded Context | Явная граница, внутри которой модель имеет определённый смысл | _meta | DDD-термин |
29
+ | Aggregate | Кластер доменных объектов, обрабатываемых как единица | _meta | DDD-термин |
30
+ | Invariant | Правило, которое не может быть нарушено ни при каких обстоятельствах | _meta | Строже чем business rule |