A tactile React timeline for presenting career history — scrub through a work history by month and watch the active role, company, and location resolve as you move.
For guided setup, copy the prompt from the Stint docs into your coding agent. Share a file or LinkedIn URL, review your history, and let the agent connect the timeline to your page. Setup stays in chat by default; an optional bundled file picker is available when attachments are unavailable. Designers don't need terminal commands or file paths. See the setup guide.
This repository holds two packages, versioned together:
| Package | What it is |
|---|---|
@macworks/stint |
The React component, schema, and timeline utilities |
@macworks/stint-cli |
Authoring and import tooling for career data |
npm install @macworks/stintPrerelease. Both packages are published at
1.0.0-next.1. The API may still change before1.0.0. Seedocs/release/stint.mdfor the release policy.
packages/stint/ React component, structural CSS, optional theme presets
packages/stint-cli/ setup / doctor / add / import / validate commands
fixtures/ Clean Vite 18, Vite 19, and Next App Router consumers
tests/package/ Packed-tarball, bundle-size, and release-policy gates
scripts/ Release preflight, gate recording, and publish helpers
docs/release/ Release policy and promotion gates
CONTRIBUTING.md covers setup, the packed-tarball gate, and
changesets. Security reports go through
SECURITY.md, not public issues.
npm install
npm run build # build both packages
npm test # unit, component, accessibility, CLI, and packed gates
npm run lintThe packed tarball, not the workspace symlink, is the compatibility authority.
tests/package/packed-consumers.test.ts packs the runtime and installs it into
each fixture, so a broken exports map or an undeclared file fails there rather
than in a consumer's project.
- The component owns no container. It paints no background, border, or
elevation. Colour and typography inherit from the host page through
currentColorplus a small namespaced token set, so it drops into any surface. Overflow fades are transparency masks, not coloured scrims. - Data is month-precision and serializable. Stable IDs,
YYYY-MMdates, inclusive starts, exclusive normalized ends, andnullfor current roles. Overlaps and gaps are preserved rather than flattened. - Integrations stay generic. The package emits feedback events and exposes render slots; concrete haptics, text-morphing, and image primitives belong to the consumer.
MIT — see LICENSE.
To develop against unreleased changes, a local consumer points at this checkout instead of the registry:
Run npm run build here first — packages/*/dist is generated, not committed,
so the entry a consumer resolves does not exist until the package is built.
{ "dependencies": { "@macworks/stint": "file:../stint/packages/stint" } }