Skip to content

feat(vmode): add project rules, VMODE autoload hook, and automate-me rule track - #5

Open
vuon9 wants to merge 1 commit into
mainfrom
feat/vmode-project-rules
Open

vuon9 wants to merge 1 commit into
mainfrom
feat/vmode-project-rules

Conversation

@vuon9

@vuon9 vuon9 commented Sep 16, 2026

Copy link
Copy Markdown
Owner

vmode now loads best practices for each framework, language, or tool from vmode/references/rules/<subject>.md. scripts/match_rules.py picks the rule files whose detect globs match the project. Their entries apply while you write code, get checked in a new "Project rules gate" step before done (feature, bug-fix, babysit), and apply to commits and PRs. The first rule file is odoo.md, with an entry on Sphinx field-list docstrings.

scripts/session_start.py is a Claude Code SessionStart hook that loads vmode when VMODE=1, or when VMODE=auto and a rule matches the project. The hook registration snippet is in the vmode README.

automate-me gets a rule track: collect, draft, grill, sanitize, then write the entry and verify it.

Tests: rule file contracts and unit tests for the matcher and hook (42 passing). I also ran the hook in real claude -p sessions. With VMODE=auto, the Odoo-shaped repo loaded vmode and the odoo rule. The plain repo loaded nothing, and so did a session with VMODE unset.

@github-actions

github-actions Bot commented Sep 16, 2026

Copy link
Copy Markdown

Skills review — read-only (setup-vstack/skills.json:1, vmode/SKILL.md:36, repo-local SKILL.md/README.md):

  • What changed: no manifest change in this PR — skills.json untouched (35 entries). PR only edits content: vmode (project rules + session_start.py/match_rules.py + playbook gates), automate-me rule track, docs/tests; no added/removed/re-scoped skills.
  • Required set matches both ways (7): brainstorming, wayfinder, test-driven-development, unslop, hunk-review, requesting-code-review, receiving-code-review in vmode/SKILL.md:40-46 == required:true in setup-vstack/skills.json:18-148. No drift.
  • All manifest entries: name == SKILL.md frontmatter, source valid (owner/repo or tree URL or local), scope mine/external, and all mine point at vuon9/* (vuon9/vstack, vuon9/gh-workflows:57).
  • Repo-local checks: vmode:2, setup-vstack:2, skills/*/SKILL.md:2 names are [a-z0-9-], all description start Use when, and README.md exists beside each SKILL.md.

Verdict: PASS — no manage.py fix needed. If a mismatch appeared, e.g. python3 setup-vstack/scripts/manage.py set-required <name> true/false then verify.

New%20session%20-%202026-09-16T11%3A32%3A02.876Z
opencode session  |  github run

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant