{"_id":"@309-thingspire/ui","name":"@309-thingspire/ui","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@309-thingspire/ui","version":"0.1.0","description":"Thingspire UI design library CLI — copy components, types, and tokens into your project.","type":"module","bin":{"thingspire-ui":"cli.mjs"},"engines":{"node":">=18"},"license":"MIT","publishConfig":{"access":"public"},"_id":"@309-thingspire/ui@0.1.0","_nodeVersion":"22.22.2","_npmVersion":"10.9.7","dist":{"integrity":"sha512-1rKeFcCKgHws6I5BA8Egf0KUEZtshAbpxYiAaQ44+S1t9nI1lLY4Yar+ZXwNRpZEE4QblpuGTaAbyxQYQ2+mXQ==","shasum":"8233ef88141013c6cea3b4f3fd2b956eb9dc02cd","tarball":"https://registry.npmjs.org/@309-thingspire/ui/-/ui-0.1.0.tgz","fileCount":3,"unpackedSize":10704,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQD5uGGizWzOUTcWIiUXhQth3apufY37SjrRlpmoov6aYAIgQHI3Rln7dXIvT19psLjs8K0ik1LrBJPrUBRySUP9ovY="}]},"_npmUser":{"name":"thingspire-309","email":"backgon@thingspire.com"},"directories":{},"maintainers":[{"name":"thingspire-309","email":"backgon@thingspire.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ui_0.1.0_1777880165901_0.338137334849157"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-04T07:36:05.733Z","0.1.0":"2026-05-04T07:36:06.025Z","modified":"2026-05-04T07:36:06.251Z"},"maintainers":[{"name":"thingspire-309","email":"backgon@thingspire.com"}],"description":"Thingspire UI design library CLI — copy components, types, and tokens into your project.","license":"MIT","readme":"# @thingspire/ui\n\nCLI for the [Thingspire UI](https://thingspire-dsg.vercel.app) design library. Copies component source, types, and tokens into your project — no runtime dependency, no lock-in.\n\n## Usage\n\n```bash\n# 1. Initialise the config in your project\nnpx @thingspire/ui init\n\n# 2. Add a component\nnpx @thingspire/ui add button\n\n# 3. (optional) See what's available\nnpx @thingspire/ui list\n```\n\n## Configuration (`design-library.json`)\n\n```json\n{\n  \"registry\": \"https://thingspire-dsg.vercel.app/r\",\n  \"componentsDir\": \"components\",\n  \"tokensCss\": \"styles/tokens.css\"\n}\n```\n\n| Field           | Default                                      | Notes                                              |\n| --------------- | -------------------------------------------- | -------------------------------------------------- |\n| `registry`      | `https://thingspire-dsg.vercel.app/r`        | Registry root. Override with `--registry <url>`.   |\n| `componentsDir` | `components`                                 | Where copied component files are written.           |\n| `tokensCss`     | `styles/tokens.css`                          | Where the design-token CSS is written on install.  |\n\n## Flags\n\n| Flag           | Description                                            |\n| -------------- | ------------------------------------------------------ |\n| `--registry`   | Override the registry URL for a single invocation.     |\n| `--overwrite`  | Replace existing local files when running `add`.       |\n\n## Environment variables\n\n- `THINGSPIRE_UI_REGISTRY` — overrides the registry URL globally.\n\n## Local development\n\nPoint the CLI at a locally running showcase site:\n\n```bash\nTHINGSPIRE_UI_REGISTRY=http://localhost:3000/r \\\n  node ./packages/cli/cli.mjs add button\n```\n\nThe registry first tries `<registry>/<slug>.json` (static files generated by\n`postbuild`) and falls back to the live `/api/registry/<slug>` endpoint.\n","readmeFilename":"README.md","_rev":"1-b2d77c6fb6b312c0275b39ed5716cbb5"}