mcpField
S
scope-appropriate-architecture

scope-appropriate-architecture

github.com/yonatangross开发299173 次安装今天更新
代码仓库

关于 scope-appropriate-architecture

Scope-Appropriate Architecture 面向开发者,按项目规模和成熟度调整架构建议。它将项目划分为六个层级,并据此约束设计模式、技术选择和升级步骤。

主要功能

  1. 01六级项目分类
  2. 02架构模式建议
  3. 03按层级选择技术
  4. 04自建与采购决策指引
  5. 05渐进式升级路径

适用场景

  1. 01为新项目选择架构
  2. 02按项目复杂度审查设计模式
  3. 03规划从原型到企业级的渐进升级

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/yonatangross/orchestkit --skill scope-appropriate-architecture

安装后在 Claude Code 中输入/scope-appropriate-architecture确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

test-cases.json
references/
enterprise.md
interview-takehome.md
open-source.md
startup-mvp.md
rules/
_sections.md
deferred-debt-marker.md
over-engineering-flag.md
tier-detection-evidence.md

详细介绍

与项目规模相称的架构

让每项架构决策都与项目的实际需求相匹配。并非每个项目都需要六边形架构、CQRS 或微服务。

核心原则: 先判断项目所属层级,再将所有后续模式选择限制在该层级的复杂度上限内。


6 个项目层级

层级代码行数比架构数据库身份验证测试
1. 面试/带回家作业1.0-1.3x扁平文件,无分层SQLite / JSON无或基础验证8-15 个重点测试
2. 黑客松/原型0.8-1.0x尽可能使用单文件SQLite / 内存无无
3. 初创公司/MVP1.0-1.5xMVC 单体托管 PostgresClerk/Supabase Auth成功路径 + 关键测试
4. 成长阶段1.5-2.0x模块化单体Postgres + Redis身份验证服务单元测试 + 集成测试
5. 企业级2.0-3.0x六边形架构/DDDPostgres + 队列OAuth2/SAML完整测试金字塔
6. 开源1.2-1.8x精简 API 表面可配置可选穷尽式公共 API 测试

代码行数比 = 总行数 / 核心业务逻辑行数。比值越高,相对于业务价值的基础设施代码就越多。


自动检测信号

信号层级指标
README 包含 "take-home"、"assignment"、"interview"层级 1
提到时间限制(例如 "4 hours"、"weekend")层级 1-2
文件少于 10 个,无 CI,无 Docker层级 1-2
存在 .github/workflows/层级 3+
package.json 包含 20 个以上依赖项层级 3+
存在 Kubernetes/Terraform 文件层级 4-5
存在 CONTRIBUTING.md、CODE_OF_CONDUCT.md层级 6
包含 packages/ 或 apps/ 的单体仓库层级 4-5

置信度较低时: 使用 AskUserQuestion 询问用户。


模式适用性矩阵

模式面试黑客松MVP成长阶段企业级
仓储模式过度设计过度设计临界适用必需
事件驱动架构过度设计过度设计过度设计选择性采用适用
DI 容器过度设计过度设计仅轻量使用适用必需
独立 DTO 层过度设计过度设计多 1 层2 层所有层
微服务绝不采用绝不采用绝不采用仅在拆分时采用适用
CQRS过度设计过度设计过度设计过度设计有充分理由时采用
六边形架构过度设计过度设计过度设计临界适用
DDD(限界上下文)过度设计过度设计过度设计选择性采用适用
消息队列过度设计过度设计临界适用必需
API 版本控制跳过跳过URL 前缀基于 Header完整策略
错误处理try/catchconsole.log错误边界错误服务RFC 9457
日志记录console.log无结构化 JSON集中式OpenTelemetry

经验法则: 如果某个模式对检测出的层级显示为过度设计,就不要使用它。应改为建议更简单的方案。


按层级划分的技术速查表

选择面试黑客松MVP增长阶段企业级
数据库SQLite / JSON 文件内存 / SQLite托管 PostgresPostgres + RedisPostgres + 队列 + 缓存
身份验证硬编码 / 无无Clerk / Supabase Auth身份验证服务OAuth2 / SAML / SSO
状态管理useStateuseStateZustand / ContextZustand + React QueryRedux / 自定义 + 缓存
CSS内联 / TailwindTailwindTailwindTailwind + 设计令牌设计系统
APIExpress 路由单文件处理程序Next.js API 路由FastAPI / Express网关 + 服务
部署localhostVercel / RailwayVercel / RailwayDocker + 托管服务K8s / ECS
CI/CD无无基础 GitHub Actions多阶段流水线完整流水线 + 门禁
监控无无仅错误跟踪APM + 日志完整可观测性技术栈

构建还是购买决策树(第 1–3 层)

对于面试、黑客松和 MVP 层级,始终优先购买,而非自行构建:

能力购买(使用 SaaS)构建(仅当)
身份验证Clerk、Supabase Auth、Auth0身份验证本身就是核心产品
支付Stripe支付本身就是核心产品
电子邮件Resend、SendGrid电子邮件本身就是核心产品
文件存储S3、Cloudflare R2合规要求本地部署
搜索Algolia、Typesense Cloud文档超过 1,000 万份或需要自定义排名
分析PostHog、Mixpanel有独特的数据需求

**节省时间:**仅身份验证一项,自行构建需要 2–4 周,集成只需 2 小时。


升级路径

当项目发展超出当前层级时,逐步升级:

Tier 2 (Prototype) → Tier 3 (MVP)
  Add: Postgres, basic auth, error boundaries, CI

Tier 3 (MVP) → Tier 4 (Growth)
  Add: Redis cache, background jobs, monitoring, module boundaries

Tier 4 (Growth) → Tier 5 (Enterprise)
  Add: DI, bounded contexts, message queues, full observability
  Extract: First microservice (only the proven bottleneck)

**关键要点:**复杂性总是可以之后再增加,但很难轻易移除。


此技能的触发时机

此技能由以下流程加载:

  • brainstorm 第 0 阶段(上下文发现)
  • implement 第 0 步(上下文发现)
  • quality-gates 的 YAGNI 检查
  • 任何需要合理确定建议范围的技能

检测到的层级会作为上下文传递,以约束下游决策。


相关技能

  • ork:brainstorm - 在第 0 阶段使用层级检测来约束创意
  • ork:implement - 在第 0 步使用层级检测来约束架构
  • ork:quality-gates - YAGNI 门禁引用此技能的层级矩阵
  • ork:architecture-patterns - 架构验证(受层级约束)

参考资料

按需使用 Read("references/<file>") 加载:

文件内容
interview-takehome.md详细介绍第 1–2 层
startup-mvp.md第 3 层模式与决策
enterprise.md第 4–5 层模式与论证标准
open-source.md第 6 层的独特考量

评论

支持 Markdown