chore: 同步主分支本地改动与个人开发工具链

纳入 personal-dev/OpenSpec 配置、管理端与教育 Demo 界面调整、工作人员 JWT 默认 7 天,以及参考资料与代理文档更新。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
wuzilongandCursor committed 2026-11-10 17:14:52 +08:00
1 parent e8060287e0
commit 608afb88ea
217 files changed
+15370 -5890

No files matched your search

+9 -24
View File
@@ -1,30 +1,15 @@
# Issue tracker: Local Markdown
# Issue tracker: Gitea
Issues and specs for this repo live as markdown files in `.scratch/`.
正式工单仓库和集成分支以 `project.json` 的 `project.tracker` 与 `project.integration_branch` 为准。用户于 2026-11-02 在接入检查中确认使用代码仓库的 Gitea Issues,并采用 `main` 作为集成分支。
## Conventions
## 工单操作
- One feature per directory: `.scratch/<feature-slug>/`
- The spec is `.scratch/<feature-slug>/spec.md`
- Implementation issues are one file per ticket at `.scratch/<feature-slug>/issues/<NN>-<slug>.md`, numbered from `01`, never a single combined tickets file
- Triage state is recorded as a `Status:` line near the top of each issue file (see `triage-labels.md` for the role strings)
- Comments and conversation history append to the bottom of the file under a `## Comments` heading
- 获取工单时,从配置的 Gitea 仓库读取正文、全部评论与相关图片;同一仓库的工单编号用于任务关联。
- 发布工单、评论、流程标签及关闭工单前,按个人开发技能检查对应权限;接入配置不授予平台写入权限。
- 工单队列与持续监听仅在用户明确要求时启动。
## When a skill says "publish to the issue tracker"
## 本地资料
Create a new file under `.scratch/<feature-slug>/` (creating the directory if needed).
`.scratch/<feature-slug>/` 中已有规格、工单和 map 文件保留为历史资料,不自动上传、删除或按本地状态领取正式工单。用户引用这些资料时先查阅,再确认其与 Gitea 工单的关联。
## When a skill says "fetch the relevant ticket"
Read the file at the referenced path. The user will normally pass the path or the issue number directly.
## Wayfinding operations
Used by `/wayfinder`. The **map** is a file with one **child** file per ticket.
- **Map**: `.scratch/<effort>/map.md` (the Notes / Decisions-so-far / Fog body).
- **Child ticket**: `.scratch/<effort>/issues/NN-<slug>.md`, numbered from `01`, with the question in the body. A `Type:` line records the ticket type (`research`/`prototype`/`grilling`/`task`); a `Status:` line records `claimed`/`resolved`.
- **Blocking**: a `Blocked by: NN, NN` line near the top. A ticket is unblocked when every file it lists is `resolved`.
- **Frontier**: scan `.scratch/<effort>/issues/` for files that are open, unblocked, and unclaimed; first by number wins.
- **Claim**: set `Status: claimed` and save before any work.
- **Resolve**: append the answer under an `## Answer` heading, set `Status: resolved`, then append a context pointer (gist + link) to the map's Decisions-so-far in `map.md`.
后续规格产物按个人开发技能的建设与规格分支管理,Gitea 工单保存诉求、验收条件和产物链接。