Reproduce a Stack from tinkerise.lock
Record a working stack once, then recreate it elsewhere — for a teammate, a fresh machine, or a second project — without remembering every flag.
Prerequisites
Section titled “Prerequisites”- Node.js 20.11+
tinkeriseinstalled
Step 1: Create and configure a project
Section titled “Step 1: Create and configure a project”tinkerise web next my-app --typescript --tailwindcd my-apptinkerise add eslint prettierExpected result: my-app is scaffolded and a tinkerise.lock is written at its root. The
add step records eslint and prettier into that lock.
Step 2: Inspect the lock
Section titled “Step 2: Inspect the lock”cat tinkerise.lockExpected output (abbreviated):
{ "schemaVersion": 1, "framework": "next", "category": "web", "flags": { "typescript": true, "tailwind": true }, "enhancements": [ { "id": "eslint", "version": null }, { "id": "prettier", "version": null } ], "packageManager": "npm", "createdWith": "1.0.0"}Commit tinkerise.lock alongside your code — it is a reproducible record, not a cache.
Step 3: Preview a reproduction
Section titled “Step 3: Preview a reproduction”Put the shared tinkerise.lock in an empty working directory, then preview what reproducing it
will run — without writing anything. --from-lock reads tinkerise.lock from the current
directory and creates the new project as a subfolder named by the first argument:
mkdir ../reproduce && cd ../reproducecp ../my-app/tinkerise.lock .tinkerise my-app-clone --from-lock --dry-runExpected result: the exact upstream command is printed and no files are created.
Step 4: Reproduce the whole stack
Section titled “Step 4: Reproduce the whole stack”tinkerise my-app-clone --from-lockExpected result: ./my-app-clone is scaffolded with the recorded flags and variant, then the
recorded enhancements (eslint, prettier) are re-applied — recreating the full stack in one
command.
Step 5: Re-apply enhancements in an existing checkout
Section titled “Step 5: Re-apply enhancements in an existing checkout”If you cloned a repo that already contains a tinkerise.lock and just want its tooling:
tinkerise add --from-lockExpected result: the lock’s recorded enhancements run through the normal add flow, with the
usual skip / replace / merge handling for any existing config.
Expected generated artifacts
Section titled “Expected generated artifacts”tinkerise.lockat each project root- Framework output from the official scaffolder (e.g.
create-next-app) - Enhancement-generated files (ESLint and Prettier configs)
Next steps
Section titled “Next steps”- Add the lock to version control so reproductions are deterministic.
- Layer more tooling with
tinkerise add— each run keeps the lock current.