Maintain and stabilize a CUDA/OpenGL N-body simulation project that is now in a final quality-focused cleanup phase. Optimize for clarity, correctness, and reduced maintenance burden rather than feature expansion.
| Path | Role |
|---|---|
openspec/specs/ |
Active requirements and repository rules |
openspec/changes/ |
Active proposals, designs, delta specs, and task lists |
openspec/changes/archive/ |
Completed changes |
specs-archived/ |
Historical-only material; never use as the active source of truth |
docs/ |
Repository-local reader and contributor documentation |
site/ |
GitHub Pages showcase surface |
.github/ |
CI, Pages, issue/PR templates, and Copilot instructions |
simulation-core.md— particle data, force calculation, Barnes-Hutforce-computation.md— spatial hash and integrationvisualization.md— CUDA/OpenGL interop and renderingsimulation-control.md— runtime control, serialization, validationquality-attributes.md— performance, reliability, maintainability, validation qualityrepository-governance.md— OpenSpec workflow, docs policy, automation quality, GitHub presentation, closeout rules
- Read the relevant files in
openspec/specs/before changing code, docs, workflows, or project behavior. - If the work changes behavior, workflow, docs policy, automation, or repository structure, create or update an OpenSpec change in
openspec/changes/before implementation. - Keep proposal, design, specs, and tasks aligned. Do not implement from vague intent alone.
- Implement in small coherent batches and mark task checkboxes immediately.
- Run the highest-value existing checks for the surfaces you changed.
- Use
/reviewbefore finalizing major structural, workflow, or documentation refactors.
- Treat
openspec/as the only active specification system. - Historical specs in
specs-archived/are for reference only. - During the current cleanup effort, treat existing unstaged repository edits as the working baseline unless the user explicitly says otherwise.
- Prefer deletion, consolidation, or redirection over keeping duplicate docs and site mirrors.
- Do not add generic engineering or AI boilerplate; every file must be specific to this project.
- Keep user-facing docs focused on the product and contributor workflow; do not announce archive/maintenance intent publicly.
- Update required bilingual counterparts when touching core specs or primary onboarding docs.
- Prefer the canonical CMake build path and scripts in
scripts/. - Keep dependency versions and GitHub Actions versions pinned or explicitly bounded.
- Prefer high-signal workflows over broad or ceremonial checks.
- Default LSP baseline:
clangdusingcompile_commands.jsonfrom the canonical build. - Keep MCP/plugin usage minimal; prefer native OpenSpec, GitHub, and editor capabilities first.
- Prefer longer
autopilotexecution over routine/fleetusage unless the work is genuinely parallel-heavy.
README.md/README.zh-CN.mdexplain the project, quick start, and canonical links.CONTRIBUTING.mddefines the contributor workflow and quality gates.CLAUDE.md,AGENTS.md, and.github/copilot-instructions.mdmust agree on the same operating model.QWEN.mdis a compatibility stub only if retained; it must not become an independent source of instructions.- GitHub Pages should complement the repository and market the project; it should not mirror every markdown file.
- Be surgical but complete.
- Reuse existing patterns where they are sound; rewrite when the current structure is the problem.
- Fix closely related drift or bugs you uncover while touching a surface.
- Leave the repository easier to understand than you found it.