Skip to content

Set up a product repo

TL;DR

Install a release, run qmstrace init in the product root, review the generated rules and scan paths, and commit the configuration and guidance. Reuse the project's schema when joining an existing ledger; setup preserves an existing configuration.

  1. Install qmstrace once per machine, from a release, with uv. The repository is private, so this needs read access to it:

    uv tool install --python 3.13 "git+https://github.com/Lightbridge-KS/qmstrace@v0.1.1"
    

    The tag is the pin: uv tool upgrade keeps it, and a later release is installed with the same command and its tag. Then run qmstrace init again in each traced repo, so its stanza and skill follow the release; an unedited skill copy from the earlier release is refused until it is removed (#16).

  2. In a new product root, run qmstrace init --subject service --key SVC. For an existing traced repo, run qmstrace init without subject options.

  3. Review qmstrace.toml. Match file patterns, test levels and required fields to the repository. When joining a project, point [schema] at its trace schema by path rather than keeping the starter's defaults, then have the project side copy the schema in — share the project's schema.
  4. Configure the actual origin sources, request register and baseline tag patterns when needed. Keep historical schemas recoverable from the tagged tree; see baselines.
  5. Review the managed block in AGENTS.md and read .agents/skills/qmstrace/SKILL.md. Keep any existing CLAUDE.md alias pointing at the canonical guide. A repo set up before the skill moved there keeps a copy in .qmstrace/skill/: remove .qmstrace/ first.
  6. Run qmstrace rules, qmstrace status and qmstrace check. Add real content and markers; do not manufacture requirements or evidence merely to silence a finding.
  7. Run pytest with --strict-markers to confirm marker registration in the project's test invocation. If that invocation uses -c, register verifies in that explicit config too.
  8. Run qmstrace init again; each target should be unchanged. Review and commit the files.

For the authoring loop and the final gate, follow check your work. The init reference lists file ownership and refusal behavior.