Authoritative AI guidance for this repository lives only in:
.cursor/skills/**— oneSKILL.mdper directory.cursor/rules/**— Cursor rules (.mdc).cursor/prompts/**— reusable agent-facing prompt snippets.cursor/hooks/**and.cursor/hooks.json— optional Cursor project hooks (when used).cursorrules— root-level rules.cursorignore— path-level ignores for Cursor
Cursor reads these paths directly after git pull. There is no separate generated mirror tree in the repo.
.llm/ is not abcmemory. It is a planning workspace (plans, optional history, templates, context). abcremember writes to .cursor/ by default, not .llm/, unless you explicitly say otherwise. See .llm/LLM.md.
When you add or change skills, rules, prompts, hooks, or root Cursor config:
- Edit files under
.cursor/,.cursorrules, or.cursorignore. - Commit and push only those source paths in your PR.
Do not duplicate guidance under .github/ or other ad-hoc trees. See the llm-cursor-source skill
(.cursor/skills/llm-cursor-source/SKILL.md) and rule (.cursor/rules/llm-cursor-source.mdc).
Use an llm/<kebab-name> branch when the PR changes only LLM-related paths:
- abcmemory:
.cursor/**,.cursorrules,.cursorignore - Contributor LLM docs:
docs/development/llm/**, relevant LLM sections ofAGENTS.md - Planning workspace:
.llm/**(plans, templates, context, optional history)
Product or app changes belong on feature/, fix/, chore/, or other standard prefixes — not llm/.
Create a branch with npm run start-feature (choose llm in the type menu) or manually:
git checkout -b llm/your-description developLocal pre-push hooks enforce allowed prefixes; see BRANCH-PROTECTION.md.
- Plans: active work under
.llm/plans/active/; completed sets under.llm/plans/completed/. Keep individual plan files under 300 lines. When you finish a plan set, move files per plan-execution-completion-tracking rule and.cursor/skills/plan-files-convention/SKILL.md(Podverse documents the same lifecycle in plan-completion skill). - History (optional): some teams keep notes under
.llm/history/active/<feature>/. That is not required for contributing. A retired human-only workflow description is in LLM-HISTORY-WORKFLOW-ARCHIVE.md (listed in.cursorignoreso Cursor does not treat it as agent instructions). - Layout overview: .llm/LLM.md.
When a PR merges to develop, .github/workflows/complete-feature.yml may detect a matching
folder under .llm/history/active/<feature-name>/ (derived from the branch name), set completion
metadata, move it under .llm/history/completed/YYYY-MM/, and push. Requires GitHub App secrets —
see GITHUB-SETUP.md. If no folder exists, the job no-ops.
Plan-set moves under .llm/plans/ remain manual per plan-execution-completion-tracking rule.
Do not add or recreate .llm/exports/ or CI that published multi-editor mirrors. That path is prohibited — not merely retired. Cursor-only source under .cursor/ is the policy going forward.
- Cross-tree markdown links use repo-root paths (leading
/); see documentation-conventions. - AGENTS.md — AI development guide for the monorepo
- .llm/LLM.md —
.llm/directory layout - complete-feature.yml — optional history archival on merge to
develop - LLM-HISTORY-WORKFLOW-ARCHIVE.md — optional archived human workflow