{"_id":"@aceteam/ace","_rev":"3-75da6ed4dcd3133b6ce1e6046a06184c","name":"@aceteam/ace","dist-tags":{"latest":"0.3.0"},"versions":{"0.1.0":{"name":"@aceteam/ace","version":"0.1.0","keywords":["aceteam","ai","workflow","cli"],"license":"MIT","_id":"@aceteam/ace@0.1.0","maintainers":[{"name":"aceteam-jason","email":"jason@aceteam.ai"}],"homepage":"https://github.com/aceteam-ai/ace#readme","bugs":{"url":"https://github.com/aceteam-ai/ace/issues"},"bin":{"ace":"dist/index.js"},"dist":{"shasum":"e253889e328350582e16a1102304461c2c42b058","tarball":"https://registry.npmjs.org/@aceteam/ace/-/ace-0.1.0.tgz","fileCount":6,"integrity":"sha512-rju/ESwGvRSTkq2emfn+a4kK16Tz1DYlNOTHKwaFcsNV905fkvoujjL0IGF1eKX5CPlfjXf10zpTQbJlID22jw==","signatures":[{"sig":"MEUCIA3vaqpQGqP/8bYDr2sGBomyh/MWWVvHMCh7Veat3YzxAiEAgs+xclYzbpm4zFHYrKzuUXFSMUc0ub08r3CeDz+9Vrg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":41527},"type":"module","_from":"file:aceteam-ace-0.1.0.tgz","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit","build":"tsup"},"_npmUser":{"name":"aceteam-jason","email":"jason@aceteam.ai"},"_resolved":"/tmp/nix-shell.sNvMZI/7c9b0f246f6c4046d17022c41ff9ad17/aceteam-ace-0.1.0.tgz","_integrity":"sha512-rju/ESwGvRSTkq2emfn+a4kK16Tz1DYlNOTHKwaFcsNV905fkvoujjL0IGF1eKX5CPlfjXf10zpTQbJlID22jw==","repository":{"url":"git+https://github.com/aceteam-ai/ace.git","type":"git"},"_npmVersion":"11.6.2","description":"AceTeam CLI - Run AI workflows locally","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ora":"^8.0.0","yaml":"^2.4.0","chalk":"^5.3.0","which":"^4.0.0","commander":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/which":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ace_0.1.0_1769994331945_0.1795239504798254","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@aceteam/ace","version":"0.2.0","keywords":["aceteam","ai","workflow","cli"],"license":"MIT","_id":"@aceteam/ace@0.2.0","maintainers":[{"name":"aceteam-jason","email":"jason@aceteam.ai"}],"homepage":"https://github.com/aceteam-ai/ace#readme","bugs":{"url":"https://github.com/aceteam-ai/ace/issues"},"bin":{"ace":"dist/index.js"},"dist":{"shasum":"a15920db1998803ebb1a3003cd369d03b6f25223","tarball":"https://registry.npmjs.org/@aceteam/ace/-/ace-0.2.0.tgz","fileCount":6,"integrity":"sha512-O5b7DiTMpu+1I7WhnVatGpnCV6CVbjMURPwomE6Gn8JNeNJRd1J/sIf1147JFCLw4w3VGxV96zwxVwma6ohBRQ==","signatures":[{"sig":"MEYCIQCEXKDXALEBwOzoHkZrVlS7wthOZbBlLma/wJ5LORaESAIhAKqCPiqBrNR/KG3ZzfjflIU4zp+U3cuRNTDQweuciKaB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":123632},"type":"module","_from":"file:aceteam-ace-0.2.0.tgz","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit","test":"vitest run","build":"tsup","test:watch":"vitest","test:coverage":"vitest run --coverage","test:integration":"vitest run tests/integration"},"_npmUser":{"name":"aceteam-jason","email":"jason@aceteam.ai"},"_resolved":"/tmp/nix-shell.NPyJ2F/8a8f79833d66ca32c6ae39e450a3a353/aceteam-ace-0.2.0.tgz","_integrity":"sha512-O5b7DiTMpu+1I7WhnVatGpnCV6CVbjMURPwomE6Gn8JNeNJRd1J/sIf1147JFCLw4w3VGxV96zwxVwma6ohBRQ==","repository":{"url":"git+https://github.com/aceteam-ai/ace.git","type":"git"},"_npmVersion":"11.6.2","description":"AceTeam CLI - Run AI workflows locally","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ora":"^8.0.0","yaml":"^2.4.0","chalk":"^5.3.0","which":"^4.0.0","commander":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^3.2.4","typescript":"^5.4.0","@types/node":"^22.0.0","@types/which":"^3.0.0","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/ace_0.2.0_1770494217516_0.04209715135277592","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@aceteam/ace","version":"0.3.0","description":"AceTeam CLI - Run AI workflows locally","type":"module","bin":{"ace":"dist/index.js"},"dependencies":{"@inquirer/prompts":"^8.3.0","chalk":"^5.3.0","commander":"^12.0.0","ora":"^8.0.0","which":"^4.0.0","yaml":"^2.4.0"},"devDependencies":{"@types/node":"^22.0.0","@types/which":"^3.0.0","@vitest/coverage-v8":"^3.2.4","tsup":"^8.0.0","typescript":"^5.4.0","vitest":"^3.2.4"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/aceteam-ai/ace.git"},"keywords":["aceteam","ai","workflow","cli"],"scripts":{"build":"tsup","dev":"tsup --watch","lint":"tsc --noEmit","test":"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage","test:integration":"vitest run tests/integration","test:e2e":"bash scripts/e2e.sh"},"_id":"@aceteam/ace@0.3.0","bugs":{"url":"https://github.com/aceteam-ai/ace/issues"},"homepage":"https://github.com/aceteam-ai/ace#readme","_integrity":"sha512-U551WLOeAl4LTt41DJ33Ilb72Kg4pc+4n+kIlkXiLOIUFJY6ZZoOPGfEd13OLiEwrGzcAADZyExqsxmuY8+mNw==","_resolved":"/tmp/nix-shell.O3sV7a/b0017c9c65d9b88769d31f759fd87396/aceteam-ace-0.3.0.tgz","_from":"file:aceteam-ace-0.3.0.tgz","_nodeVersion":"24.13.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-U551WLOeAl4LTt41DJ33Ilb72Kg4pc+4n+kIlkXiLOIUFJY6ZZoOPGfEd13OLiEwrGzcAADZyExqsxmuY8+mNw==","shasum":"08a848f2465d600a50881c3fe60bc4baa4407cd3","tarball":"https://registry.npmjs.org/@aceteam/ace/-/ace-0.3.0.tgz","fileCount":48,"unpackedSize":281718,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQC7Y4Asvhb68ifm1cW2Lldw+L89Zvd0a5RMN8Ewo5mTzQIgPHnfLHLhxLlp0uBCPiLrt9E/D3C/cDnoYNW1QqSRl24="}]},"_npmUser":{"name":"aceteam-jason","email":"jason@aceteam.ai"},"directories":{},"maintainers":[{"name":"aceteam-jason","email":"jason@aceteam.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ace_0.3.0_1772688363108_0.9369010993414693"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-02T01:05:31.865Z","modified":"2026-03-05T05:26:03.449Z","0.1.0":"2026-02-02T01:05:32.113Z","0.2.0":"2026-02-07T19:56:57.676Z","0.3.0":"2026-03-05T05:26:03.307Z"},"bugs":{"url":"https://github.com/aceteam-ai/ace/issues"},"license":"MIT","homepage":"https://github.com/aceteam-ai/ace#readme","keywords":["aceteam","ai","workflow","cli"],"repository":{"type":"git","url":"git+https://github.com/aceteam-ai/ace.git"},"description":"AceTeam CLI - Run AI workflows locally","maintainers":[{"name":"aceteam-jason","email":"jason@aceteam.ai"}],"readme":"# @aceteam/ace\n\n[![npm version](https://img.shields.io/npm/v/@aceteam/ace.svg)](https://www.npmjs.com/package/@aceteam/ace)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n\nAceTeam CLI - Run AI workflows locally from your terminal.\n\n## Install\n\n```bash\n# From npm (once published)\nnpm install -g @aceteam/ace\n\n# Or run without installing\nnpx @aceteam/ace\n\n# Or build from source\ngit clone https://github.com/aceteam-ai/ace.git\ncd ace\npnpm install && pnpm build\nnode dist/index.js          # run directly\nnpm link                    # or install globally as `ace`\n```\n\n## Quick Start\n\n```bash\n# 1. Set up Python venv, install dependencies, create config\nace init\n\n# 2. Browse available workflow templates\nace workflow list-templates\n\n# 3. Create a workflow from a template\nace workflow create hello-llm -o my-workflow.json\n\n# 4. Run it\nace workflow run my-workflow.json --input prompt=\"Explain AI in one sentence\"\n```\n\n## How It Works\n\n```\nace CLI (TypeScript)\n  │\n  ├── ace init ──────────────> Detect Python 3.12+, create ~/.ace/venv,\n  │                            install aceteam-nodes, save config\n  │\n  ├── ace workflow create ──> Pick a bundled template, customize params,\n  │                            write workflow JSON\n  │\n  └── ace workflow run ─────> Validate input, show real-time progress\n                                │\n                                ▼\n                         python -m aceteam_nodes.cli\n                                │\n                                ▼\n                         aceteam-nodes (Python)\n                           ├── litellm (100+ LLM providers)\n                           ├── httpx (API calls)\n                           └── workflow-engine (DAG execution)\n```\n\nThe TypeScript CLI handles file validation, Python detection, and output formatting. Workflow execution is delegated to the `aceteam-nodes` Python package via subprocess, which uses `litellm` for multi-provider LLM support (OpenAI, Anthropic, Google, and 100+ more).\n\n## Requirements\n\n- Node.js 18+\n- Python 3.12+ (for workflow execution)\n- An LLM provider — cloud API key **or** a local model server (see below)\n\n## Commands\n\n### `ace init`\n\nInteractive setup that:\n1. Detects Python 3.12+ (shows specific version error if too old)\n2. Creates a managed virtual environment at `~/.ace/venv/`\n3. Installs `aceteam-nodes` into the venv\n4. Prompts for default model and saves `~/.ace/config.yaml`\n\n```bash\n$ ace init\n\nAceTeam CLI Setup\n\n1. Prerequisites\n✓ Python 3.12.3 (/usr/bin/python3)\n\n2. Virtual environment\n✓ Created venv: /home/user/.ace/venv\n\n3. Dependencies\n✓ aceteam-nodes installed\n\n4. Configuration\nDefault model [gpt-4o-mini]:\n\nSetup complete:\n  ✓ Python 3.12.3 (/home/user/.ace/venv/bin/python)\n  ✓ aceteam-nodes installed\n  ✓ Config: /home/user/.ace/config.yaml\n  ✓ Model: gpt-4o-mini\n```\n\n### `ace workflow list-templates`\n\nList bundled workflow templates.\n\n```bash\n$ ace workflow list-templates\nID              Name            Category  Inputs\n────────────────────────────────────────────────────────────\nhello-llm       Hello LLM       basics    prompt\ntext-transform  Text Transform  basics    text, instructions\nllm-chain       LLM Chain       chains    prompt\napi-to-llm      API to LLM      chains    url\n\n# Filter by category\n$ ace workflow list-templates --category basics\n```\n\n### `ace workflow create [template-id] [-o file]`\n\nCreate a workflow from a bundled template. Prompts for template selection if no ID given, then lets you customize node parameters.\n\n```bash\n# Interactive: pick a template and customize\nace workflow create\n\n# Direct: use a specific template\nace workflow create hello-llm -o my-workflow.json\n```\n\n### `ace workflow run <file> [options]`\n\nRun a workflow from a JSON file. Shows real-time progress as nodes execute.\n\n```bash\nace workflow run workflow.json --input prompt=\"Hello\"\n```\n\nOptions:\n- `-i, --input <key=value...>` - Input values\n- `-v, --verbose` - Show raw stderr debug output\n- `--config <path>` - Custom config file path\n- `--remote` - Run on remote Fabric node instead of locally\n\nErrors are automatically classified with suggested fixes:\n```\n✗ Missing module: aceteam_nodes\n  Run `ace init` to install dependencies\n\n✗ Authentication failed\n  Set OPENAI_API_KEY or ANTHROPIC_API_KEY environment variable\n```\n\n### `ace workflow validate <file>`\n\nValidate a workflow JSON file against the schema.\n\n### `ace workflow list-nodes`\n\nList all available node types with descriptions.\n\n### `ace fabric login`\n\nAuthenticate with the AceTeam Sovereign Compute Fabric for remote workflow execution.\n\n### `ace fabric discover [--capability <tag>]`\n\nDiscover available Citadel nodes on the Fabric.\n\n### `ace fabric status`\n\nShow connected node load metrics.\n\n## Using Local LLMs (Ollama, vLLM, etc.)\n\nWorkflows use [litellm](https://docs.litellm.ai/) under the hood, which supports 100+ LLM providers — including local model servers. No API key needed for local models.\n\n### Ollama\n\n```bash\n# 1. Start Ollama (https://ollama.com)\nollama serve\nollama pull llama3\n\n# 2. Create a workflow using the Ollama model\nace workflow create hello-llm -o local-chat.json\n# When prompted for \"model\", enter: ollama/llama3\n\n# 3. Run it\nace workflow run local-chat.json --input prompt=\"Hello from local LLM\"\n```\n\n### vLLM\n\n```bash\n# 1. Start vLLM server\nvllm serve meta-llama/Llama-3-8b --port 8000\n\n# 2. Set the base URL and create a workflow\nexport OPENAI_API_BASE=http://localhost:8000/v1\nace workflow create hello-llm -o vllm-chat.json\n# When prompted for \"model\", enter: openai/meta-llama/Llama-3-8b\n\n# 3. Run it\nace workflow run vllm-chat.json --input prompt=\"Hello from vLLM\"\n```\n\n### Cloud APIs\n\n```bash\nexport OPENAI_API_KEY=sk-...          # OpenAI\nexport ANTHROPIC_API_KEY=sk-ant-...   # Anthropic\nexport GEMINI_API_KEY=...             # Google Gemini\n```\n\nThe model name in your workflow JSON determines which provider is used. Examples:\n- `gpt-4o-mini` — OpenAI\n- `claude-3-haiku-20240307` — Anthropic\n- `gemini/gemini-pro` — Google\n- `ollama/llama3` — Ollama (local)\n- `openai/model-name` + `OPENAI_API_BASE` — vLLM, LM Studio, or any OpenAI-compatible server\n\nSee [litellm provider docs](https://docs.litellm.ai/docs/providers) for the full list.\n\n## Development\n\n```bash\n# Install dependencies\npnpm install\n\n# Build\npnpm build\n\n# Build in watch mode\npnpm dev\n\n# Type check\npnpm lint\n\n# Run tests\npnpm test\n\n# Run tests in watch mode\npnpm test:watch\n\n# Run tests with coverage\npnpm test:coverage\n\n# Run integration tests only\npnpm test:integration\n```\n\n## Related\n\n- **[aceteam-nodes](https://github.com/aceteam-ai/aceteam-nodes)** — Python workflow node library (the execution engine behind this CLI)\n- **[Workflow Engine](https://github.com/adanomad/workflow-engine)** — DAG-based workflow execution engine\n\n## License\n\nMIT\n","readmeFilename":"README.md"}