diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index b1bc858..0000000 Binary files a/.DS_Store and /dev/null differ diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..fbe6252 --- /dev/null +++ b/.gitignore @@ -0,0 +1,10 @@ +.venv/ +__pycache__/ +*.py[cod] +.DS_Store +.pytest_cache/ +.coverage +htmlcov/ +.env +data/*.db +data/*.db-* diff --git a/AGENTS.md b/AGENTS.md index 91bac29..24476e9 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -113,6 +113,22 @@ For each task: Keep changes scoped. Avoid unrelated refactors. If a file or design issue blocks the requested work, propose the smallest corrective change that serves the current goal. +### Project Memory And Conversation Learnings + +After any valuable conversation iteration, agents should consider whether the +learning should be preserved in this `AGENTS.md` file so future agents understand +the project better. Examples include successfully resolving a recurring problem, +confirming an ambiguous project convention, discovering a reliable workflow, or +clarifying how agents should coordinate work in this repository. + +Do not silently add uncertain or speculative rules. If the learning is ambiguous, +could change product behavior, or might conflict with the source documents, ask the +user for confirmation before updating `AGENTS.md`. + +Keep additions concise and operational. `AGENTS.md` should capture durable agent +working rules, not replace product requirements, implementation specs, or detailed +task plans that belong in `docs/`. + ### Error Handling Philosophy These principles are defined in `docs/DevelopmentPlan.md` §10 and `docs/TDD.md` §13. @@ -217,6 +233,49 @@ For UI work, verify rendered pages manually or with browser automation when prac Use small, focused commits. One commit should represent one clear change. +### Solo Commit Discipline + +For this solo project, after completing each independent feature/task, run the +relevant tests and create one focused git commit for the files related to that +task. Do not push unless the user explicitly asks. Do not commit unrelated +files. + +An "independent feature/task" means the smallest useful change that can be +understood, tested, and reverted on its own. Examples: + +- One `docs/Tasks.md` task such as T07 API retry, T20 export, or T22 Docker. +- One narrow bug fix, such as fixing 401 error display or CSV newline handling. +- One cohesive page or route improvement, such as adding the task detail page. +- One test-only change that documents or locks down one behavior. + +Do not mix unrelated changes in one commit. For example, do not combine Docker +deployment, UI redesign, AI retry logic, and documentation edits unless they are +strictly required to complete one same task. + +Commit messages for this project must be written in Chinese while keeping the +standard prefix. Examples: + +- `feat: 接入真实 AI 评论分析` +- `fix: 修复评论分页停止条件` +- `test: 补充导出 CSV 注入防护测试` +- `docs: 记录单人项目提交规则` + +### Current Solo Execution Mode + +The current project phase is initial solo development and process practice. Unless +the user explicitly enables parallel work or PR workflow, execute tasks +sequentially: one task at a time, in dependency order. + +For this phase, use one task branch per `docs/Tasks.md` task, named +`feat/tXX-short-description` (for example, `feat/t01-project-skeleton`). After the +task passes its required checks, create one focused commit for that task when +practical. Large tasks may be split into multiple meaningful commits only when a +single commit would be hard to review or safely revert. + +Do not start the next task until the previous task has been reviewed, verified, +and either merged into the working baseline or explicitly approved as the base for +the next branch. Do not open a PR unless the user asks for one. + Recommended commit prefixes: - `docs:` documentation changes diff --git a/docs/.DS_Store b/docs/.DS_Store deleted file mode 100644 index 5008ddf..0000000 Binary files a/docs/.DS_Store and /dev/null differ