{"_id":"@ajentify/cli","_rev":"2-42c654f99ba29f2a0dc524aac085aa66","name":"@ajentify/cli","dist-tags":{"latest":"0.2.0"},"versions":{"0.1.0":{"name":"@ajentify/cli","version":"0.1.0","keywords":["ajentify","ai","agents","deploy","iac","manifest","cli"],"author":{"name":"Ajentify"},"license":"MIT","_id":"@ajentify/cli@0.1.0","maintainers":[{"name":"ajentify","email":"purpledevilai@gmail.com"}],"homepage":"https://ajentify.com","bugs":{"url":"https://github.com/ajentify/ajentify-cli/issues"},"bin":{"ajentify":"dist/cli.js"},"dist":{"shasum":"0b76a12c55e2f8b4b0dcdac5d4ab8d16f8a6beeb","tarball":"https://registry.npmjs.org/@ajentify/cli/-/cli-0.1.0.tgz","fileCount":18,"integrity":"sha512-XRiMQUfruGi6MGvV6SVDWG5/N6sq+0FJnuDeeR/lc3wDl2woiFe9V1nfLc3wL/6iNeoeIpk0R0AHNgnGxOMCbw==","signatures":[{"sig":"MEUCIBimAiHFswQqk04X2/32P9DSV4P4b4u0xxVmeASMxtFmAiEA9g/lva7/8MvjHJPZ+UB4wyklTAWIEe+UhhMlCN56GLI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":688328},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"ajentify","email":"purpledevilai@gmail.com"},"repository":{"url":"git+https://github.com/ajentify/ajentify-cli.git","type":"git"},"_npmVersion":"10.9.0","description":"CLI and programmatic API for deploying Ajentify stages from a declarative ajentify.json manifest. Inlines prompt files, Python tool code, and Zod schemas so each resource can be authored in its own file.","directories":{},"_nodeVersion":"23.3.0","dependencies":{"jiti":"^2.4.2","commander":"^12.1.0","picocolors":"^1.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.0.0","tsup":"^8.3.5","vitest":"^2.1.8","typescript":"^5.7.3","@types/node":"^22.10.5","zod-to-json-schema":"^3.24.1"},"peerDependencies":{"zod":"^3.22.0 || ^4.0.0"},"optionalDependencies":{"zod-to-json-schema":"^3.24.1"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.0_1780302249452_0.53754196439019","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@ajentify/cli","version":"0.2.0","description":"CLI and programmatic API for deploying Ajentify stages from a declarative ajentify.json manifest. Inlines prompt files, Python tool code, and Zod schemas so each resource can be authored in its own file.","type":"module","license":"MIT","author":{"name":"Ajentify"},"homepage":"https://ajentify.com","repository":{"type":"git","url":"git+https://github.com/ajentify/ajentify-cli.git"},"publishConfig":{"access":"public"},"main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"bin":{"ajentify":"dist/cli.js"},"engines":{"node":">=18"},"scripts":{"build":"tsup","dev":"tsup --watch","test":"vitest run","test:watch":"vitest","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"dependencies":{"commander":"^12.1.0","jiti":"^2.4.2","picocolors":"^1.1.1"},"optionalDependencies":{"zod-to-json-schema":"^3.24.1"},"peerDependencies":{"zod":"^3.22.0 || ^4.0.0"},"peerDependenciesMeta":{"zod":{"optional":true}},"devDependencies":{"@types/node":"^22.10.5","tsup":"^8.3.5","typescript":"^5.7.3","vitest":"^2.1.8","zod":"^4.0.0","zod-to-json-schema":"^3.24.1"},"keywords":["ajentify","ai","agents","deploy","iac","manifest","cli"],"_id":"@ajentify/cli@0.2.0","bugs":{"url":"https://github.com/ajentify/ajentify-cli/issues"},"_nodeVersion":"23.3.0","_npmVersion":"10.9.0","dist":{"integrity":"sha512-oTZcNPClJ5sGlBrXf6Aa4p3aWvJipO7sPilKELyaVz4q/LaRByD+v3vl95ZOwM8gaJRCqYZ067zEqQAbZI1p0w==","shasum":"26ad11c6aadc3fca5ec086d7996ef52db04d9622","tarball":"https://registry.npmjs.org/@ajentify/cli/-/cli-0.2.0.tgz","fileCount":18,"unpackedSize":689518,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCPWTY/ka2/g2jHo36GF+IVlL7uzL8Ou6XXwWEXUduYzwIhAIEUbYtfkTDCeveT9A11ygB+kFgKM4vJewWewzD7fERh"}]},"_npmUser":{"name":"ajentify","email":"purpledevilai@gmail.com"},"directories":{},"maintainers":[{"name":"ajentify","email":"purpledevilai@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cli_0.2.0_1786393336134_0.028163186155448106"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-01T08:24:09.281Z","modified":"2026-08-10T20:22:16.510Z","0.1.0":"2026-06-01T08:24:09.635Z","0.2.0":"2026-08-10T20:22:16.327Z"},"bugs":{"url":"https://github.com/ajentify/ajentify-cli/issues"},"author":{"name":"Ajentify"},"license":"MIT","homepage":"https://ajentify.com","keywords":["ajentify","ai","agents","deploy","iac","manifest","cli"],"repository":{"type":"git","url":"git+https://github.com/ajentify/ajentify-cli.git"},"description":"CLI and programmatic API for deploying Ajentify stages from a declarative ajentify.json manifest. Inlines prompt files, Python tool code, and Zod schemas so each resource can be authored in its own file.","maintainers":[{"name":"ajentify","email":"purpledevilai@gmail.com"}],"readme":"# ajentify\n\nCLI and programmatic API for deploying [Ajentify](https://ajentify.com) stages from a declarative `ajentify.json` manifest.\n\nThe wire format that `POST /deploy` expects forces you to inline every prompt, every tool's Python source, and every JSON Schema into one file. This package lets you keep each of those in its own file (Markdown for prompts, `.py` for tool code, `.ts` Zod types for schemas) and inlines them at deploy time.\n\n## Install\n\n```bash\nnpm install --save-dev @ajentify/cli\n```\n\n(Or use `npx @ajentify/cli` without installing. The bin is `ajentify`, so once installed locally `npx ajentify ...` works too.)\n\n## Quick start\n\n```bash\nnpx ajentify init\n# Add AJENTIFY_API_KEY to .env, then:\nnpx ajentify deploy staging --plan   # dry-run\nnpx ajentify deploy staging          # apply\n```\n\n`ajentify init` creates:\n\n- `ajentify.json` — empty manifest, `$schema`-anchored for editor autocomplete\n- `AGENTS.md` — exhaustive reference for coding agents (and humans). Describes stages, the manifest shape, every field on every resource, and the file-reference helpers.\n- `.env.example` — placeholder for `AJENTIFY_API_KEY`\n- Appends `.env` and `AGENTS.md` to `.gitignore` (creates it if missing)\n\n## Convenience file references\n\nThe on-disk `ajentify.json` is a superset of the [server schema](https://api.ajentify.com/docs/manifest-schema.json). The CLI strips the extra `*_file` fields after inlining; the body sent to `/deploy` matches the wire schema exactly.\n\n| Resource | Inline field | File reference field |\n| --- | --- | --- |\n| Agent | `prompt` | `prompt_file: \"prompts/pod.md\"` |\n| Tool | `code` | `code_file: \"tools/sort_item.py\"` |\n| Tool | `input_schema` | `input_schema_file: \"schemas/sortItem.ts#SortItemInput\"` |\n| SRE | `output_schema` | `output_schema_file: \"schemas/classify.ts#ClassifyOutput\"` |\n| SRE | `prompt_template` | `prompt_template_file: \"prompts/classify.md\"` |\n\nThe `#ExportName` fragment on `*_schema_file` picks the named export (defaults to `default`). Paths are resolved relative to the manifest file's directory. Setting both the inline and the `*_file` form for the same field is a hard error.\n\n## CLI\n\n### `ajentify init [--force]`\n\nScaffold an empty manifest in the current directory. Refuses to overwrite an existing `ajentify.json` unless `--force` is passed.\n\n### `ajentify deploy <stage> [--plan] [--manifest <path>] [--org-id <id>]`\n\nResolve all file references in the manifest, then `POST` it to `/deploy` (or `/deploy/plan` if `--plan`).\n\n- `<stage>` — must match `^[a-z][a-z0-9-]{0,62}$`. Created on the server if it doesn't exist.\n- `--plan` — dry-run; shows the diff that would be applied without changing anything.\n- `--manifest <path>` — defaults to `./ajentify.json`.\n- `--org-id <id>` — pin a specific org; defaults to the API key's first org.\n\nThe API key is read from `process.env.AJENTIFY_API_KEY`, or from the nearest `.env` walking up from the manifest's directory.\n\n## Programmatic API\n\n```ts\nimport { resolveManifest, deployStage } from \"@ajentify/cli\";\n\nconst wire = await resolveManifest(manifest, { baseDir: \"/path/to/project\" });\nawait deployStage({ stage: \"staging\", manifestPath: \"./ajentify.json\" });\n```\n\n## Development\n\n```bash\nnpm install\nnpm run build\nnpm test\n```\n","readmeFilename":"README.md"}