370 lines
10 KiB
Markdown
370 lines
10 KiB
Markdown
# 骨架项目来源与调研策略
|
||
|
||
- 版本:V1.0 Draft
|
||
- 日期:2026-07-06
|
||
- 适用范围:Skelet 第一版内容库建设、后续候选项目发现和评测流程
|
||
|
||
## 一、目标
|
||
|
||
本文定义 Skelet 去哪里寻找不同行业、不同场景、不同技术栈下合适的开源项目骨架。
|
||
|
||
目标不是尽可能多地收集链接,而是建立一个稳定、可复用、可验证的来源体系,让网站长期产出可信内容:
|
||
|
||
- 找到高质量候选骨架。
|
||
- 区分官方模板、社区模板、成熟开源产品和商业模板。
|
||
- 识别适合 AI coding 增量开发的项目。
|
||
- 形成可持续的内容更新来源。
|
||
|
||
## 二、来源分层
|
||
|
||
### 2.1 第一优先级:GitHub
|
||
|
||
GitHub 是主数据源,适合发现开源骨架、模板、starter、boilerplate 和成熟开源产品。
|
||
|
||
重点入口:
|
||
|
||
- GitHub Topics: `boilerplate`
|
||
- GitHub Topics: `starter-template`
|
||
- GitHub Topics: `saas-boilerplate`
|
||
- GitHub Topics: `django-boilerplate`
|
||
- GitHub Topics: `fastapi`
|
||
- GitHub Topics: `admin-dashboard`
|
||
- GitHub Topics: `ecommerce`
|
||
- GitHub Topics: `cms`
|
||
- GitHub Trending
|
||
|
||
推荐搜索语法:
|
||
|
||
```text
|
||
saas boilerplate stars:>500 pushed:>2025-01-01 archived:false
|
||
admin dashboard starter language:TypeScript stars:>300 archived:false
|
||
django boilerplate stars:>300 pushed:>2025-01-01
|
||
fastapi template stars:>300 archived:false
|
||
cms starter language:Python stars:>200
|
||
api boilerplate language:Go stars:>300 archived:false
|
||
ecommerce starter stars:>300 pushed:>2025-01-01 archived:false
|
||
```
|
||
|
||
筛选条件建议:
|
||
|
||
| 条件 | 用途 |
|
||
| --- | --- |
|
||
| `stars:>N` | 初步过滤知名度。 |
|
||
| `pushed:>YYYY-MM-DD` | 过滤长期无人维护项目。 |
|
||
| `archived:false` | 排除归档项目。 |
|
||
| `language:Python` | 按语言筛选。 |
|
||
| `topic:saas` | 按 GitHub topic 筛选。 |
|
||
| `template:true` | 找 GitHub template repository。 |
|
||
| `license:mit` | 按协议筛选。 |
|
||
|
||
注意:star 只能作为入口信号,不能直接作为推荐理由。最终要看文档、结构、测试、维护状态和二次开发难度。
|
||
|
||
### 2.2 第二优先级:官方框架模板
|
||
|
||
官方模板通常稳定性更好,适合作为“基础技术骨架”分类。
|
||
|
||
优先关注:
|
||
|
||
| 生态 | 来源 | 适合场景 |
|
||
| --- | --- | --- |
|
||
| Django | `cookiecutter-django` | 生产级 Django Web 应用。 |
|
||
| FastAPI | `full-stack-fastapi-template` | API-first / 前后端分离应用。 |
|
||
| Wagtail | 官方项目和 starter | CMS、内容站、目录站。 |
|
||
| Next.js | Vercel examples | 内容站、SaaS、全栈应用。 |
|
||
| Laravel | Laravel Starter Kits | PHP Web 应用、后台、SaaS 起步。 |
|
||
| NestJS | 官方 CLI / recipes | Node.js 企业 API 服务。 |
|
||
| Rails | 官方 Rails 起步结构 | CRUD、SaaS、后台系统。 |
|
||
|
||
这些来源不一定都能直接映射到行业,但可以作为每个语言/框架下的稳定基准。
|
||
|
||
### 2.3 第三优先级:开源替代产品目录
|
||
|
||
很多行业场景没有明确叫“boilerplate”的项目,但有成熟开源产品。可以从这些产品反推适合的业务骨架。
|
||
|
||
推荐来源:
|
||
|
||
- OpenAlternative
|
||
- AlternativeTo
|
||
- Product Hunt Developer Tools
|
||
- Self-hosted software lists
|
||
- Awesome self-hosted lists
|
||
|
||
适合寻找这些行业:
|
||
|
||
- CRM
|
||
- ERP
|
||
- Helpdesk
|
||
- Project management
|
||
- Analytics
|
||
- E-commerce
|
||
- CMS
|
||
- Workflow automation
|
||
- AI agent platform
|
||
- Knowledge base
|
||
- Authentication
|
||
- Monitoring
|
||
- Notification infrastructure
|
||
|
||
处理方式:先找到成熟开源产品,再评估它是否适合作为二次开发骨架。如果产品过重,可以只作为“行业参考项目”,不直接推荐为起步骨架。
|
||
|
||
### 2.4 第四优先级:Awesome Lists
|
||
|
||
Awesome list 适合补漏和发现细分领域。
|
||
|
||
推荐搜索词:
|
||
|
||
```text
|
||
awesome saas boilerplate github
|
||
awesome django boilerplate github
|
||
awesome fastapi starter github
|
||
awesome admin dashboard github
|
||
awesome open source ecommerce github
|
||
awesome self hosted github
|
||
awesome internal tools github
|
||
awesome ai agents github
|
||
```
|
||
|
||
使用规则:
|
||
|
||
- 只把 awesome list 当候选来源,不直接采信排名。
|
||
- 每个候选项目必须回到 GitHub 原仓库验证。
|
||
- 重点检查最近提交、issue、license、文档、测试和安装路径。
|
||
|
||
### 2.5 第五优先级:社区与趋势入口
|
||
|
||
用于发现新项目和新趋势,不作为第一判断依据。
|
||
|
||
来源:
|
||
|
||
- Hacker News
|
||
- Reddit 相关社区
|
||
- Indie Hackers
|
||
- Dev.to
|
||
- X / Twitter 技术圈
|
||
- Discord / Slack 开源社区
|
||
- AI coding 工具社区
|
||
- Product Hunt 新品榜
|
||
|
||
这些来源噪声高,但能发现新项目。进入网站前必须经过评分流程。
|
||
|
||
## 三、按场景建立搜索词库
|
||
|
||
### 3.1 SaaS
|
||
|
||
```text
|
||
saas boilerplate
|
||
saas starter
|
||
subscription starter
|
||
stripe boilerplate
|
||
multi tenant starter
|
||
nextjs saas boilerplate
|
||
django saas boilerplate
|
||
laravel saas starter
|
||
```
|
||
|
||
### 3.2 管理后台 / 内部工具
|
||
|
||
```text
|
||
admin dashboard boilerplate
|
||
admin dashboard starter
|
||
internal tools starter
|
||
react admin dashboard
|
||
vue admin template
|
||
ant design pro
|
||
```
|
||
|
||
### 3.3 API 服务
|
||
|
||
```text
|
||
rest api boilerplate
|
||
fastapi template
|
||
express api boilerplate
|
||
nestjs starter
|
||
spring boot starter
|
||
go api boilerplate
|
||
```
|
||
|
||
### 3.4 内容站 / CMS
|
||
|
||
```text
|
||
cms starter
|
||
blog starter
|
||
wagtail starter
|
||
headless cms starter
|
||
content website template
|
||
astro content starter
|
||
nextjs blog starter
|
||
```
|
||
|
||
### 3.5 电商 / 市场平台
|
||
|
||
```text
|
||
ecommerce starter
|
||
shop boilerplate
|
||
marketplace starter
|
||
multi vendor marketplace
|
||
medusa starter
|
||
saleor starter
|
||
```
|
||
|
||
### 3.6 AI 应用
|
||
|
||
```text
|
||
ai app starter
|
||
rag starter
|
||
chatbot template
|
||
llm app boilerplate
|
||
ai agent starter
|
||
openai nextjs starter
|
||
langchain template
|
||
llamaindex starter
|
||
```
|
||
|
||
### 3.7 数据看板 / 分析
|
||
|
||
```text
|
||
analytics dashboard
|
||
data dashboard starter
|
||
bi dashboard
|
||
admin analytics template
|
||
reporting dashboard starter
|
||
```
|
||
|
||
### 3.8 移动端后端
|
||
|
||
```text
|
||
mobile backend starter
|
||
baas starter
|
||
firebase alternative starter
|
||
supabase starter
|
||
app backend boilerplate
|
||
```
|
||
|
||
### 3.9 企业系统
|
||
|
||
```text
|
||
crm open source
|
||
erp open source
|
||
helpdesk open source
|
||
project management open source
|
||
knowledge base open source
|
||
workflow automation open source
|
||
```
|
||
|
||
## 四、候选项目初筛标准
|
||
|
||
项目进入 Skelet 候选库前,至少检查:
|
||
|
||
| 检查项 | 建议标准 |
|
||
| --- | --- |
|
||
| 开源协议 | 有明确 license,优先 MIT、Apache-2.0、BSD。 |
|
||
| 维护状态 | 最近 6-12 个月有提交或 release。 |
|
||
| 文档 | README 能说明安装、运行、配置和部署。 |
|
||
| 测试 | 有测试目录或 CI 更好。 |
|
||
| 示例模块 | 有完整功能示例,适合 AI 模仿。 |
|
||
| 依赖复杂度 | 依赖不过重,不强绑定大量第三方商业服务。 |
|
||
| 二次开发 | 目录结构清晰,模块边界明确。 |
|
||
| 安全风险 | 不要求用户复制密钥、不绕过平台规则。 |
|
||
| 商业冲突 | 若是商业模板,要明确标记,不和开源项目混排。 |
|
||
|
||
## 五、AI Coding 友好度评估
|
||
|
||
评分维度的**唯一权威定义**在 [`../docs/04-architecture.md`](../docs/04-architecture.md):6 个 0-5 分项,总分由分项计算、不单独录入。本文不另行维护维度清单。评审时对应的检查问题:
|
||
|
||
| 维度(定义见架构文档) | 评分问题 |
|
||
| --- | --- |
|
||
| 目录结构 | agent 能否快速理解入口、模块和边界? |
|
||
| 文档完整度 | 是否有清楚的启动、测试、部署说明? |
|
||
| 测试可用性 | 是否能用一条命令跑基础测试? |
|
||
| 示例模块 | 是否有一个完整功能供 agent 模仿? |
|
||
| 依赖克制度 | 是否需要大量外部账号或复杂服务才能运行? |
|
||
| 增量开发难度 | 新增功能是否有清晰落点?是否适合一轮只做一个小任务?(原"任务切片友好度"已并入本维度) |
|
||
|
||
评分不是只给总分,还要写一句评语:为什么适合 AI coding,为什么不适合。
|
||
|
||
**时间成本提示**:每个项目按完整收录流程(clone、跑起来、评分、写适合/不适合)需要 2-4 小时。可先用 15 分钟粗筛(license、最近提交、README 质量)淘汰明显不合格者,只对通过粗筛的项目做完整评测。
|
||
|
||
## 六、收录流程
|
||
|
||
推荐流程:
|
||
|
||
```text
|
||
发现来源
|
||
-> 加入候选清单
|
||
-> 检查 license / 维护状态 / 文档 / 测试
|
||
-> 本地尝试运行或阅读启动路径
|
||
-> 按场景归类
|
||
-> 按语言和框架打标签
|
||
-> 完成 AI 友好度评分
|
||
-> 写适合 / 不适合场景
|
||
-> 发布到 Skelet
|
||
```
|
||
|
||
MVP 阶段可以先人工维护,不做自动抓取。
|
||
|
||
## 七、首批内容建议
|
||
|
||
第一批不要追求全行业覆盖。**首批只做 2 个场景**(与 `business-plan-v1.md` 里程碑 M2 和 `competitor-analysis.md` 一致):
|
||
|
||
1. SaaS
|
||
2. 内容站 / CMS
|
||
|
||
每个场景收录约 10 个项目,保证详情页质量,而不是快速堆数量。管理后台和 API 服务在 M3(SEO 验证)闸门通过后作为第二批扩展。
|
||
|
||
首批技术栈覆盖以两个场景的主流生态为准:
|
||
|
||
- Python:Django、FastAPI、Wagtail
|
||
- TypeScript:Next.js
|
||
- PHP:Laravel
|
||
|
||
第二批扩展时再覆盖:NestJS、Go API 服务、Spring Boot。
|
||
|
||
## 八、更新节奏
|
||
|
||
按单人投入校准(与 `content-strategy.md` 发布节奏一致):
|
||
|
||
| 周期 | 工作 |
|
||
| --- | --- |
|
||
| 每周 | 新增 2-3 个候选项目,更新维护状态。 |
|
||
| 每两周 | 发布 1 篇对比/评测文章。 |
|
||
| 每季度 | 复查高流量项目评分和推荐结论。 |
|
||
| 每半年 | 清理长期无人维护项目,标记 archived / stale。 |
|
||
|
||
M3 闸门通过前,内容库封顶 20 个项目 + 12 篇文章(见 `business-plan-v1.md`)。
|
||
|
||
## 九、数据字段建议
|
||
|
||
后续录入 Wagtail 时,每个项目至少包含:
|
||
|
||
- 项目名称
|
||
- 一句话简介
|
||
- GitHub URL
|
||
- 官网 / 文档 URL
|
||
- License
|
||
- 场景分类
|
||
- 语言
|
||
- 框架
|
||
- 数据库
|
||
- 功能标签
|
||
- 成熟度
|
||
- 维护状态
|
||
- AI 友好度总分
|
||
- 分项评分
|
||
- 适合场景
|
||
- 不适合场景
|
||
- 推荐理由
|
||
- 备注
|
||
|
||
## 十、注意事项
|
||
|
||
- 不复制第三方 README 的大段内容,只写原创摘要和评测。
|
||
- 不把商业模板伪装成开源项目。
|
||
- 不把 star 数当质量结论。
|
||
- 不推荐 archived 项目,除非作为历史参考。
|
||
- 不收录无法明确 license 的项目作为重点推荐。
|
||
- 不为了数量牺牲可信度。
|
||
|
||
## 十一、下一步任务
|
||
|
||
首批内容库建设任务**已收进 [`../docs/06-tasks.md`](../docs/06-tasks.md) 的 Backlog**(任务状态以看板为唯一权威,本文不再单独维护任务清单):建立候选清单,完成 SaaS、内容站/CMS 两个场景各 10 个项目初评;管理后台和 API 服务场景在 M3 验证通过后再排期。
|