配置: 初始化 ISOS Agent Teams 软件研发模板
CI / lint (push) Successful in 6s

This commit is contained in:
2026-04-19 21:47:08 +08:00
parent 3ab6fe6504
commit 34346be862
202 changed files with 23544 additions and 0 deletions
+124
View File
@@ -0,0 +1,124 @@
- Always reply in Chinese
# ISOS Agent Teams 软件研发模板
通用 Agent Teams 软件研发项目模板,支持多角色 AI Agent 并行协作开发。
> 完整项目规范见 [`.claude/CLAUDE.md`](./.claude/CLAUDE.md)
## 目录结构
```
apps/
├── server/ # 服务端应用 (FastAPI + SQLite)
├── desktop/ # 桌面端应用 (PyWebView + Svelte + SQLite)
docs/ # 项目文档
specs/ # speckit 功能规格
.specify/ # speckit 配置
memory/ # 跨会话记忆(经验、偏好、历史)
```
**模块独立性**: 各模块完全独立,禁止跨模块代码引用,仅通过 API 通信。
## 核心约束
- **语言**: Python 3.12+ / TypeScript (前端)
- **框架**: FastAPI (服务端) + Svelte 5 + PyWebView (桌面端)
- **数据库**: SQLite 3.45+
- **包管理**: uvPython/ nvm + npm(前端)
- **版本控制**: Jujutsu (jj),主分支 `trunk`
- **提交类型**: 必须使用中文(功能、修复、维护...),详见 `team/git.md`
## 技术栈
> 以下为推荐技术栈,具体项目可根据需求调整。
| 组件 | 技术 | 约束 |
| ------ | -------------------- | ---------- |
| 语言 | Python 3.12+ | 强制 |
| 包管理 | uv | 强制 |
| 服务端 | FastAPI | 推荐 |
| 桌面端 | PyWebView + Svelte 5 | 推荐 |
| 数据库 | SQLite 3.45+ | 推荐 |
| 容器化 | Docker | 服务端推荐 |
## 关键架构约束
- **模块独立**: `apps/server``apps/desktop` 各有独立的 `.venv``uv.lock``pyproject.toml`。禁止跨模块代码引用,仅通过 API 通信
- **每个 PR 只能改动一个模块**server 或 desktop),标题格式:`[模块] 描述`
## 命令(必须 cd 到对应 app 目录执行)
```bash
# 服务端 (cd apps/server)
uv run mypy src/ --strict # 类型检查
uv run pytest # 测试
ruff format --check . && ruff check . # 代码质量
# 桌面端 (cd apps/desktop)
uv run mypy src/ --strict # 类型检查
uv run pytest # 测试
ruff format --check . && ruff check . # 代码质量
```
## 编码规范
### 格式化
- **缩进**: 4 空格 | **行长度**: 100 字符
- **格式化**: `ruff format` | **Lint**: `ruff check`
### 命名约定
- `PascalCase`: 类名、类型、异常
- `snake_case`: 函数、方法、变量、模块
- `UPPER_SNAKE_CASE`: 常量
### 类型注解
- 必须使用完整类型注解,mypy strict 模式
- 禁止使用 `Any` 类型
### 注释规范
- 使用 Google 风格 docstring
- 公共函数和类必须有文档字符串
### 字符串规范
- 用户可见字符串:双引号 | 代码内部:单引号
## Svelte 开发
完整指南见 [`team/svelte.md`](./team/svelte.md)。核心流程:
1. `list-sections``get-documentation` → 编码 → `svelte-autofixer` 验证
2. `.svelte` 文件优先使用 svelte-file-editor 子代理
## 开发工作流
### speckit 集成
```
/speckit.specify → spec.md → /speckit.plan → plan.md → /speckit.tasks → tasks.md → /speckit.implement
```
### 版本控制
- **版本控制**: Jujutsu (jj),并存模式(`.jj` + `.git` 并存)
- **分支**: Trunk-Based Development,主分支 `trunk`
- **提交类型**: 使用中文类型(功能、修复、维护、文档、重构、测试、格式、性能、构建、安全、依赖、清理、配置、规格、合并),完整列表见 `team/git.md`
## 关键文档
| 文档 | 用途 |
| ------------------------------------------ | -------------------------------- |
| [`.claude/CLAUDE.md`](./.claude/CLAUDE.md) | 完整编码规范、模块说明、验证步骤 |
| `docs/01-用户需求.md` | 用户需求、项目目标、验收标准 |
| `docs/03-功能列表.md` | 功能需求(FR)列表 |
| `docs/02-产品需求.md` | 非功能性需求、约束 |
| `docs/05-设计-UI.md` | UI 界面设计 |
| `docs/06-设计-UX.md` | 用户体验设计 |
| `team/git.md` | Git 提交规范、分支策略 |
| `team/jj.md` | jj 命令对照表 |
| `team/svelte.md` | Svelte 5 开发完整指南 |
| `team/tmux.md` | tmux 团队协作规范 |