Guidance for agentic coding sessions in this repository.
Use Glorp's hidden preview command for deterministic design review before changing the live TUI:
cargo run -- dev-preview --scenario all --out target/glorp-preview
open target/glorp-preview/index.htmlScenario options:
--scenario allrenders watch frames, the habitat prop QA frames, and the pet matrix.--scenario watchrenderswatch-wide-normalat120x32andwatch-tall-wideat180x50, andwatch-compact-normalat72x24.--scenario propsrendershabitat-props-catalogplus early, lived-in, and full watch frames for prop-density review.--scenario petsrenderspet-species-stage, covering all six species across all seven growth stages.
The bundle includes index.html, review.md, manifest.json, local assets,
and frames/*.txt / frames/*.cells.json captures. Treat manifest.json as
the review contract; it lists scenario intent, dimensions, files, inputs, and
review prompts.
dev-preview is intentionally hidden from normal help output. It is a local
development tool and does not read or write real user pet state. Output
replacement is guarded: Glorp only overwrites missing, empty, or previously
owned preview directories marked with .glorp-preview and a matching manifest
producer.
Useful checks after preview changes:
cargo test --test dev_preview
cargo test dev_preview::scenarios
cargo test dev_preview::export
cargo test dev_preview::habitat_propsGlorp's full npm release is CI-owned. Do not publish from the repository root:
the root package.json is a workspace manifest with no package name, so
root-level npm publish --access public is the wrong command. Full
multi-platform publication must run through .github/workflows/publish.yml.
Version surfaces must stay in lockstep:
Cargo.toml- the
glorppackage entry inCargo.lock npm/glorp/package.jsonpackage-lock.json- every
npm/platform/*/package.json - the platform entries in
npm/glorp'soptionalDependencies
Use the repo helper for release bumps:
node scripts/bump-npm-version.mjs X.Y.Z
node scripts/assert-release-version.mjs --tag vX.Y.ZThe assertion script is the release contract. It must pass before tagging, and
the publish workflow runs it again against GITHUB_REF_NAME before any npm
publish step.
Recommended local pre-tag checks:
cargo fmt --check
cargo clippy --all-targets --all-features -- -D warnings
npm testRelease flow:
- Sync with
origin/mainbefore tagging so the tag points at the commit that will actually publish. - Run the version bump helper and local checks.
- Commit the release changes.
- Create an annotated tag:
git tag -a vX.Y.Z -m "Release vX.Y.Z". - Push the commit and tag.
- Let
.github/workflows/publish.ymlpublish via npm trusted publishing. It builds platform binaries, publishes platform packages sequentially, then publishes@arittr/glorp. - After the workflow finishes, verify the npm package/version is visible.
For a no-publish rehearsal, manually run the publish workflow with the default
dry_run input. This exercises the test/build/smoke matrix and skips the
publish jobs.