Skip to content

Repository files navigation

PartTrail

Find the way back together. PartTrail records teardown steps, photos, parts, quantities, and tray locations, then turns that trail into a strict reverse-order reassembly checklist.

CI Release License: MIT

PartTrail showing a four-step laptop fan teardown

Why PartTrail?

Repairers routinely improvise screw maps with paper, trays, tape, and photos. The failure mode is painfully concrete: one wrong or forgotten fastener can delay reassembly or damage the device. PartTrail makes that temporary repair memory explicit and portable without turning it into a cloud account, inventory system, or generic ticket tracker.

  • Capture teardown steps in the order they happen.
  • Record any number of fasteners, components, cables, adhesives, or other parts per step.
  • Keep raster photos in the project file, resized locally to a practical limit.
  • Reload later from IndexedDB, or export/import one versioned JSON file.
  • Reassemble in one legal order: the exact reverse of teardown.
  • Generate a standalone, print-friendly HTML report with no scripts.
  • Validate or package projects from the command line.

The problem research and GitHub similarity checks are documented in docs/research.md. PartTrail is repair memory, not repair advice: always use appropriate service information and verify the actual device.

Try it

Open the PartTrail web app. It has no login, telemetry, or runtime third-party requests. Workspace data stays in the current browser until you export it or clear that site's storage.

To run the same app locally:

git clone https://github.com/KanadeK/parttrail.git
cd parttrail
npm ci --ignore-scripts
npm run dev

Then visit http://127.0.0.1:4173/web/ and choose Use sample.

CLI

The GitHub Release contains an installable npm tarball:

npm install --global https://github.com/KanadeK/parttrail/releases/download/v0.1.0/parttrail-0.1.0.tgz
parttrail validate my-repair.parttrail.json
parttrail report my-repair.parttrail.json --out reassembly.html
parttrail demo --out parttrail-demo

CLI exit codes are stable:

Code Meaning
0 Command completed successfully
1 The JSON parsed, but the PartTrail project is invalid
2 Usage, JSON parsing, or filesystem failure

Use parttrail validate PROJECT.json --json for machine-readable validation results.

How the trail works

Teardown:    cover → battery → fan cable → fan
Reassembly:  fan → fan cable → battery → cover

Array order is the source of truth. completedStepIds must be a prefix of that exact reverse order, so imported data cannot claim an impossible partial reassembly state. Part and step IDs are unique; every recorded part has a quantity and tray/location.

The portable schema and validation codes are described in docs/data-format.md. The JavaScript core is also exported for tools:

import { deriveReassemblyPlan, validateProject } from "parttrail";
import { renderProjectReport } from "parttrail/report";

Verify a checkout

Requirements: Node.js 22 or 24 and Chrome Stable for the local browser test.

npm ci --ignore-scripts
npm run verify

verify runs static and metadata checks, 16 Node tests, the static build, a real CLI demo, the Chromium end-to-end workflow, the dependency audit, and package inspection. The E2E workflow uploads a real PNG, verifies JPEG conversion and IndexedDB persistence, exports and reimports JSON, then completes the only legal next reassembly step.

Expected final lines include:

16 tests ... 16 pass
1 passed
found 0 vulnerabilities
parttrail-0.1.0.tgz

For focused commands and exact recovery steps, see docs/acceptance.md.

Scope

PartTrail v0.1 intentionally has no accounts, sync, device catalog, OCR, diagnosis, AI recognition, telemetry, or native app. Those would change the trust model and are not hidden behind placeholders. The architecture decision is recorded in docs/decisions/0001-local-static-architecture.md.

Contributing and security

Small, test-backed changes are welcome. Read CONTRIBUTING.md before a pull request. Please report vulnerabilities through GitHub's private security advisory flow as described in SECURITY.md, not a public issue.

License

MIT © 2026 KanadeK.

About

Local-first teardown journal and strict reverse-order reassembly checklist for repair work.

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages