Your first pull request
The path from a branch to a merged Markless change, with the checks you run before you push.
Last page, pnpm install turned on the git hooks. Now put them to work on a real change.
A green CI run does not finish a Markless PR. An answer to every review finding finishes it.
Read the rules for your area
Read AGENTS.md first. Then read specs/framework-design.md and the one spec in specs/framework/ that covers your change. For a UI component, also read packages/headless/components/SPEC.md.
Make a branch
Do not commit to main.
git switch -c fix/counter-textWrite the failing test first
Add or update the closest focused test. Run it, and make sure that it fails for the reason you expect.
pnpm exec vp test packages/compiler/test/semantic-graph.test.tsCompiler tests assert pass artifacts and diagnostics where they can. Use Vitest browser mode for component and browser behavior.
Make the smallest change
Change only what the test needs. Then run the focused test again until it passes.
Typecheck
This checker reads .tsrx files. Plain tsc does not.
pnpm run typecheckRun CI's fast jobs
This runs the agent-files, typecheck and unit jobs with the commands from ci.yml.
pnpm ci:local --fastIf you touched the bundler, router, web, runtime, compiler or demos, run the matching jobs too. For example: pnpm ci:local --job browser --job boxes-router.
Commit and let the hook run
The pre-commit hook runs vp lint --deny-warnings, then the fast jobs with --bail. If you staged a file in .ruler/, it also checks that the generated agent files match.
If lint fails, the hook prints the fix command: pnpm exec vp lint --fix --fix-suggestions --fix-dangerously.
Push the branch and open a PR
Push your branch, not main. In the PR, say which ci:local mode you ran, on which commit, and the result line it printed.
Answer every review finding
Read every finding from people and from the CodeRabbit bot. Fix the ones that are right. Reply with your reason on the ones that are stale or wrong.
Next: Which jobs does CI run, and which of them run on your machine? CI and checks →
