{"_id":"@belticlabs/wizard","_rev":"4-dba05fe3b7d55a755a3d8b261d14c03e","name":"@belticlabs/wizard","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@belticlabs/wizard","version":"0.1.0","keywords":["beltic","wizard","agent","credential","manifest","ai","cli","setup","sign","verify"],"author":{"name":"Beltic Labs"},"license":"MIT","_id":"@belticlabs/wizard@0.1.0","maintainers":[{"name":"farhan-beltic","email":"farhan@beltic.com"},{"name":"pranav-beltic","email":"pranav@beltic.com"}],"homepage":"https://github.com/belticlabs/wizard","bugs":{"url":"https://github.com/belticlabs/wizard/issues"},"bin":{"wizard":"dist/bin.js"},"dist":{"shasum":"b601b2e06ea57025b3cfae5e387fe1401669ca89","tarball":"https://registry.npmjs.org/@belticlabs/wizard/-/wizard-0.1.0.tgz","fileCount":106,"integrity":"sha512-BxdI93E98VdgzW7tf1aiGZ/SvYPevA9bds03pzhkB8QSPo6jlUXYFPRFYmva2kcKpuN52jY95C2lhhn1R08dNw==","signatures":[{"sig":"MEYCIQC0n0ZYf/ljIky3kfaNM2Ac2its4uQAuVspbZ59fMC0sAIhANO/nVIk57W9oE6tTBV2vkfPfMo/NKfHZa4eRV4JpzAu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":469075},"jest":{"testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","transform":{"^.+\\.tsx?$":"ts-jest"},"collectCoverage":true,"testEnvironment":"node","moduleFileExtensions":["ts","tsx","js","jsx","json"],"testPathIgnorePatterns":["/dist/","/node_modules/"],"modulePathIgnorePatterns":["<rootDir>/dist/"],"coveragePathIgnorePatterns":["dist"]},"main":"dist/index.js","_from":"file:belticlabs-wizard-0.1.0.tgz","volta":{"node":"20.18.2","pnpm":"10.23.0"},"engines":{"npm":">=3.10.7","node":">=18"},"scripts":{"dev":"pnpm build && pnpm link --global && pnpm build:watch","fix":"pnpm fix:eslint && pnpm fix:prettier","try":"tsx bin.ts","lint":"pnpm lint:prettier && pnpm lint:eslint","test":"pnpm build && jest","build":"pnpm tsc","clean":"rm -rf ./dist","prebuild":"pnpm clean","postbuild":"chmod +x ./dist/bin.js","fix:eslint":"eslint . --format stylish --fix","test:watch":"jest --watch","build:watch":"pnpm tsc -w","lint:eslint":"eslint . --cache --format stylish","fix:prettier":"prettier --write \"src/**/*.ts\"","lint:prettier":"prettier --check \"src/**/*.ts\"","build:with-key":"pnpm build && node scripts/inject-api-key.js dist"},"typings":"dist/index.d.ts","_npmUser":{"name":"pranav-beltic","email":"pranav@beltic.com"},"_resolved":"/tmp/32798d0ea2a5e39c8d218edf630dc69d/belticlabs-wizard-0.1.0.tgz","_integrity":"sha512-BxdI93E98VdgzW7tf1aiGZ/SvYPevA9bds03pzhkB8QSPo6jlUXYFPRFYmva2kcKpuN52jY95C2lhhn1R08dNw==","repository":{"url":"git+https://github.com/belticlabs/wizard.git","type":"git"},"typescript":{"definition":"dist/index.d.ts"},"_npmVersion":"10.8.2","description":"The Beltic wizard automatically analyzes agent codebases and generates credentials, manifests, and signatures","directories":{},"lint-staged":{"*.{js,ts,tsx,jsx}":"pnpm fix"},"_nodeVersion":"20.19.6","dependencies":{"zod":"^3.24.2","glob":"9.3.5","uuid":"^11.1.0","axios":"1.7.4","chalk":"^2.4.1","yargs":"^16.2.0","lodash":"^4.17.21","semver":"^7.5.3","js-yaml":"^4.1.0","read-env":"^1.3.0","fast-glob":"^3.3.3","@clack/core":"^0.3.4","@clack/prompts":"0.7.0","@anthropic-ai/sdk":"^0.39.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","jest":"^29.5.0","husky":"^9.1.7","dotenv":"^16.4.7","eslint":"^8.18.0","rimraf":"^3.0.2","ts-jest":"^29.1.0","ts-node":"^10.9.1","prettier":"^2.8.7","typescript":"^5.0.4","@types/glob":"^7.2.0","@types/jest":"^29.5.14","@types/node":"^18.19.76","lint-staged":"^15.5.1","@types/yargs":"^16.0.9","@types/lodash":"^4.17.15","@types/semver":"^7.3.7","@types/js-yaml":"^4.0.9","eslint-plugin-jest":"^25.3.0","eslint-config-prettier":"^8.3.0","@typescript-eslint/parser":"^5.13.0","@typescript-eslint/eslint-plugin":"^5.13.0"},"_npmOperationalInternal":{"tmp":"tmp/wizard_0.1.0_1766710042372_0.5628304293741786","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2025-12-26T00:47:22.294Z","modified":"2026-09-15T20:29:37.388Z","0.1.0":"2025-12-26T00:47:22.598Z"},"bugs":{"url":"https://github.com/belticlabs/wizard/issues"},"author":{"name":"Beltic Labs"},"license":"MIT","homepage":"https://github.com/belticlabs/wizard","keywords":["beltic","wizard","agent","credential","manifest","ai","cli","setup","sign","verify"],"repository":{"url":"git+https://github.com/belticlabs/wizard.git","type":"git"},"description":"The Beltic wizard automatically analyzes agent codebases and generates credentials, manifests, and signatures","maintainers":[{"email":"guilherme@beltic.com","name":"renkel"},{"email":"farhan@beltic.com","name":"farhan-beltic"},{"email":"theo@beltic.com","name":"theo-beltic"}],"readme":"# Beltic Wizard\n\n> **Note:** This is a heavily modified fork of the [PostHog Wizard](https://github.com/PostHog/wizard), optimized specifically for Beltic and Beltic CLI usage. While it shares some architectural patterns with the original PostHog wizard, it has been significantly refactored and customized for Beltic's credential management workflow.\n\nThe Beltic wizard automatically analyzes AI agent codebases and generates credentials, manifests, and signatures using the [Beltic CLI](https://github.com/belticlabs/beltic-cli).\n\n## What it does\n\nWhen you run the wizard in an agent codebase, it will:\n\n1. **Check/Install Beltic CLI** - Ensures the Beltic CLI is installed (via Homebrew or curl)\n2. **Analyze Codebase** - Uses AI to detect language, deployment type, model provider, and structure\n3. **Generate Configuration** - Creates `.beltic.yaml` with appropriate file patterns\n4. **Create Manifest** - Runs `beltic init` to generate `agent-manifest.json`\n5. **Generate Fingerprint** - Runs `beltic fingerprint` to create a deterministic hash of your code\n6. **Create Keys & Sign** - Generates Ed25519 keypair and signs the credential\n7. **Update Files** - Adds Beltic entries to `.gitignore` and documents in `README.md`\n\n## Usage\n\n```bash\n# Run in your agent's directory\n# First run will prompt you to authenticate via browser\nnpx @belticlabs/wizard\n\n# Or with explicit Anthropic API key (optional)\nnpx @belticlabs/wizard --anthropic-key YOUR_API_KEY\n\n# Run in a specific directory\nnpx @belticlabs/wizard --install-dir /path/to/agent\n```\n\n### Authentication\n\nOn first run, the wizard will prompt you to authenticate with Beltic via browser OAuth. Your credentials are stored securely in `~/.beltic/credentials.json`. Subsequent runs will automatically use your stored credentials.\n\nSee [AUTHENTICATION.md](./AUTHENTICATION.md) for detailed authentication flow documentation.\n\n## Requirements\n\n- **Node.js** >= 18.17.0\n- **Anthropic API Key** - Optional. Default API key is provided (Beltic covers costs). Override with `ANTHROPIC_API_KEY` environment variable or `--anthropic-key` flag\n\n## Options\n\n| Option | Description | Default |\n|--------|-------------|---------|\n| `--anthropic-key` | Anthropic API key for LLM analysis (optional - default key provided) | `ANTHROPIC_API_KEY` env var or default |\n| `--install-dir` | Directory containing the agent codebase | Current directory |\n| `--skip-sign` | Skip signing (only generate manifest) | `false` |\n| `--skip-readme` | Skip updating README.md | `false` |\n| `--force` | Overwrite existing Beltic files | `false` |\n| `--debug` | Enable verbose logging | `false` |\n\n## Environment Variables\n\n| Variable | Description |\n|----------|-------------|\n| `ANTHROPIC_API_KEY` | Anthropic API key for codebase analysis |\n| `BELTIC_WIZARD_DEBUG` | Enable debug mode (`true`/`false`) |\n| `BELTIC_WIZARD_INSTALL_DIR` | Default installation directory |\n\n## Generated Files\n\nAfter running the wizard, your project will have:\n\n```\nyour-agent/\n├── .beltic.yaml           # Configuration for fingerprinting\n├── agent-manifest.json    # Agent metadata and capabilities\n├── agent-credential.jwt   # Signed credential (JWT format)\n├── .beltic/               # Cryptographic keys\n│   ├── eddsa-*-private.pem  # Private key (gitignored)\n│   └── eddsa-*-public.pem   # Public key\n└── .gitignore             # Updated with Beltic entries\n```\n\n## After Setup\n\n### Verify Credential\n\n```bash\nbeltic verify --key .beltic/*-public.pem --token agent-credential.jwt\n```\n\n### Re-sign After Code Changes\n\n```bash\n# Update the fingerprint\nbeltic fingerprint\n\n# Re-sign the credential\nbeltic sign\n```\n\n### View Credential Contents\n\n```bash\n# Decode and view the JWT payload\nbeltic verify --key .beltic/*-public.pem --token agent-credential.jwt\n```\n\n## Development\n\n### Building\n\n```bash\npnpm install\npnpm build\n```\n\n### Running Locally\n\n```bash\n# Build and run\npnpm try --install-dir /path/to/agent\n\n# Or with hot reload\npnpm dev\n```\n\n### Testing\n\n```bash\npnpm test\n```\n\n## How It Works\n\nThe wizard uses Claude to analyze your codebase:\n\n1. **Detection Phase** - Examines file structure, `package.json`/`pyproject.toml`, and dependencies to determine language, deployment type, and AI model provider\n2. **Configuration Generation** - Uses LLM to generate optimal `.beltic.yaml` patterns based on project structure\n3. **CLI Orchestration** - Runs Beltic CLI commands in sequence to create and sign credentials\n\nAll file modifications are limited to Beltic-specific files. The wizard **never modifies your agent's source code**.\n\n## Supported Languages\n\n- TypeScript/JavaScript (Node.js)\n- Python\n\n## Supported Deployment Types\n\n- Standalone\n- Monorepo\n- Embedded\n- Plugin\n- Serverless\n\n## Related Projects\n\n- [beltic-cli](https://github.com/belticlabs/beltic-cli) - CLI for signing and verifying credentials\n- [beltic-spec](https://github.com/belticlabs/beltic-spec) - JSON schemas for agent/developer credentials\n- [@belticlabs/kya](https://github.com/belticlabs/beltic-sdk) - TypeScript SDK for credential verification\n\n## License\n\nMIT\n","readmeFilename":"README.md"}