Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Contributing to dspack-export

dspack-export generates [dspack](https://github.com/aestheticfunction/dspack)
v0.2 snapshots from component codebases — React + Tailwind/shadcn and
v0.4 snapshots from component codebases — React + Tailwind/shadcn and
Vue 3 + Vuetify 3. Contributions — bug
reports, extraction-gap reports, documentation, and code — are welcome.

Expand Down Expand Up @@ -30,8 +30,9 @@ diffing, watch mode, CI gates, or write-back will be closed with a pointer
to this section. This is what keeps the tool small, auditable, and
maintained.

Deferred-but-in-scope (roadmap, PRs welcome after discussion): a merge
workflow that preserves hand-authored dspack sections across regeneration,
Shipped since 0.4.0: section-level regeneration that preserves
hand-authored dspack content (`regenerateSections()`, library API only —
a CLI flag for it is still open),
Storybook enrichment (stories/snippets from the static manifest), compound
component grouping into `composition.subComponents`, and additional
extraction conventions — see [docs/maintainership.md](docs/maintainership.md)
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ Then, from your design-system project (with its own dependencies installed):

```bash
dspack-export init # detect conventions, write config
dspack-export init --force # overwrite an existing config
dspack-export generate --config dspack-export.config.json
dspack-export validate my-system.dspack.json
```
Expand Down
5 changes: 5 additions & 0 deletions docs/alpha-decision.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
# Alpha Decision Report (2026-06-10)

> **Historical record (alpha, 2026-06).** Kept for provenance. Two claims
> below are superseded: the tool now emits dspack **v0.4** (not v0.2), and
> regeneration **refuses** rather than overwriting hand edits (see the
> [handbook](handbook.md) and README for current behavior).

> **Status update (same day):** the private-alpha gate described in the
> recommendation below was waived — no additional internal alpha users were
> available, and the maintainer served as both implementer and alpha user.
Expand Down
17 changes: 10 additions & 7 deletions docs/handbook.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# dspack-export — Handbook

Status: **experimental** (`0.2.0-alpha.0`). Not on npm; install from this
repository. Expect rough edges — please report everything that surprises you
Status: **experimental** (`0.5.0`), published to npm as
`@aestheticfunction/dspack-export`. Expect rough edges — please report everything that surprises you
(see [CONTRIBUTING](../CONTRIBUTING.md) for the issue templates to use).

## What it does

`dspack-export` generates a [dspack v0.2](https://github.com/aestheticfunction/dspack)
`dspack-export` generates a [dspack v0.4](https://github.com/aestheticfunction/dspack)
snapshot of a React + Tailwind/shadcn design system: components and props
(including cva variant enums and their defaults), semantic color/radius tokens
from CSS custom properties, dark-theme overrides, layout breakpoints, and React
Expand Down Expand Up @@ -60,7 +60,7 @@ ds-mcp --dspack ./your-system.dspack.json
Deterministic output (reviewable diffs, golden files): set
`SOURCE_DATE_EPOCH=<seconds>` to pin `metadata.generatedAt`.

## Supported stack (alpha)
## Supported stack

| Surface | Supported | Notes |
|---|---|---|
Expand Down Expand Up @@ -215,9 +215,12 @@ All relative paths resolve against the config file's directory.
typing) fall back to AST discovery: present, but with stub descriptions and
no props.
- **Hand-authored dspack sections are not generated** (`patterns`,
`antiPatterns`, `whenToUse`, `accessibility`, `composition`, `constraints`)
and **regeneration overwrites the output file** — keep hand edits in a
separate copy for now (a merge workflow is on the roadmap).
`antiPatterns`, `whenToUse`, `accessibility`, `composition`, `constraints`).
**Regeneration never overwrites them**: `generate` refuses when the output
carries human-authored content, and there is deliberately no force flag. To
merge fresh extraction into an existing contract, hosts call the
`regenerateSections()` library API (see the README) — there is no CLI flag
for it yet.
- **DTCG import is resolved-values-only.** Alias/reference values are skipped
(resolve them in your token tool first); only `color`, `dimension`,
`fontFamily`, and `fontWeight` types are mapped; other types are skipped with
Expand Down
Loading
Loading