renaissance-architecture by bencium/bencium-claude-code-design-skill
npx skills add https://github.com/bencium/bencium-claude-code-design-skill --skill renaissance-architecture构建真正的新事物。而非“X的Y版”。
问题不在于现代工具。而在于构建评注而非创造。
中世纪学者撰写关于亚里士多德的评注,而非新的哲学。我们制作《星球大战》衍生作品,而非新的科幻片。我们在现有工作流中添加AI,而非追问哪些工作流因此成为可能。
文艺复兴式架构意味着:
从简单开始,当痛点可衡量时再增加复杂性。
| 起始方案 | 转向方案 | 时机 |
|---|---|---|
| SQLite | Postgres | >10个并发写入者,>100GB数据,需要PostGIS/全文搜索 |
| 单文件 | 多文件 | 文件超过约500行代码或承担多重职责 |
| 单体架构 | 微服务 | 团队无法在同一代码库上协作,或确实需要规模隔离 |
| 静态托管 | 服务器 |
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
| 需要身份验证、实时功能或服务器端计算 |
| 本地状态 | 云端同步 | 多设备是真实用户需求,而非假设 |
非教条,乃默认。 偏离时需记录理由。
当框架能提供真正杠杆作用时使用它们。
| 框架 | 适用场景 | 避免场景 |
|---|---|---|
| Next.js | 全栈React应用、SSR重要、团队熟悉 | 简单静态站点、非React团队 |
| Remix | 数据密集型应用、渐进增强优先 | 简单SPA、不熟悉的团队 |
| Astro | 内容网站、部分水合有价值 | 高度交互式应用 |
| SvelteKit | 包体积小至关重要、团队愿意学习 | 大型现有React代码库 |
| Rails/Django | 快速CRUD应用、管理面板、成熟模式 | 实时性要求高、团队偏好JS |
| FastAPI | Python API、异步重要 | 简单脚本、团队偏好其他语言 |
| Hono/Elysia | 边缘函数、轻量级API | 需要完整框架的复杂应用 |
问题不在于“用不用框架”,而在于“这个框架是为我们所创造的事物服务,还是我们创造的事物在服务这个框架?”
配置
能传授知识的错误信息
你能理解的日志
文档与代码共存
并非“永不使用云”,而是“不必要地依赖云”。
| 功能 | 本地优先方案 | 使用云的时机 |
|---|---|---|
| 核心功能 | 离线工作 | 核心功能从不要求 |
| 数据存储 | SQLite/本地存储 | 同步、备份、多设备 |
| 计算 | 尽可能客户端处理 | 繁重处理、共享资源 |
| 身份验证 | 本地会话有效 | 第三方OAuth、企业SSO |
状态应可检查
同步作为增强功能
在以下情况选择库而非框架:
在以下情况选择框架而非库:
API暴露原语
最小化退出成本
| 使用场景 | 适合云 | 本地/边缘更佳 |
|---|---|---|
| 身份验证 | 企业SSO、OAuth提供商 | 简单的用户名/密码 |
| 存储 | 多设备同步、协作 | 单用户、支持离线 |
| 计算 | 繁重的ML推理、视频处理 | 文本处理、简单转换 |
| 数据库 | 多写入者、全球分布 | 单用户、本地优先 |
| 实时功能 | 多用户协作 | 单用户状态 |
问题在于:云是为你的用户服务,还是为你所没有的规模假设服务?
用户操作<100ms,较长操作提供真实进度
加载状态应:
用户始终知道系统在做什么
没有黑盒
事物保持在放置的位置
可预测的导航
在数据层实现,而不仅仅是UI
破坏性操作
通知
模态框与中断
自动播放
默认值优于自定义
第一性原理检查
简单性检查
工具适用性检查
人类可读性检查
UI/UX检查
首先提问:
默认选择:
增加复杂性当:
何时从默认方案升级:
| 从 | 到 | 触发条件 |
|---|---|---|
| SQLite | Postgres | >10个并发写入者 或 >100GB数据 或 需要PostGIS/全文搜索 |
| 单体 | 微服务 | 团队无法在同一代码库工作 或 确实需要规模隔离 |
| 静态 | 服务器 | 需要身份验证、实时功能或服务器端计算 |
| 本地存储 | 云端同步 | 多设备是已验证的用户需求,而非假设 |
| 库 | 框架 | 团队具备专业知识 且 上市时间至关重要 且 框架理念匹配 |
| 简单 | 复杂 | 痛点可衡量,而非理论上的 |
复杂性在以下情况可接受:
记录理由。 未来的你会感谢现在的你。
从简单开始,当痛点可衡量时再增加复杂性。
过早的复杂性是带利息的技术债务。
这些是默认值,而非法律。偏离时需记录理由。
此处的每条原则都有有效的例外。目标不是纯粹性,而是意图性。
有效的偏离理由:
无效的偏离理由:
当你偏离时,写下原因。 在注释、ADR或README中写一句话。
| 维度 | 默认 | 升级时机 |
|---|---|---|
| 存储 | SQLite | 并发写入、规模、特性需求 |
| 框架 | 是,如果团队熟悉 | 如果更简单则从头构建 |
| 云 | 确实需要时 | 不要假设,要验证 |
| 配置 | YAML/JSON,文档齐全 | - |
| 错误 | 能传授知识的消息 | - |
| 加载 | 带有真实进度的加载动画 | - |
| 状态 | 可见,可检查 | - |
| 撤销 | 数据层版本控制 | - |
| 复杂性 | 有据可依,而非假设 | 记录理由 |
设计任何事物时,问:
“我是在创造新事物,还是在评论已存在的事物?”
文艺复兴式架构并非拒绝现代工具。而是使用它们来构建真正的新事物——不仅仅是既定模式的另一个变体。
中世纪学者只能撰写评注,因为他们相信真理已在过去揭示。我们没有这样的限制。我们可以创造。
每周安装量
17
代码仓库
GitHub星标数
90
首次出现
11天前
安全审计
安装于
claude-code17
opencode16
github-copilot16
codex16
amp16
cline16
Build genuinely new things. Not "X but for Y."
The problem isn't modern tools. It's building commentaries instead of creations.
Medieval scholars wrote commentaries on Aristotle instead of new philosophy. We build Star Wars spin-offs instead of new sci-fi. We add AI to existing workflows instead of asking what workflows become possible.
Renaissance architecture means:
Start simple, add complexity when pain is measurable.
| Start With | Move To | When |
|---|---|---|
| SQLite | Postgres | >10 concurrent writers, >100GB, need PostGIS/full-text |
| Single file | Multiple files | File exceeds ~500 LOC or has multiple responsibilities |
| Monolith | Services | Team can't work on same codebase, or genuine scale isolation needed |
| Static hosting | Server | Need auth, real-time, or server-side computation |
| Local state | Cloud sync | Multi-device is a real user need, not assumed |
Not dogma, but defaults. Violate with documented reasoning.
Use frameworks when they provide genuine leverage.
| Framework | When to Use | When to Avoid |
|---|---|---|
| Next.js | Full-stack React apps, SSR matters, team knows it | Simple static sites, non-React teams |
| Remix | Data-heavy apps, progressive enhancement priority | Simple SPAs, unfamiliar teams |
| Astro | Content sites, partial hydration valuable | Highly interactive apps |
| SvelteKit | Smaller bundles critical, team willing to learn | Large existing React codebases |
| Rails/Django | Rapid CRUD apps, admin panels, proven patterns | Real-time heavy, team prefers JS |
| FastAPI | Python APIs, async matters | Simple scripts, team prefers other languages |
| Hono/Elysia | Edge functions, lightweight APIs | Complex apps needing full framework |
The question isn't "framework or not" but "does this framework serve the thing we're creating, or are we creating something that serves the framework?"
Configuration
Error messages that teach
Logs you can understand
Documentation lives WITH code
Not "never use cloud" but "don't require cloud unnecessarily."
| Feature | Local-First Approach | Cloud When |
|---|---|---|
| Core functionality | Works offline | Never required for core |
| Data storage | SQLite/local storage | Sync, backup, multi-device |
| Computation | Client-side where possible | Heavy processing, shared resources |
| Auth | Local sessions work | OAuth for third-party, enterprise SSO |
State should be inspectable
Sync as enhancement
Libraries over frameworks when:
Frameworks over libraries when:
APIs expose primitives
Minimize exit costs
| Use Case | Cloud Appropriate | Local/Edge Better |
|---|---|---|
| Auth | Enterprise SSO, OAuth providers | Simple username/password |
| Storage | Multi-device sync, collaboration | Single-user, offline-capable |
| Compute | Heavy ML inference, video processing | Text processing, simple transforms |
| Database | Multi-writer, global distribution | Single user, local-first |
| Real-time | Multi-user collaboration | Single-user state |
The question: Does cloud serve your users, or does it serve your assumptions about scale you don't have?
< 100ms for user actions, honest progress for longer operations
Loading states should:
User always knows what the system is doing
No black boxes
Things stay where you put them
Predictable navigation
Implemented at the data layer, not just UI
Destructive actions
Notifications
Modals & Interruptions
Autoplay
Defaults over customization
First-Principles Check
Simplicity Check
Tool Fitness Check
Human-Legibility Check
UI/UX Check
Start by asking:
Default to:
Add complexity when:
When to upgrade from defaults:
| From | To | Trigger |
|---|---|---|
| SQLite | Postgres | >10 concurrent writers OR >100GB data OR need PostGIS/full-text search |
| Monolith | Services | Team can't work on same codebase OR genuine scale isolation needed |
| Static | Server | Need auth, real-time, or server-side computation |
| Local storage | Cloud sync | Multi-device is validated user need, not assumption |
| Library | Framework | Team expertise exists AND time-to-market critical AND framework opinions align |
| Simple | Complex | Pain is measurable, not theoretical |
Complexity is acceptable when:
Document the reasoning. Future you will thank present you.
Start simple, add complexity when pain is measurable.
Premature complexity is technical debt with interest.
These are defaults, not laws. Violate with documented reasoning.
Every principle here has valid exceptions. The goal isn't purity - it's intentionality.
Valid reasons to deviate:
Invalid reasons to deviate:
When you deviate, write down why. One sentence in a comment, ADR, or README.
| Dimension | Default | Upgrade When |
|---|---|---|
| Storage | SQLite | Concurrent writes, scale, features |
| Framework | Yes, if team knows it | Build from scratch if simpler |
| Cloud | Where genuinely needed | Don't assume, validate |
| Config | YAML/JSON, well-documented | - |
| Errors | Teaching messages | - |
| Loading | Spinners with honest progress | - |
| State | Visible, inspectable | - |
| Undo | Data-layer versioning | - |
| Complexity | Earned, not assumed | Document reasoning |
When designing anything, ask:
"Am I creating something new, or commenting on something that exists?"
Renaissance architecture isn't about rejecting modern tools. It's about using them to build genuinely new things - not just another variation on established patterns.
Medieval scholars could only write commentaries because they believed truth was revealed in the past. We have no such limitation. We can create.
Weekly Installs
17
Repository
GitHub Stars
90
First Seen
11 days ago
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
claude-code17
opencode16
github-copilot16
codex16
amp16
cline16
React 组合模式指南:Vercel 组件架构最佳实践,提升代码可维护性
120,000 周安装