specdo 1.0.2
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/CHANGELOG.md +139 -0
- package/README.md +308 -0
- package/README.zh-CN.md +306 -0
- package/bin/specdo.js +3 -0
- package/dist/cli/index.d.ts +15 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +297 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/commands/_shared.d.ts +45 -0
- package/dist/commands/_shared.d.ts.map +1 -0
- package/dist/commands/_shared.js +124 -0
- package/dist/commands/_shared.js.map +1 -0
- package/dist/commands/apply.d.ts +30 -0
- package/dist/commands/apply.d.ts.map +1 -0
- package/dist/commands/apply.js +393 -0
- package/dist/commands/apply.js.map +1 -0
- package/dist/commands/archive.d.ts +25 -0
- package/dist/commands/archive.d.ts.map +1 -0
- package/dist/commands/archive.js +362 -0
- package/dist/commands/archive.js.map +1 -0
- package/dist/commands/doctor.d.ts +21 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +180 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/domains.d.ts +14 -0
- package/dist/commands/domains.d.ts.map +1 -0
- package/dist/commands/domains.js +107 -0
- package/dist/commands/domains.js.map +1 -0
- package/dist/commands/explore.d.ts +48 -0
- package/dist/commands/explore.d.ts.map +1 -0
- package/dist/commands/explore.js +378 -0
- package/dist/commands/explore.js.map +1 -0
- package/dist/commands/init.d.ts +45 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +243 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/list.d.ts +23 -0
- package/dist/commands/list.d.ts.map +1 -0
- package/dist/commands/list.js +135 -0
- package/dist/commands/list.js.map +1 -0
- package/dist/commands/propose.d.ts +22 -0
- package/dist/commands/propose.d.ts.map +1 -0
- package/dist/commands/propose.js +316 -0
- package/dist/commands/propose.js.map +1 -0
- package/dist/commands/show.d.ts +15 -0
- package/dist/commands/show.d.ts.map +1 -0
- package/dist/commands/show.js +214 -0
- package/dist/commands/show.js.map +1 -0
- package/dist/commands/status.d.ts +17 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +146 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/sync.d.ts +21 -0
- package/dist/commands/sync.d.ts.map +1 -0
- package/dist/commands/sync.js +113 -0
- package/dist/commands/sync.js.map +1 -0
- package/dist/commands/validate.d.ts +117 -0
- package/dist/commands/validate.d.ts.map +1 -0
- package/dist/commands/validate.js +446 -0
- package/dist/commands/validate.js.map +1 -0
- package/dist/core/apply-brief-renderer.d.ts +35 -0
- package/dist/core/apply-brief-renderer.d.ts.map +1 -0
- package/dist/core/apply-brief-renderer.js +242 -0
- package/dist/core/apply-brief-renderer.js.map +1 -0
- package/dist/core/config-store.d.ts +190 -0
- package/dist/core/config-store.d.ts.map +1 -0
- package/dist/core/config-store.js +280 -0
- package/dist/core/config-store.js.map +1 -0
- package/dist/core/context-store.d.ts +96 -0
- package/dist/core/context-store.d.ts.map +1 -0
- package/dist/core/context-store.js +426 -0
- package/dist/core/context-store.js.map +1 -0
- package/dist/core/json-schemas.d.ts +349 -0
- package/dist/core/json-schemas.d.ts.map +1 -0
- package/dist/core/json-schemas.js +125 -0
- package/dist/core/json-schemas.js.map +1 -0
- package/dist/core/skill-content/cross-domain.d.ts +12 -0
- package/dist/core/skill-content/cross-domain.d.ts.map +1 -0
- package/dist/core/skill-content/cross-domain.js +291 -0
- package/dist/core/skill-content/cross-domain.js.map +1 -0
- package/dist/core/skill-content/protocol-examples.d.ts +13 -0
- package/dist/core/skill-content/protocol-examples.d.ts.map +1 -0
- package/dist/core/skill-content/protocol-examples.js +190 -0
- package/dist/core/skill-content/protocol-examples.js.map +1 -0
- package/dist/core/skill-content/workflow-content.d.ts +25 -0
- package/dist/core/skill-content/workflow-content.d.ts.map +1 -0
- package/dist/core/skill-content/workflow-content.js +1572 -0
- package/dist/core/skill-content/workflow-content.js.map +1 -0
- package/dist/core/skill-exporter.d.ts +186 -0
- package/dist/core/skill-exporter.d.ts.map +1 -0
- package/dist/core/skill-exporter.js +922 -0
- package/dist/core/skill-exporter.js.map +1 -0
- package/dist/core/spec-sync.d.ts +65 -0
- package/dist/core/spec-sync.d.ts.map +1 -0
- package/dist/core/spec-sync.js +226 -0
- package/dist/core/spec-sync.js.map +1 -0
- package/dist/core/task-parser.d.ts +58 -0
- package/dist/core/task-parser.d.ts.map +1 -0
- package/dist/core/task-parser.js +244 -0
- package/dist/core/task-parser.js.map +1 -0
- package/dist/core/template-renderer.d.ts +51 -0
- package/dist/core/template-renderer.d.ts.map +1 -0
- package/dist/core/template-renderer.js +362 -0
- package/dist/core/template-renderer.js.map +1 -0
- package/dist/domains/architecture.d.ts +34 -0
- package/dist/domains/architecture.d.ts.map +1 -0
- package/dist/domains/architecture.js +341 -0
- package/dist/domains/architecture.js.map +1 -0
- package/dist/domains/backend.d.ts +35 -0
- package/dist/domains/backend.d.ts.map +1 -0
- package/dist/domains/backend.js +367 -0
- package/dist/domains/backend.js.map +1 -0
- package/dist/domains/frontend.d.ts +36 -0
- package/dist/domains/frontend.d.ts.map +1 -0
- package/dist/domains/frontend.js +373 -0
- package/dist/domains/frontend.js.map +1 -0
- package/dist/domains/index.d.ts +49 -0
- package/dist/domains/index.d.ts.map +1 -0
- package/dist/domains/index.js +255 -0
- package/dist/domains/index.js.map +1 -0
- package/dist/domains/operations.d.ts +37 -0
- package/dist/domains/operations.d.ts.map +1 -0
- package/dist/domains/operations.js +344 -0
- package/dist/domains/operations.js.map +1 -0
- package/dist/domains/pool-ranking.d.ts +43 -0
- package/dist/domains/pool-ranking.d.ts.map +1 -0
- package/dist/domains/pool-ranking.js +153 -0
- package/dist/domains/pool-ranking.js.map +1 -0
- package/dist/domains/quality.d.ts +45 -0
- package/dist/domains/quality.d.ts.map +1 -0
- package/dist/domains/quality.js +368 -0
- package/dist/domains/quality.js.map +1 -0
- package/dist/domains/security.d.ts +19 -0
- package/dist/domains/security.d.ts.map +1 -0
- package/dist/domains/security.js +364 -0
- package/dist/domains/security.js.map +1 -0
- package/dist/domains/signal-match.d.ts +25 -0
- package/dist/domains/signal-match.d.ts.map +1 -0
- package/dist/domains/signal-match.js +67 -0
- package/dist/domains/signal-match.js.map +1 -0
- package/dist/domains/types.d.ts +354 -0
- package/dist/domains/types.d.ts.map +1 -0
- package/dist/domains/types.js +12 -0
- package/dist/domains/types.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -0
- package/dist/protocols/index.d.ts +36 -0
- package/dist/protocols/index.d.ts.map +1 -0
- package/dist/protocols/index.js +85 -0
- package/dist/protocols/index.js.map +1 -0
- package/dist/protocols/review-to-solid.d.ts +32 -0
- package/dist/protocols/review-to-solid.d.ts.map +1 -0
- package/dist/protocols/review-to-solid.js +309 -0
- package/dist/protocols/review-to-solid.js.map +1 -0
- package/dist/utils/prompt.d.ts +37 -0
- package/dist/utils/prompt.d.ts.map +1 -0
- package/dist/utils/prompt.js +81 -0
- package/dist/utils/prompt.js.map +1 -0
- package/package.json +80 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template-renderer.js","sourceRoot":"","sources":["../../src/core/template-renderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Architecture Domain Module
|
|
3
|
+
*
|
|
4
|
+
* 来源:
|
|
5
|
+
* - content/skills/senior-architect/SKILL.md (50 行)
|
|
6
|
+
* 系统边界 / 容器 / 接口 / 风险 / ADR;推荐 C4 + Mermaid
|
|
7
|
+
* - content/skills/senior-architect/references/architecture-patterns.md (33 行)
|
|
8
|
+
* 模块化单体 / 微服务 / 事件驱动 / Hexagonal / CQRS 决策矩阵
|
|
9
|
+
* - content/skills/senior-architect/references/system-design-workflow.md (44 行)
|
|
10
|
+
* 6 步架构工作流 + 评审检查清单
|
|
11
|
+
* - content/skills/senior-architect/references/tech-decision-guide.md (29 行)
|
|
12
|
+
* API/数据存储/缓存/队列/可观测性默认决策
|
|
13
|
+
* - content/skills/api-design/SKILL.md (44 行)
|
|
14
|
+
* REST/GraphQL/gRPC API 设计、版本化、错误契约、审查清单
|
|
15
|
+
* - content/roles/01-core-development/api-designer.toml (43 行)
|
|
16
|
+
* API 契约长期演进、兼容性 / 弃用策略、契约级 quality checks
|
|
17
|
+
*
|
|
18
|
+
* 压缩方法:
|
|
19
|
+
* 1. 6 个架构模式 → design.patterns
|
|
20
|
+
* 2. system-design-workflow 的 6 步 + checklist → design.checklist + verify.checklist
|
|
21
|
+
* 3. tech-decision-guide 的决策矩阵 → design.checklist 关键问题
|
|
22
|
+
* 4. api-design 审查清单 → implement.focusAreas + verify.checklist
|
|
23
|
+
* 5. api-designer working mode + quality checks → implement.focusAreas
|
|
24
|
+
* 6. 反模式 (microservices because cool, shared db, async without idempotency) → design.antiPatterns
|
|
25
|
+
* 7. 原始 Mermaid/Python 代码示例 → 丢弃
|
|
26
|
+
*
|
|
27
|
+
* 与相邻领域的边界:
|
|
28
|
+
* - 单词 'api' 归 backend;架构域使用多词 'api contract' / 'api design' 等
|
|
29
|
+
* - 'cqrs', 'hexagonal', 'microservice' 归架构;backend 关注实现细节
|
|
30
|
+
* - 数据库迁移落地归 backend;架构只覆盖"是否分库 / 如何拆服务"决策
|
|
31
|
+
*/
|
|
32
|
+
import type { DomainModule } from './types.js';
|
|
33
|
+
export declare const architectureDomain: DomainModule;
|
|
34
|
+
//# sourceMappingURL=architecture.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"architecture.d.ts","sourceRoot":"","sources":["../../src/domains/architecture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,eAAO,MAAM,kBAAkB,EAAE,YAuVhC,CAAC"}
|
|
@@ -0,0 +1,341 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Architecture Domain Module
|
|
3
|
+
*
|
|
4
|
+
* 来源:
|
|
5
|
+
* - content/skills/senior-architect/SKILL.md (50 行)
|
|
6
|
+
* 系统边界 / 容器 / 接口 / 风险 / ADR;推荐 C4 + Mermaid
|
|
7
|
+
* - content/skills/senior-architect/references/architecture-patterns.md (33 行)
|
|
8
|
+
* 模块化单体 / 微服务 / 事件驱动 / Hexagonal / CQRS 决策矩阵
|
|
9
|
+
* - content/skills/senior-architect/references/system-design-workflow.md (44 行)
|
|
10
|
+
* 6 步架构工作流 + 评审检查清单
|
|
11
|
+
* - content/skills/senior-architect/references/tech-decision-guide.md (29 行)
|
|
12
|
+
* API/数据存储/缓存/队列/可观测性默认决策
|
|
13
|
+
* - content/skills/api-design/SKILL.md (44 行)
|
|
14
|
+
* REST/GraphQL/gRPC API 设计、版本化、错误契约、审查清单
|
|
15
|
+
* - content/roles/01-core-development/api-designer.toml (43 行)
|
|
16
|
+
* API 契约长期演进、兼容性 / 弃用策略、契约级 quality checks
|
|
17
|
+
*
|
|
18
|
+
* 压缩方法:
|
|
19
|
+
* 1. 6 个架构模式 → design.patterns
|
|
20
|
+
* 2. system-design-workflow 的 6 步 + checklist → design.checklist + verify.checklist
|
|
21
|
+
* 3. tech-decision-guide 的决策矩阵 → design.checklist 关键问题
|
|
22
|
+
* 4. api-design 审查清单 → implement.focusAreas + verify.checklist
|
|
23
|
+
* 5. api-designer working mode + quality checks → implement.focusAreas
|
|
24
|
+
* 6. 反模式 (microservices because cool, shared db, async without idempotency) → design.antiPatterns
|
|
25
|
+
* 7. 原始 Mermaid/Python 代码示例 → 丢弃
|
|
26
|
+
*
|
|
27
|
+
* 与相邻领域的边界:
|
|
28
|
+
* - 单词 'api' 归 backend;架构域使用多词 'api contract' / 'api design' 等
|
|
29
|
+
* - 'cqrs', 'hexagonal', 'microservice' 归架构;backend 关注实现细节
|
|
30
|
+
* - 数据库迁移落地归 backend;架构只覆盖"是否分库 / 如何拆服务"决策
|
|
31
|
+
*/
|
|
32
|
+
export const architectureDomain = {
|
|
33
|
+
name: 'architecture',
|
|
34
|
+
description: 'System architecture, bounded contexts, ADR/trade-off analysis, API contract design, and high-level pattern selection',
|
|
35
|
+
// ── Explore: 需求澄清 ─────────────────────────────────────
|
|
36
|
+
explore: {
|
|
37
|
+
signals: [
|
|
38
|
+
// 架构 / 系统设计核心词
|
|
39
|
+
'architecture', 'system design', 'system boundary', 'bounded context',
|
|
40
|
+
'topology', 'modular', 'monolith', 'microservice', 'microservices',
|
|
41
|
+
'hexagonal', 'ports and adapters', 'cqrs', 'event-driven', 'event driven',
|
|
42
|
+
// 决策与文档
|
|
43
|
+
'adr', 'decision record', 'tradeoff', 'trade-off', 'design doc',
|
|
44
|
+
'mermaid', 'c4 diagram', 'context diagram', 'container diagram',
|
|
45
|
+
// API 契约层(多词避开 backend 的 'api' 单词信号)
|
|
46
|
+
'api contract', 'api design', 'api versioning', 'openapi', 'protobuf',
|
|
47
|
+
'graphql schema', 'rest vs graphql',
|
|
48
|
+
'breaking change', 'backward compatibility', 'deprecation policy',
|
|
49
|
+
// 集成与所有权
|
|
50
|
+
'data ownership', 'service boundary', 'integration point',
|
|
51
|
+
'dependency graph', 'pattern selection',
|
|
52
|
+
],
|
|
53
|
+
questions: {
|
|
54
|
+
defaultCount: 8,
|
|
55
|
+
items: [
|
|
56
|
+
// ── Tier 1: 系统边界与范围 (priority 10) ──────────────
|
|
57
|
+
{
|
|
58
|
+
text: 'What is the primary user journey and the success metric we are designing for? What problem are we really solving?',
|
|
59
|
+
id: 'user-journey',
|
|
60
|
+
signals: ['architecture', 'system design', 'design doc', 'user journey', 'success metric', 'problem'],
|
|
61
|
+
priority: 10,
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
text: 'What is in-scope vs out-of-scope? Which existing systems must this integrate with, and which are untouched?',
|
|
65
|
+
signals: ['architecture', 'system boundary', 'bounded context', 'scope', 'integration point', 'system design'],
|
|
66
|
+
priority: 10,
|
|
67
|
+
requiresAnswer: ['architecture:user-journey'],
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
text: 'What non-functional requirements constrain the design? List latency (p50/p99), throughput (rps), availability (%), durability, cost budget, compliance.',
|
|
71
|
+
signals: ['latency', 'throughput', 'availability', 'compliance', 'cost', 'non-functional', 'sla', 'slo'],
|
|
72
|
+
priority: 9,
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
text: 'Who are the key stakeholders? Who needs to approve the architecture, and what are their implicit concerns?',
|
|
76
|
+
signals: ['architecture', 'stakeholder', 'approval', 'adr', 'decision record', 'tradeoff'],
|
|
77
|
+
priority: 8,
|
|
78
|
+
},
|
|
79
|
+
// ── Tier 2: 服务边界与数据所有权 (priority 9) ────────
|
|
80
|
+
{
|
|
81
|
+
text: 'What are the bounded contexts? What services/containers exist, and what are their responsibilities?',
|
|
82
|
+
id: 'bounded-contexts',
|
|
83
|
+
signals: ['bounded context', 'architecture', 'system design', 'container diagram', 'c4 diagram', 'service'],
|
|
84
|
+
priority: 9,
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
text: 'Who owns each piece of data? Which service is the system of record for each entity? Are there shared-nothing boundaries?',
|
|
88
|
+
signals: ['data ownership', 'system of record', 'entity', 'shared', 'service boundary', 'database'],
|
|
89
|
+
priority: 9,
|
|
90
|
+
requiresAnswer: ['architecture:bounded-contexts'],
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
text: 'How do bounded contexts communicate? (sync REST/gRPC, async event/message queue, shared DB — or explicitly no shared DB)',
|
|
94
|
+
signals: ['communication', 'api', 'event-driven', 'event driven', 'rest', 'grpc', 'message queue', 'shared db'],
|
|
95
|
+
priority: 8,
|
|
96
|
+
requiresAnswer: ['architecture:bounded-contexts'],
|
|
97
|
+
},
|
|
98
|
+
// ── Tier 3: 架构模式选择 (priority 8-9) ────────────────
|
|
99
|
+
{
|
|
100
|
+
text: 'Why is the proposed pattern (modular monolith, microservices, event-driven, hexagonal, CQRS) better than the simpler alternative for this team?',
|
|
101
|
+
id: 'pattern-selection',
|
|
102
|
+
signals: ['architecture', 'pattern selection', 'monolith', 'microservice', 'hexagonal', 'cqrs', 'event-driven'],
|
|
103
|
+
priority: 9,
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
text: 'What is the deployment topology? (process/VM/container/serverless count, orchestration, scaling strategy — horizontal vs vertical)',
|
|
107
|
+
signals: ['topology', 'deploy', 'container', 'serverless', 'scaling', 'orchestration', 'kubernetes', 'vm'],
|
|
108
|
+
priority: 8,
|
|
109
|
+
requiresAnswer: ['architecture:pattern-selection'],
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
text: 'Are there cross-cutting concerns (auth, logging, rate limiting, circuit breaker) that should be in a gateway or sidecar instead of each service?',
|
|
113
|
+
signals: ['cross-cutting', 'gateway', 'sidecar', 'auth', 'logging', 'rate limiting', 'circuit breaker', 'service mesh'],
|
|
114
|
+
priority: 7,
|
|
115
|
+
},
|
|
116
|
+
// ── Tier 4: API 契约设计 (priority 8) ─────────────────
|
|
117
|
+
{
|
|
118
|
+
text: 'Is the change contract-breaking for any current client? If yes, what is the migration path and deprecation timeline?',
|
|
119
|
+
id: 'contract-breaking',
|
|
120
|
+
signals: ['api contract', 'breaking change', 'backward compatibility', 'deprecation policy', 'migration', 'versioning'],
|
|
121
|
+
priority: 9,
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
text: 'What API style fits each interface? (REST resources, GraphQL for flexible querying, gRPC for high-throughput internal calls)',
|
|
125
|
+
signals: ['api design', 'rest', 'graphql', 'grpc', 'openapi', 'protobuf', 'graphql schema'],
|
|
126
|
+
priority: 8,
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
text: 'What versioning strategy is used? (URL path /v1/, Accept header, query param) — how long are old versions supported?',
|
|
130
|
+
signals: ['api versioning', 'versioning', 'deprecation', 'backward compatibility', 'migration'],
|
|
131
|
+
priority: 8,
|
|
132
|
+
requiresAnswer: ['architecture:contract-breaking'],
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
text: 'What is the error contract? (standard error envelope: code, message, details[]; consistent HTTP status code usage)',
|
|
136
|
+
signals: ['api contract', 'error', 'status code', 'api design', 'envelope', 'contract'],
|
|
137
|
+
priority: 7,
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
text: 'How are pagination, filtering, sorting, and field selection handled across list endpoints?',
|
|
141
|
+
signals: ['api design', 'pagination', 'filtering', 'sorting', 'field selection', 'cursor', 'offset', 'list'],
|
|
142
|
+
priority: 7,
|
|
143
|
+
},
|
|
144
|
+
// ── Tier 5: 韧性设计 (priority 8) ─────────────────────
|
|
145
|
+
{
|
|
146
|
+
text: 'Where do critical paths fail? How is failure detected (timeout, health check, circuit breaker)? How do we recover (retry, fallback, manual ops)?',
|
|
147
|
+
id: 'failure-modes',
|
|
148
|
+
signals: ['failure', 'critical path', 'timeout', 'retry', 'fallback', 'recovery', 'circuit breaker', 'health check'],
|
|
149
|
+
priority: 8,
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
text: 'What are the idempotency guarantees? Which operations are safe to retry, and how is duplicate detection implemented?',
|
|
153
|
+
signals: ['idempotency', 'retry', 'duplicate', 'event', 'message', 'at-least-once', 'exactly-once'],
|
|
154
|
+
priority: 8,
|
|
155
|
+
requiresAnswer: ['architecture:failure-modes'],
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
text: 'How is eventual consistency handled where strong consistency is not feasible? What is the acceptable staleness window?',
|
|
159
|
+
signals: ['consistency', 'eventual', 'strong', 'staleness', 'cap', 'distributed', 'saga', 'transaction'],
|
|
160
|
+
priority: 7,
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
text: 'What is the backpressure strategy? How does the system behave under overload (queue depth limits, 429/503 shedding, degraded mode)?',
|
|
164
|
+
signals: ['backpressure', 'overload', 'rate limit', 'queue', 'degraded', 'shedding', 'throttle'],
|
|
165
|
+
priority: 7,
|
|
166
|
+
},
|
|
167
|
+
// ── Tier 6: 扩展性与瓶颈 (priority 7) ─────────────────
|
|
168
|
+
{
|
|
169
|
+
text: 'What scaling assumption are we baking in? What grows first (users, data volume, request rate), and what becomes the next bottleneck?',
|
|
170
|
+
signals: ['scaling', 'bottleneck', 'growth', 'performance', 'capacity', 'load'],
|
|
171
|
+
priority: 8,
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
text: 'What is the read vs write ratio? Does the data access pattern favor caching, read replicas, or CQRS separation?',
|
|
175
|
+
signals: ['read', 'write', 'caching', 'replica', 'cqrs', 'performance', 'database', 'access pattern'],
|
|
176
|
+
priority: 7,
|
|
177
|
+
},
|
|
178
|
+
// ── Tier 7: 决策记录 (priority 6-7) ───────────────────
|
|
179
|
+
{
|
|
180
|
+
text: 'What architectural decisions need an ADR? Which trade-offs were considered and rejected, and why?',
|
|
181
|
+
signals: ['adr', 'decision record', 'tradeoff', 'trade-off', 'architecture', 'decision'],
|
|
182
|
+
priority: 7,
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
text: 'What assumptions are we making about downstream system availability? Are there explicit SLOs for each dependency?',
|
|
186
|
+
signals: ['dependency', 'slo', 'availability', 'assumption', 'downstream', 'integration', 'third-party'],
|
|
187
|
+
priority: 7,
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
text: 'Are there any tech-stack decisions that lock us into a vendor or constrain future choices? Is the lock-in acceptable?',
|
|
191
|
+
signals: ['vendor', 'lock-in', 'tech stack', 'decision', 'constraint', 'future', 'migration'],
|
|
192
|
+
priority: 6,
|
|
193
|
+
},
|
|
194
|
+
// ── Tier 8: 数据架构 (priority 7) ─────────────────────
|
|
195
|
+
{
|
|
196
|
+
text: 'What database type fits the access pattern? (relational for transactions, document for flexible schema, time-series for metrics, graph for relationships)',
|
|
197
|
+
signals: ['database', 'relational', 'nosql', 'document', 'time-series', 'graph', 'data', 'storage'],
|
|
198
|
+
priority: 7,
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
text: 'Is there a caching layer? What is cached, at which tier (CDN, application, database query), and what is the invalidation strategy?',
|
|
202
|
+
signals: ['cache', 'caching', 'cdn', 'redis', 'invalidation', 'tier', 'performance'],
|
|
203
|
+
priority: 7,
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
text: 'How are data migrations handled? (schema changes, backfills, dual-write periods, rollback plans)',
|
|
207
|
+
signals: ['migration', 'schema', 'backfill', 'rollback', 'database', 'dual-write', 'data'],
|
|
208
|
+
priority: 7,
|
|
209
|
+
},
|
|
210
|
+
// ── Tier 9: 集成模式 (priority 6) ─────────────────────
|
|
211
|
+
{
|
|
212
|
+
text: 'For async integrations: what is the message schema, delivery guarantee (at-least-once / exactly-once), and dead-letter handling?',
|
|
213
|
+
signals: ['async', 'message', 'event', 'delivery', 'dead letter', 'queue', 'schema', 'guarantee'],
|
|
214
|
+
priority: 6,
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
text: 'For sync integrations: what are timeout budgets, retry policies (exponential backoff + jitter), and circuit breaker thresholds?',
|
|
218
|
+
signals: ['sync', 'timeout', 'retry', 'circuit breaker', 'backoff', 'jitter', 'integration'],
|
|
219
|
+
priority: 6,
|
|
220
|
+
},
|
|
221
|
+
// ── Tier 10: 安全架构 (priority 6-7) ──────────────────
|
|
222
|
+
{
|
|
223
|
+
text: 'How are authentication and authorization handled at the architecture level? Is there a centralized auth service or per-service auth?',
|
|
224
|
+
signals: ['auth', 'authentication', 'authorization', 'architecture', 'service', 'gateway', 'centralized'],
|
|
225
|
+
priority: 7,
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
text: 'Is the principle of least privilege applied to service-to-service communication? Are there network policies or mTLS between services?',
|
|
229
|
+
signals: ['least privilege', 'service', 'mtls', 'network', 'policy', 'security', 'communication'],
|
|
230
|
+
priority: 6,
|
|
231
|
+
},
|
|
232
|
+
// ── Tier 11: 可观测性架构 (priority 6) ────────────────
|
|
233
|
+
{
|
|
234
|
+
text: 'What is the observability strategy? (distributed tracing, structured logging, metrics, alerting — which tooling and standards)',
|
|
235
|
+
signals: ['observability', 'tracing', 'logging', 'metrics', 'alerting', 'monitoring', 'opentelemetry'],
|
|
236
|
+
priority: 6,
|
|
237
|
+
},
|
|
238
|
+
],
|
|
239
|
+
},
|
|
240
|
+
},
|
|
241
|
+
// ── Design: 设计阶段 ─────────────────────────────────────
|
|
242
|
+
design: {
|
|
243
|
+
checklist: [
|
|
244
|
+
// 系统边界
|
|
245
|
+
'Context diagram drawn: external actors, upstream/downstream systems, and trust boundaries are explicit',
|
|
246
|
+
'Container diagram drawn: each major runtime component and its responsibility is named',
|
|
247
|
+
'In-scope vs out-of-scope explicitly listed; non-goals captured in the design doc',
|
|
248
|
+
'Data ownership boundaries are unambiguous — exactly one service owns each entity',
|
|
249
|
+
// 接口与契约
|
|
250
|
+
'Communication style chosen per integration: sync request/response vs async event with delivery guarantees',
|
|
251
|
+
'API surface modeled as nouns/resources; verbs only used for non-CRUD actions',
|
|
252
|
+
'Error contract defined: code, message, details[]; HTTP status codes used consistently (201 / 204 / 4xx / 5xx)',
|
|
253
|
+
'Pagination strategy chosen per endpoint (cursor for large datasets, offset only for short lists) with documented ordering',
|
|
254
|
+
'Versioning strategy chosen (URL path / header / query) and deprecation policy documented',
|
|
255
|
+
'Authentication and authorization expectations encoded in the contract, including tenant scoping',
|
|
256
|
+
// 决策与权衡
|
|
257
|
+
'At least one ADR captures the most consequential decision with rejected alternatives and rationale',
|
|
258
|
+
'Trade-offs documented for: data store choice, consistency model, queue vs pub/sub, sync vs async',
|
|
259
|
+
'Caching decision (if any) declares key strategy, TTL, invalidation, staleness tolerance, and observability',
|
|
260
|
+
// 风险
|
|
261
|
+
'For every critical path: failure mode, detection signal, mitigation, and recovery procedure are written down',
|
|
262
|
+
'Migration and rollback plan exists for any structural change (schema, contract, data ownership)',
|
|
263
|
+
'Operational story written: deployments, rollbacks, observability (logs / metrics / traces), SLO/error budget if applicable',
|
|
264
|
+
],
|
|
265
|
+
patterns: {
|
|
266
|
+
'Modular Monolith (default)': 'One team, fast iteration, unclear boundaries → start here. Enforce module boundaries in code; do not let "shared" become global soup. Cheapest to operate, easiest to evolve into services later.',
|
|
267
|
+
'Microservices (only with strong justification)': 'Choose only when bounded contexts are clear, scaling/deploy needs diverge, ops maturity is high, and multiple teams own services. Pays for tracing, versioned contracts, partial-failure handling, and platform cost.',
|
|
268
|
+
'Event-driven / Async Workflow': 'Long-running workflows, integration, decoupling producers/consumers, smoothing load. Always design ordering, idempotency, retries, replay/backfill, and eventual-consistency UX up front.',
|
|
269
|
+
'Hexagonal / Ports-and-Adapters': 'Long-lived domains where business logic must outlive specific frameworks (web/db/queue). Keep ports minimal and purposeful; do not over-abstract small apps.',
|
|
270
|
+
'CQRS (selectively)': 'Read and write models materially diverge, read scale is high, or projections are complex. Accept duplicated data, projection lag, and operational complexity as the cost.',
|
|
271
|
+
'Strangler Fig Migration': 'Replace a legacy system incrementally by routing new behavior to the new component while the old one keeps serving the rest. Keep both paths observable and reversible.',
|
|
272
|
+
},
|
|
273
|
+
antiPatterns: [
|
|
274
|
+
'"Microservices because it is cool" — splitting before bounded contexts are stable creates distributed coupling without the benefits of either extreme',
|
|
275
|
+
'"Shared database across services" — kills service ownership, schema agility, and fault isolation simultaneously',
|
|
276
|
+
'"No ownership of schemas or contracts" — every consumer becomes a hidden coupling; breaking changes ship as silent incidents',
|
|
277
|
+
'"Async without idempotency" — at-least-once delivery + non-idempotent handler = duplicate writes and double-charges in production',
|
|
278
|
+
'"One endpoint that does everything" — blurs ownership, encourages overfetching, and increases long-term migration cost',
|
|
279
|
+
'"Framework-default contract" — relying on framework-implicit serialization or status codes hides behavioral contracts from clients and reviewers',
|
|
280
|
+
'"Versioning by silent breaking change" — shipping incompatible behavior under the same path/version forces every client to play whack-a-mole',
|
|
281
|
+
],
|
|
282
|
+
},
|
|
283
|
+
// ── Implement: 实施阶段 ──────────────────────────────────
|
|
284
|
+
implement: {
|
|
285
|
+
focusAreas: [
|
|
286
|
+
// 来自 api-design SKILL 的工作流 + review checklist
|
|
287
|
+
'Resource modeling first: identify entities, relationships, lifecycle states before naming any endpoint',
|
|
288
|
+
'Endpoint naming: plural nouns, kebab-case paths, camelCase fields; no verbs in resource URLs except explicit custom actions',
|
|
289
|
+
'Request/response schemas documented for every endpoint (OpenAPI 3.x or protobuf); examples for success and primary failures',
|
|
290
|
+
'Idempotency: PUT and DELETE are idempotent by definition; for POST that may be retried, support an idempotency key',
|
|
291
|
+
'Pagination implemented per endpoint: cursor for large or unbounded lists, offset only for short stable lists; ordering guarantees declared',
|
|
292
|
+
'Rate limit and quota expectations exposed in headers (X-RateLimit-* or equivalent) and documented in the contract',
|
|
293
|
+
// 来自 api-designer working mode + architecture checks + quality checks
|
|
294
|
+
'Authorization semantics in the contract: who can call this, with what scopes, under which tenant — not just "auth required"',
|
|
295
|
+
'Compatibility and migration: every contract change classified as additive / behavioral / breaking; migration notes attached',
|
|
296
|
+
'Transport contract isolated from internal storage schema; public types do not leak ORM/DB shapes',
|
|
297
|
+
'Stable error taxonomy: error codes are machine-readable, actionable for clients, and survive refactors',
|
|
298
|
+
'Observability hooks inside the contract: correlation key, idempotency key, request-id propagation are first-class fields, not afterthoughts',
|
|
299
|
+
'One canonical success response and one canonical failure response defined per critical operation',
|
|
300
|
+
'Field optionality / nullability reflects real behavior, not "we will figure it out later"',
|
|
301
|
+
],
|
|
302
|
+
patterns: {
|
|
303
|
+
'Contract-First Development': 'Write the OpenAPI / protobuf spec before the implementation. Generate server stubs and client SDKs from the spec; the spec becomes the single source of truth.',
|
|
304
|
+
'Versioned URL Path with Stable Baseline': 'Ship /stable/* as the long-term surface; introduce /next/* only for incompatible behavior. Publish a deprecation timeline before flipping any traffic.',
|
|
305
|
+
'Cursor Pagination with Stable Sort': 'Return opaque cursors generated server-side; the sort key is fixed (created_at + tiebreaker id). Clients never construct cursors — only echo them.',
|
|
306
|
+
'Idempotency Key Header': 'For mutating operations, accept an Idempotency-Key header; persist key→result for a bounded window so retries return the original outcome.',
|
|
307
|
+
'Tenant-Scoped Resource Path': 'Encode tenant in the path (/orgs/{orgId}/...) when multi-tenancy is structural. Authorization checks verify orgId matches the caller’s scope on every request.',
|
|
308
|
+
},
|
|
309
|
+
antiPatterns: [
|
|
310
|
+
'Encoding actions as path segments for CRUD operations (e.g. POST /createUser) instead of POST /users — breaks tooling and signals incoherent modeling',
|
|
311
|
+
'Returning 200 OK for failures with an error envelope — clients lose retry / observability semantics and HTTP caching becomes wrong',
|
|
312
|
+
'Re-using the same DTO for request and response when the lifecycle differs — forces nullable fields and ambiguous validation',
|
|
313
|
+
'Putting business identifiers (email, slug) in the path when they are mutable — every rename becomes a breaking change',
|
|
314
|
+
'Adding a new required field to an existing endpoint without versioning — silent breaking change for every existing client',
|
|
315
|
+
'Designing one mega-endpoint that returns "everything for this screen" — couples backend release cadence to a single frontend',
|
|
316
|
+
'Using random or implementation-leaking error codes (HTTP 418, custom 599) instead of a documented taxonomy',
|
|
317
|
+
],
|
|
318
|
+
},
|
|
319
|
+
// ── Verify: 验证阶段 ─────────────────────────────────────
|
|
320
|
+
verify: {
|
|
321
|
+
checklist: [
|
|
322
|
+
// 系统层验证
|
|
323
|
+
'One clear system boundary documented; external dependencies and contracts enumerated',
|
|
324
|
+
'Data and contract ownership map exists and is current — every entity has exactly one owning service',
|
|
325
|
+
'Stable interface invariants verified: idempotency, pagination, auth all behave as the contract claims',
|
|
326
|
+
'Scaling assumption section answers: what grows, what bottlenecks first, and at what scale we re-architect',
|
|
327
|
+
'Migration and rollback path documented for every structural change introduced in this release',
|
|
328
|
+
// ADR / 决策层
|
|
329
|
+
'At least one ADR exists for the most consequential decision; ADR includes rejected alternatives and explicit trade-offs',
|
|
330
|
+
'Operational story (deploy / rollback / observability / SLO) is written, not implied',
|
|
331
|
+
'Mermaid (or equivalent) diagram is current — matches the written architecture, not the previous iteration',
|
|
332
|
+
// API 契约层
|
|
333
|
+
'OpenAPI / protobuf spec compiled and lints clean; published artefact matches the running service',
|
|
334
|
+
'Breaking changes — if any — are versioned, announced, and have a documented client migration path',
|
|
335
|
+
'Error responses across endpoints share a single taxonomy and contain stable, client-actionable codes',
|
|
336
|
+
'All endpoints have request/response schemas documented; auth/authz requirements specified per resource',
|
|
337
|
+
'Pagination, filtering, sorting behave consistently across list endpoints; ordering guarantees are explicit',
|
|
338
|
+
],
|
|
339
|
+
},
|
|
340
|
+
};
|
|
341
|
+
//# sourceMappingURL=architecture.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"architecture.js","sourceRoot":"","sources":["../../src/domains/architecture.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Backend Domain Module
|
|
3
|
+
*
|
|
4
|
+
* 来源:
|
|
5
|
+
* - content/skills/senior-backend/SKILL.md (25 行)
|
|
6
|
+
* 契约优先、数据所有权、安全实施、smoke path
|
|
7
|
+
* - content/skills/senior-backend/references/api-guidelines.md (23 行)
|
|
8
|
+
* REST 基础、幂等性、分页、auth、可观测性默认值
|
|
9
|
+
* - content/skills/database-migration/SKILL.md (52 行)
|
|
10
|
+
* 零停机模式、安全检查清单、回滚脚本
|
|
11
|
+
* - content/roles/01-core-development/backend-developer.toml (43 行)
|
|
12
|
+
* entry point / 服务边界 / 写路径事务 / 认证授权
|
|
13
|
+
* - content/roles/05-data-ai/database-optimizer.toml (42 行)
|
|
14
|
+
* query plan 行为、索引适用性、锁竞争、N+1
|
|
15
|
+
* - content/roles/05-data-ai/data-engineer.toml (42 行)
|
|
16
|
+
* ETL、ingestion 契约、幂等回放、数据质量、世系
|
|
17
|
+
*
|
|
18
|
+
* 压缩方法:
|
|
19
|
+
* 1. senior-backend Quick Start 4 步 → design.checklist + verify.checklist
|
|
20
|
+
* 2. api-guidelines 默认值 → implement.focusAreas + design.checklist
|
|
21
|
+
* 3. database-migration 零停机模式 → design.patterns
|
|
22
|
+
* 4. database-optimizer query plan / index 关注点 → implement.focusAreas
|
|
23
|
+
* 5. data-engineer ETL 契约关注点 → implement.focusAreas + design.checklist
|
|
24
|
+
* 6. db-optimizer 反模式 (N+1, 无界查询) + senior-backend SQL 拼接 → implement.antiPatterns
|
|
25
|
+
* 7. backend-developer focus on entry-point + 事务边界 → design.checklist
|
|
26
|
+
*
|
|
27
|
+
* 与相邻领域的边界:
|
|
28
|
+
* - 单词 'api' 归 backend;架构域使用多词 'api contract' / 'api design'
|
|
29
|
+
* - 'auth' / 'oauth' / 'jwt' 归 security;backend 关注 "where authz check fires"
|
|
30
|
+
* - 'rollback' 单词归 operations (release rollback);backend 用 "migration rollback" 多词
|
|
31
|
+
* - 'cqrs' / 'microservice' / 'event-driven' 归架构;backend 不重复
|
|
32
|
+
*/
|
|
33
|
+
import type { DomainModule } from './types.js';
|
|
34
|
+
export declare const backendDomain: DomainModule;
|
|
35
|
+
//# sourceMappingURL=backend.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../../src/domains/backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,eAAO,MAAM,aAAa,EAAE,YAiX3B,CAAC"}
|