{"_id":"@apicrafthq/cli","_rev":"7-f8dd764800ee022e04bb1b8f14c4cf5f","name":"@apicrafthq/cli","dist-tags":{"beta":"0.1.0-beta.20","latest":"0.1.0-beta.20"},"versions":{"0.1.0-beta.16":{"name":"@apicrafthq/cli","version":"0.1.0-beta.16","keywords":["api-craft","cli","http","api","openapi","rest"],"author":{"name":"Florian Varrin"},"license":"UNLICENSED","_id":"@apicrafthq/cli@0.1.0-beta.16","maintainers":[{"name":"florian_varrin","email":"florian.varrin@gmail.com"}],"homepage":"https://github.com/fvarrin/api-craft#readme","bugs":{"url":"https://github.com/fvarrin/api-craft/issues"},"bin":{"craftr":"run.js"},"dist":{"shasum":"c096ac5ef4a2d7647acc91881c00b9b7370b46e2","tarball":"https://registry.npmjs.org/@apicrafthq/cli/-/cli-0.1.0-beta.16.tgz","fileCount":3,"integrity":"sha512-oXynEuI3u90FdRJ+iChdkhC3L3LtSxQMo2xAS9gHqUv6CLJ4xg2qbl0ZMOwISJiRgjzZqPUd8KHwd0OVswKqlg==","signatures":[{"sig":"MEUCIQC/j1a8awkC2HGEEv0g/Rm8JMkOiQ3QC9QW79wY1ez74QIgYwCMU2TH6pvXr3tpzX3E+WCSBo4eI8QK8DaPjKRs+EA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5694},"gitHead":"077be30e46ad09d31891bcc40488ba815ef47899","_npmUser":{"name":"florian_varrin","email":"florian.varrin@gmail.com"},"repository":{"url":"git+https://github.com/fvarrin/api-craft.git","type":"git","directory":"apps/cli"},"_npmVersion":"10.9.8","description":"API Craft CLI — schema-first, offline-first HTTP API tooling.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"tag":"beta","access":"public"},"_hasShrinkwrap":false,"optionalDependencies":{"@apicrafthq/cli-linux-x64":"0.1.0-beta.16","@apicrafthq/cli-darwin-x64":"0.1.0-beta.16","@apicrafthq/cli-linux-arm64":"0.1.0-beta.16","@apicrafthq/cli-darwin-arm64":"0.1.0-beta.16"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.0-beta.16_1786278642693_0.3051391806798558","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-beta.17":{"name":"@apicrafthq/cli","version":"0.1.0-beta.17","keywords":["api-craft","cli","http","api","openapi","rest"],"author":{"name":"Florian Varrin"},"license":"UNLICENSED","_id":"@apicrafthq/cli@0.1.0-beta.17","maintainers":[{"name":"florian_varrin","email":"florian.varrin@gmail.com"}],"homepage":"https://api-craft.dev","bugs":{"url":"https://support.api-craft.dev"},"bin":{"craftr":"run.js"},"dist":{"shasum":"fc188a476d60de0e04a95c56a1804c31e330945a","tarball":"https://registry.npmjs.org/@apicrafthq/cli/-/cli-0.1.0-beta.17.tgz","fileCount":3,"integrity":"sha512-IjkgOhTqgLw26IHZ9uzgZUxNdG+Bd26PNAPIXelQKwno4WrKiCed5znfr8q1LpiUgD6cHs3BUezKNv7yD616Zg==","signatures":[{"sig":"MEUCIQCnkVW4JeBevBLbadFHOO9w3Tt3jb8R5DMMc5Joe+phoQIgR2gpI0rhwiAxeEKiWZL0pOG/YvPxMxBf1QbwE4XVvwQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5437},"gitHead":"c84750accae3d5c115399f77032c24489fa1b2cd","_npmUser":{"name":"florian_varrin","email":"florian.varrin@gmail.com"},"_npmVersion":"10.9.8","description":"API Craft CLI — schema-first, offline-first HTTP API tooling.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"tag":"beta","access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","optionalDependencies":{"@apicrafthq/cli-linux-x64":"0.1.0-beta.17","@apicrafthq/cli-darwin-x64":"0.1.0-beta.17","@apicrafthq/cli-linux-arm64":"0.1.0-beta.17","@apicrafthq/cli-darwin-arm64":"0.1.0-beta.17"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.0-beta.17_1786302609072_0.9878565396058085","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-beta.18":{"name":"@apicrafthq/cli","version":"0.1.0-beta.18","keywords":["api-craft","cli","http","api","openapi","rest"],"author":{"name":"Florian Varrin"},"license":"UNLICENSED","_id":"@apicrafthq/cli@0.1.0-beta.18","maintainers":[{"name":"florian_varrin","email":"florian.varrin@gmail.com"}],"homepage":"https://api-craft.dev","bugs":{"url":"https://support.api-craft.dev"},"bin":{"craftr":"run.js"},"dist":{"shasum":"d974571bceb77da9cac937c13e63d324b52a8793","tarball":"https://registry.npmjs.org/@apicrafthq/cli/-/cli-0.1.0-beta.18.tgz","fileCount":3,"integrity":"sha512-mfqTvwda5w4RLB5cwEsocjMg8y4IzBrSGMR7a87cHja9xv+YQIeb5vJTTR6l4D/bm/BvbS4ALNx68ILATSz1cQ==","signatures":[{"sig":"MEUCIQDD9oWStTQiHVOshCHzTM1XgUMghK8g2+fw2pgfRsTIlQIgWmRihejkiLFjDSpAFDbTyairhzna6pxYt0lw60CHH5o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5437},"gitHead":"9135e57acad64dc96c109b42ea1a02bcd0f5ba22","_npmUser":{"name":"florian_varrin","email":"florian.varrin@gmail.com"},"_npmVersion":"10.9.8","description":"API Craft CLI — schema-first, offline-first HTTP API tooling.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"tag":"beta","access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","optionalDependencies":{"@apicrafthq/cli-linux-x64":"0.1.0-beta.18","@apicrafthq/cli-darwin-x64":"0.1.0-beta.18","@apicrafthq/cli-linux-arm64":"0.1.0-beta.18","@apicrafthq/cli-darwin-arm64":"0.1.0-beta.18"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.0-beta.18_1787398015013_0.7964658644367995","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-beta.19":{"name":"@apicrafthq/cli","version":"0.1.0-beta.19","keywords":["api-craft","cli","http","api","openapi","rest"],"author":{"name":"Florian Varrin"},"license":"UNLICENSED","_id":"@apicrafthq/cli@0.1.0-beta.19","maintainers":[{"name":"florian_varrin","email":"florian.varrin@gmail.com"}],"homepage":"https://api-craft.dev","bugs":{"url":"https://support.api-craft.dev"},"bin":{"craftr":"run.js"},"dist":{"shasum":"361a7a080f289cb30718521fc6b8b01b49feee03","tarball":"https://registry.npmjs.org/@apicrafthq/cli/-/cli-0.1.0-beta.19.tgz","fileCount":3,"integrity":"sha512-MYlcNzL9NtGZLClFkqKDQCX5VjQb1MM7J8LGzjEG65KAyXWxdvgWB60fL6ol8BkYUSmuJWwQ/slGt1mL0vDQ5A==","signatures":[{"sig":"MEUCIBdmij1aKXGzgRjzliFhUXKIqggdjIP1qTSOvJCT+JNsAiEAlcYSGzesOSlufanGcJuY4tvIY7KXJfzZoXaVAskPAxQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIBy1OBFLETcKh6zWkb2RswLB/Q8/zn7Qdi7c6/kYD/UgAiEA1nhOvk2t6khohXQLDADD3mpSzK+QFO0m4cixyfhmCwQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5499},"gitHead":"848f148a91bc6d17fe3eeb0b4252daccb9f8d25b","_npmUser":{"name":"florian_varrin","email":"florian.varrin@gmail.com"},"_npmVersion":"10.9.8","description":"API Craft CLI — schema-first, offline-first HTTP API tooling.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"tag":"beta","access":"public"},"_hasShrinkwrap":false,"optionalDependencies":{"@apicrafthq/cli-linux-x64":"0.1.0-beta.19","@apicrafthq/cli-darwin-x64":"0.1.0-beta.19","@apicrafthq/cli-linux-arm64":"0.1.0-beta.19","@apicrafthq/cli-darwin-arm64":"0.1.0-beta.19"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.0-beta.19_1789121361688_0.10558231672289886","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-beta.20":{"_id":"@apicrafthq/cli@0.1.0-beta.20","bin":{"craftr":"run.js"},"bugs":{"url":"https://support.api-craft.dev"},"dist":{"shasum":"5f8f3993fbe3e3498c3fbf35d1adce3cb7e8b270","tarball":"https://registry.npmjs.org/@apicrafthq/cli/-/cli-0.1.0-beta.20.tgz","fileCount":3,"integrity":"sha512-kGJgGFSKvmPBFGEXyw+lA6cjQhIdeTExstBd/I/ER7u8aa3zK7a1KZh+6h2eAe+DFlToaj1yom2Kz7XqcvZPog==","signatures":[{"sig":"MEYCIQCzE0TIDOPkYFaRmD1S8M/akPjQPWCoeNYOZKjMtLohtAIhANmK2YXC8Lf92SrAkl7PERA4CA7kdzqmNBQZzXsQoIld","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQD8cSJwnR1uVG/WdasLXEKKaoKpCd+2DtnbK5OWsuBSsQIgP/0LzMSh1Me9fXKd6OF8zOzsCqC8yrh5Xls6NvCndQo="}],"unpackedSize":5499},"name":"@apicrafthq/cli","author":{"name":"Florian Varrin"},"gitHead":"3df4284063d457e5fbfa01851418429e2a1b2e54","license":"UNLICENSED","version":"0.1.0-beta.20","_npmUser":{"name":"florian_varrin","email":"florian.varrin@gmail.com"},"homepage":"https://api-craft.dev","keywords":["api-craft","cli","http","api","openapi","rest"],"_npmVersion":"10.9.8","description":"API Craft CLI — schema-first, offline-first HTTP API tooling.","directories":{},"maintainers":[{"name":"florian_varrin","email":"florian.varrin@gmail.com"}],"_nodeVersion":"22.23.2","publishConfig":{"tag":"beta","access":"public"},"_hasShrinkwrap":false,"optionalDependencies":{"@apicrafthq/cli-linux-x64":"0.1.0-beta.20","@apicrafthq/cli-darwin-x64":"0.1.0-beta.20","@apicrafthq/cli-linux-arm64":"0.1.0-beta.20","@apicrafthq/cli-darwin-arm64":"0.1.0-beta.20"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cli_0.1.0-beta.20_1789389342293_0.05750584989877883"}}},"time":{"created":"2026-08-09T12:30:42.505Z","modified":"2026-09-14T12:35:42.673Z","0.1.0-beta.16":"2026-08-09T12:30:42.855Z","0.1.0-beta.17":"2026-08-09T19:10:09.216Z","0.1.0-beta.18":"2026-08-22T11:26:55.160Z","0.1.0-beta.19":"2026-09-11T10:09:21.780Z","0.1.0-beta.20":"2026-09-14T12:35:42.383Z"},"bugs":{"url":"https://support.api-craft.dev"},"author":{"name":"Florian Varrin"},"license":"UNLICENSED","homepage":"https://api-craft.dev","keywords":["api-craft","cli","http","api","openapi","rest"],"description":"API Craft CLI — schema-first, offline-first HTTP API tooling.","maintainers":[{"name":"florian_varrin","email":"florian.varrin@gmail.com"}],"readme":"# API Craft CLI\n\n**An API IDE where everything is a file.** Your specs, requests, environments, workflows and docs\nlive in your git repo — editable by hand, by the GUI, or by the CLI. No cloud account, no sync, no\nexport button. `git diff` shows exactly what changed in your API.\n\n```bash\nnpm install -g @apicrafthq/cli@beta\n```\n\n> Beta. The `@beta` tag is required — `npm install -g @apicrafthq/cli` installs nothing yet.\n\n---\n\n## Why\n\nMost API clients keep your API in someone else's database. API Craft keeps it in yours.\n\n- **Files-first** — every spec, request, workflow and environment is a file on disk. The GUI and the\n  CLI are two views over the same files.\n- **Git-native** — everything is committed except secrets and cache. API changes show up in code\n  review like any other change.\n- **Resources over routes** — an API is a set of resources with operations, not a flat list of HTTP\n  calls.\n- **OpenAPI as the source of truth** — the spec is a living file. Resource/operation mapping is a\n  layer on top, not a fork of it.\n- **Offline-first, single-machine** — no server component. Your data never leaves your machine.\n- **JSON output everywhere** — every command emits JSON. It pipes into `jq` and drops into CI\n  without a `--format` flag.\n\n---\n\n## Quickstart\n\n```bash\n# Start a project in your repo\ncraftr project init my-project\n\n# Add an API and import its OpenAPI spec\ncraftr api create --api timers\ncraftr schema import ./openapi.yaml --api timers --yes\n\n# See what got mapped\ncraftr schema read --api timers\ncraftr api list\n\n# Run a request against an environment (\"resource/name\", bare name for standalone)\ncraftr req run timers/start-dev-timer --api timers --env dev\n```\n\nEverything above wrote plain files into your repo. Commit them.\n\n---\n\n## What you can do\n\n```bash\n# Run a request, override a variable and a body field inline\ncraftr req run timers/create-timer --api timers --env staging \\\n  --var TOKEN=abc123 \\\n  --set body.label='sprint review'\n\n# Trace what actually happened\ncraftr req run timers/create-timer --api timers --env dev -vv\n\n# Run test workflows and aggregate the results\ncraftr workflow run smoke regression --env timers=dev --concurrency 4\n\n# Reshape the schema: map what the heuristics missed, ignore what you don't own\ncraftr schema unmapped --api timers\ncraftr schema map listTimerEntries timers list --api timers\ncraftr schema ignore getInternalHealth --api timers\n\n# Manage environments and their values\ncraftr env list --api timers\ncraftr env write dev BASE_URL https://api.example.com --api timers\n```\n\n`craftr --help` lists every command; `craftr <command> --help` drills in.\n\n---\n\n## Pairs with the desktop app\n\nThe [API Craft desktop app](https://api-craft.dev) reads and writes the exact same\nproject format. Explore and edit in the GUI, then run the same thing in CI with the CLI — no export,\nno drift. Every request and workflow screen in the app shows the equivalent `craftr` command, ready\nto copy.\n\n---\n\n## Supported platforms\n\n| Platform | Architectures |\n|---|---|\n| macOS | `arm64`, `x64` |\n| Linux (glibc) | `x64`, `arm64` |\n\n**Windows users: install inside WSL2** — the `linux-x64` binary installs and runs natively there.\nThere is no native cmd.exe / PowerShell build.\n\nAlpine and other musl-based distributions are not supported.\n\nNo runtime prerequisites beyond npm. You do not need Bun, and you do not need a matching Node\nversion — the binary is standalone and embeds everything it needs.\n\n---\n\n## How this package works\n\nThis package is a thin launcher. The binary itself ships in a per-platform package\n(`@apicrafthq/cli-darwin-arm64`, `@apicrafthq/cli-linux-x64`, …) declared as an optional dependency.\nnpm installs only the one matching your machine, so you download one binary, not four.\n\n---\n\n## Links\n\n- [api-craft.dev](https://api-craft.dev)\n- [Script SDK](https://www.npmjs.com/package/@apicrafthq/script-sdk) — types for middleware and\n  custom-auth scripts\n","readmeFilename":"README.md"}