{"_id":"@ace3/ace-cli","_rev":"5-e9cf484645855efb483407b1e2b10f6e","name":"@ace3/ace-cli","dist-tags":{"latest":"1.0.4"},"versions":{"1.0.0":{"name":"@ace3/ace-cli","version":"1.0.0","keywords":["cli","context-tree","knowledge-base","ai"],"author":"","license":"MIT","_id":"@ace3/ace-cli@1.0.0","maintainers":[{"name":"ace3","email":"ace3xx@gmail.com"}],"bin":{"ace":"dist/index.js"},"dist":{"shasum":"0b0da99b6afde1d36bc959ddec08bdfae82082f6","tarball":"https://registry.npmjs.org/@ace3/ace-cli/-/ace-cli-1.0.0.tgz","fileCount":88,"integrity":"sha512-yvkjRf79NkDA+hM+vYtIkufFgGdW7cwNM0dvQU0kQ5oNiYLh0XNUIgrqFwqTEYzERorZ1Mi+e0BxCWQcYGT0wQ==","signatures":[{"sig":"MEQCIF/qFVh1B35yoGw6aZc/+vhGhDVHqnbj3VtUGANPfmsWAiBIi0RxAxkuWOjAIYrjlQ3ip6RX7raDXky8H5WueAKtmg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":322940},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"784c920f1f767040f2406a361aaeb265b13d900c","scripts":{"dev":"tsx src/index.ts","lint":"eslint src --ext .ts,.tsx","test":"vitest run","build":"tsc","start":"node dist/index.js","format":"prettier --write src/**/*.{ts,tsx}","test:watch":"vitest"},"_npmUser":{"name":"ace3","email":"ace3xx@gmail.com"},"_npmVersion":"11.6.2","description":"Local-first, git-based CLI for managing project knowledge bases","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ink":"^6.6.0","ora":"^9.1.0","open":"^11.0.0","chalk":"^5.6.2","react":"^19.2.4","figlet":"^1.10.0","keytar":"^7.9.0","readline":"^1.3.0","commander":"^14.0.2","typescript":"^5.9.3","@types/node":"^25.0.10","ink-spinner":"^5.0.0","@types/react":"^19.2.9","ink-text-input":"^6.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","eslint":"^9.39.2","vitest":"^4.0.18","prettier":"^3.8.1","@typescript-eslint/parser":"^8.54.0","@typescript-eslint/eslint-plugin":"^8.54.0"},"_npmOperationalInternal":{"tmp":"tmp/ace-cli_1.0.0_1769570336760_0.10014649329983194","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@ace3/ace-cli","version":"1.0.1","keywords":["cli","context-tree","knowledge-base","ai"],"author":"","license":"MIT","_id":"@ace3/ace-cli@1.0.1","maintainers":[{"name":"ace3","email":"ace3xx@gmail.com"}],"bin":{"ace":"dist/index.js"},"dist":{"shasum":"312da08904a8a0e8d469c2de572b723707f3292a","tarball":"https://registry.npmjs.org/@ace3/ace-cli/-/ace-cli-1.0.1.tgz","fileCount":88,"integrity":"sha512-YLaz97nL+k/S3RacOXnyfC5LGW5VI7BF3jvS48aP8GS+tcdcsfbK7wNAOJzZuY14jRsqPJfQ3rxkE7moUTBVLA==","signatures":[{"sig":"MEQCIEOlLrIHSJy7fvRMkRq1d6JzNs7CxhRRlFhpIH7oX2U9AiB2HoxxV53WhHbfoWK5ztmy0PcrSsclgvA24nl1Vn6ZKw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":322972},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"aab4740f642997598044d642cbb5232147f9b33f","scripts":{"dev":"tsx src/index.ts","lint":"eslint src --ext .ts,.tsx","test":"vitest run","build":"tsc","start":"node dist/index.js","format":"prettier --write src/**/*.{ts,tsx}","test:watch":"vitest"},"_npmUser":{"name":"ace3","email":"ace3xx@gmail.com"},"_npmVersion":"11.6.2","description":"Local-first, git-based CLI for managing project knowledge bases","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ink":"^6.6.0","ora":"^9.1.0","open":"^11.0.0","chalk":"^5.6.2","react":"^19.2.4","figlet":"^1.10.0","keytar":"^7.9.0","readline":"^1.3.0","commander":"^14.0.2","typescript":"^5.9.3","@types/node":"^25.0.10","ink-spinner":"^5.0.0","@types/react":"^19.2.9","ink-text-input":"^6.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","eslint":"^9.39.2","vitest":"^4.0.18","prettier":"^3.8.1","@typescript-eslint/parser":"^8.54.0","@typescript-eslint/eslint-plugin":"^8.54.0"},"_npmOperationalInternal":{"tmp":"tmp/ace-cli_1.0.1_1769571741031_0.42178582715297885","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@ace3/ace-cli","version":"1.0.2","keywords":["cli","context-tree","knowledge-base","ai"],"author":"","license":"MIT","_id":"@ace3/ace-cli@1.0.2","maintainers":[{"name":"ace3","email":"ace3xx@gmail.com"}],"bin":{"ace":"dist/index.js"},"dist":{"shasum":"ab36017491dd20008d048c02dae119e9b4789e28","tarball":"https://registry.npmjs.org/@ace3/ace-cli/-/ace-cli-1.0.2.tgz","fileCount":147,"integrity":"sha512-42EqEx1olhYDWaHp0LOXs2ImkqBQNNcdcq5ZsOQUD78JY4zle3D3E/O63EfRS9omHUOWnLF7HObWmeb/KrK/6Q==","signatures":[{"sig":"MEUCIQCYxiefqDuzBQZDlSk1jEKOzv06U8/uAPG8owm7/sUpngIgFX9IZJeRgD/evKDJSvY/n1KeWZNUC+M1TlIhDl5sXjM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":613822},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"0cad35fdbec7d5bf82f16e71b72c7d7ad45c06bb","scripts":{"dev":"tsx src/index.ts","lint":"eslint src --ext .ts,.tsx","test":"vitest run","build":"tsc","start":"node dist/index.js","format":"prettier --write src/**/*.{ts,tsx}","test:watch":"vitest"},"_npmUser":{"name":"ace3","email":"ace3xx@gmail.com"},"_npmVersion":"11.6.2","description":"Local-first, git-based CLI for managing project knowledge bases","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ink":"^6.6.0","ora":"^9.1.0","chalk":"^5.6.2","react":"^19.2.4","figlet":"^1.10.0","readline":"^1.3.0","commander":"^14.0.2","typescript":"^5.9.3","@types/node":"^25.0.10","ink-spinner":"^5.0.0","@types/react":"^19.2.9","better-sqlite3":"^11.0.0","ink-text-input":"^6.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","eslint":"^9.39.2","vitest":"^4.0.18","prettier":"^3.8.1","@types/better-sqlite3":"^7.6.11","@typescript-eslint/parser":"^8.54.0","@typescript-eslint/eslint-plugin":"^8.54.0"},"_npmOperationalInternal":{"tmp":"tmp/ace-cli_1.0.2_1770343481493_0.4978130419176787","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@ace3/ace-cli","version":"1.0.3","keywords":["cli","context-tree","knowledge-base","ai"],"author":"","license":"MIT","_id":"@ace3/ace-cli@1.0.3","maintainers":[{"name":"ace3","email":"ace3xx@gmail.com"}],"bin":{"ace":"dist/index.js"},"dist":{"shasum":"1ca60330fa9ea3aba7866a990febe3f611b6e120","tarball":"https://registry.npmjs.org/@ace3/ace-cli/-/ace-cli-1.0.3.tgz","fileCount":153,"integrity":"sha512-Ctqztt8CL2XO5Ve1qUA4Vu7KhtIQP0X43Op3HArgyfJVSEEIHz8cnVrNRUWPEFIpJSWE+ylJl70qgLC6RJEPNg==","signatures":[{"sig":"MEUCIFeTss6iGqxk+ULIYZ+LbkwVTn7TBnyhUOv+Qa6pnQoEAiEA7Qga3CZpXH6I3N0bqR/ejXxpxT0IZPLcPJjIKvkw59I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":713564},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"68cba42763240538631f972b0d025d244d692b2e","scripts":{"dev":"tsx src/index.ts","lint":"eslint src --ext .ts,.tsx","test":"vitest run","build":"tsc","start":"node dist/index.js","format":"prettier --write src/**/*.{ts,tsx}","test:watch":"vitest"},"_npmUser":{"name":"ace3","email":"ace3xx@gmail.com"},"_npmVersion":"11.6.2","description":"Local-first, git-based CLI for managing project knowledge bases","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ink":"^6.6.0","ora":"^9.1.0","chalk":"^5.6.2","react":"^19.2.4","figlet":"^1.10.0","readline":"^1.3.0","commander":"^14.0.2","typescript":"^5.9.3","@types/node":"^25.0.10","ink-spinner":"^5.0.0","@types/react":"^19.2.9","better-sqlite3":"^11.0.0","ink-text-input":"^6.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","eslint":"^9.39.2","vitest":"^4.0.18","prettier":"^3.8.1","@types/better-sqlite3":"^7.6.11","@typescript-eslint/parser":"^8.54.0","@typescript-eslint/eslint-plugin":"^8.54.0"},"_npmOperationalInternal":{"tmp":"tmp/ace-cli_1.0.3_1770345314042_0.12464428719310039","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@ace3/ace-cli","version":"1.0.4","description":"Local-first, git-based CLI for managing project knowledge bases","main":"dist/index.js","type":"module","bin":{"ace":"dist/index.js"},"scripts":{"build":"tsc","dev":"tsx src/index.ts","start":"node dist/index.js","test":"vitest run","test:watch":"vitest","lint":"eslint src --ext .ts,.tsx","format":"prettier --write src/**/*.{ts,tsx}"},"keywords":["cli","context-tree","knowledge-base","ai"],"author":"","license":"MIT","engines":{"node":">=20.0.0"},"dependencies":{"@types/node":"^25.0.10","@types/react":"^19.2.9","better-sqlite3":"^11.0.0","chalk":"^5.6.2","commander":"^14.0.2","figlet":"^1.10.0","ink":"^6.6.0","ink-spinner":"^5.0.0","ink-text-input":"^6.0.0","ora":"^9.1.0","react":"^19.2.4","readline":"^1.3.0","typescript":"^5.9.3"},"devDependencies":{"@types/better-sqlite3":"^7.6.11","@typescript-eslint/eslint-plugin":"^8.54.0","@typescript-eslint/parser":"^8.54.0","eslint":"^9.39.2","prettier":"^3.8.1","tsx":"^4.21.0","vitest":"^4.0.18"},"gitHead":"04f7be1bd282cacecb1e5e75caec613d7f910f45","types":"./dist/index.d.ts","_id":"@ace3/ace-cli@1.0.4","_nodeVersion":"24.12.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-2LeSTgqLEffMomnesn5ZeeC60PJbPNiC5WhFCJ2GivAcJX/hj+jqfLko5QfqtUlafugdZA2HfUxU1FzdH3XKcQ==","shasum":"66725b85dc7b35966ffdec92f83ed7948de5750a","tarball":"https://registry.npmjs.org/@ace3/ace-cli/-/ace-cli-1.0.4.tgz","fileCount":155,"unpackedSize":723207,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFBZnlwnUfvtkULiInJ3zNCRru38S/QfSatAbQ4MIyRfAiBMfUB5sa/UxKiL3+kGgB1Y88cWRIQIYXU6Do5Fw9aiRQ=="}]},"_npmUser":{"name":"ace3","email":"ace3xx@gmail.com"},"directories":{},"maintainers":[{"name":"ace3","email":"ace3xx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ace-cli_1.0.4_1770348853860_0.513086658515777"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-28T03:18:56.705Z","modified":"2026-02-06T03:34:14.196Z","1.0.0":"2026-01-28T03:18:57.013Z","1.0.1":"2026-01-28T03:42:21.179Z","1.0.2":"2026-02-06T02:04:41.655Z","1.0.3":"2026-02-06T02:35:14.242Z","1.0.4":"2026-02-06T03:34:14.085Z"},"license":"MIT","keywords":["cli","context-tree","knowledge-base","ai"],"description":"Local-first, git-based CLI for managing project knowledge bases","maintainers":[{"name":"ace3","email":"ace3xx@gmail.com"}],"readme":"# ACE CLI (ace)\n\nA local-first, git-based CLI for managing project knowledge bases with context trees, agent connectors, and pattern detection.\n\n## Features\n\n- **Local-Only** - No authentication, no remote sync, all data in git\n- **Interactive REPL** - TUI with slash commands, tab completion, and live feedback\n- **Context Tree** - Hierarchical knowledge base with domains, topics, and subtopics\n- **Context Engine** - Incremental local indexing with hybrid (lexical + semantic) retrieval\n- **Agent Connectors** - Integrate with AI coding assistants (Claude, Cursor, Copilot, etc.)\n- **Durable Agent Memory** - Local SQLite + JSONL journal memory for Codex, Claude Code, VS Code, and more\n- **Pattern Detection** - Automatically detect project patterns (frameworks, testing, architecture, security)\n- **Git-Based** - Store and version your knowledge base alongside your code\n- **Cross-platform** - Works on macOS, Windows, Linux, and WSL\n\n## Installation\n\n```bash\nnpm install -g @ace3/ace-cli\n```\n\nOr run directly:\n\n```bash\nnpx @ace3/ace-cli\n```\n\n## Quick Start\n\n1. **Launch the REPL:**\n   ```bash\n   ace\n   ```\n\n2. **Initialize a project:**\n   ```\n   /init\n   ```\n\n3. **Add content to the context tree:**\n   ```\n   /curate\n   ```\n\n4. **Scan for project patterns:**\n   ```\n   /patterns scan\n   ```\n\n5. **Query your knowledge base:**\n   ```\n   /query testing best practices\n   ```\n\n6. **Commit to git:**\n   ```bash\n   git add .ace/\n   git commit -m \"Updated context tree\"\n   ```\n\n## Slash Commands\n\n| Command | Description |\n|---------|-------------|\n| `/status` | Show project status |\n| `/init [-f]` | Initialize local project (git-based) |\n| `/curate [context] [@files...]` | Curate context interactively |\n| `/query <terms>` (or `/q`) | Query the context tree |\n| `/index <build\\|status\\|clear>` | Build and manage local context index |\n| `/connectors` | Manage agent connectors |\n| `/patterns [scan\\|list\\|add]` | Detect and manage project patterns |\n| `/memory <put\\|get\\|search\\|list\\|forget\\|compact>` | Manage durable local memory |\n| `/reset [-y]` | Reset context tree |\n| `/new [-y]` | Clear REPL session |\n| `/help [command]` | Show help |\n| `/exit` | Exit the REPL |\n\n## Standalone CLI Commands\n\nRun commands directly from the shell:\n\n```bash\nace status [directory]         # Show project status\nace init [-f]                  # Initialize project\nace query <query>              # Query context tree\nace query <query> --mode hybrid --limit 20 # Query with lexical/semantic/hybrid mode\nace index build --scope context # Build incremental local index\nace index status               # Show index status\nace curate [context] [-f ...]   # Curate content\nace memory ...                 # Manage local agent memory\nace connectors sync --agent all # Sync memory into agent connector files\n```\n\n## Pattern Detection\n\nACE can automatically scan your project and detect code patterns to enrich your context tree. This helps AI assistants understand your project's architecture, testing setup, and coding conventions.\n\n### Detected Pattern Types\n\n| Type | Examples |\n|------|----------|\n| `architecture` | MVC, Clean Architecture, Layered, Repository, Service Layer |\n| `framework` | React, Express, NestJS, Next.js, Vue, Angular, Svelte |\n| `code-style` | TypeScript, JavaScript, Python, Go, Rust, Java, ESLint, Prettier |\n| `testing` | Jest, Vitest, Mocha, Pytest, Cypress, Playwright, Testing Library |\n| `performance` | Caching, Redis, Lazy loading, Virtualization |\n| `security` | Authentication, JWT, OAuth, Validation, Rate limiting, Helmet |\n\n### Pattern Commands\n\n```bash\n# Scan project for patterns (auto-detects from codebase)\nace patterns scan\n\n# Scan specific pattern types only\nace patterns scan --types framework testing\n\n# List all detected patterns\nace patterns list\n\n# List patterns in JSON format\nace patterns list --json\n\n# Add a manual pattern\nace patterns add \"custom-pattern\" --type architecture --description \"My custom pattern\"\n\n# Remove a pattern\nace patterns remove architecture repository\n\n# Clear all patterns\nace patterns clear --confirm\n```\n\n### Pattern Output Example\n\n```\nDetected Patterns\n────────────────────────────────────────\n\nframework:\n  ✓ nestjs - NestJS framework\n     Confidence: [██████████] 95%\n     Evidence: Found nestjs references\n  ✓ react - React framework\n     Confidence: [█████████░] 90%\n\ncode-style:\n  ✓ typescript - TypeScript usage detected\n     Confidence: [██████████] 95%\n     Evidence: Found 105 .ts files, 10 .tsx files\n\narchitecture:\n  ✓ repository - Repository pattern detected\n     Confidence: [█████████░] 90%\n```\n\n### Pattern Use Cases\n\n**1. Onboarding New Team Members**\n```bash\nace patterns scan\n# Review detected patterns to understand project structure\n# Use patterns to generate onboarding documentation\n```\n\n**2. AI Assistant Context**\n```bash\n# When asking AI assistants about your project, reference detected patterns:\n# \"I'm working with a NestJS project using Clean Architecture with Jest tests\"\n```\n\n**3. Compliance & Standards**\n```bash\n# Verify all projects follow security patterns\nace patterns list --json | jq '.byType.security'\n```\n\n**4. Project Migration**\n```bash\n# Before migrating, scan to document current patterns\nace patterns scan --json > patterns-backup.json\n\n# After migration, verify patterns are preserved\nace patterns scan\n```\n\n### Pattern Storage\n\nPatterns are stored in `.ace/patterns.json` and can be committed to git:\n\n```bash\ngit add .ace/patterns.json\ngit commit -m \"Update detected patterns\"\n```\n\n## Context Engine\n\nACE includes a local-only context engine optimized for retrieval quality and fast updates.\n\n### Index Commands\n\n```bash\n# Build index from context tree (default)\nace index build --scope context\n\n# Include project files\nace index build --scope project\n\n# Show index metadata\nace index status --json\n\n# Clear index\nace index clear --confirm\n```\n\n### Query Modes\n\n```bash\n# Lexical (exact-ish keyword match)\nace query \"vitest setup\" --mode lexical\n\n# Semantic (meaning-based retrieval)\nace query \"how should we test modules\" --mode semantic\n\n# Hybrid (recommended default)\nace query \"testing strategy\" --mode hybrid --limit 20\n```\n\nThe context engine stores local index data in `.ace/index/index.sqlite`.\n\n## Project Structure\n\nAfter initialization, your project will contain:\n\n```\nproject/\n├── .ace/\n│   ├── config.json              # Project configuration\n│   ├── .gitignore               # Ignores snapshot file\n│   ├── patterns.json            # Detected patterns\n│   └── context-tree/\n│       ├── .snapshot.json       # Local state tracking\n│       ├── code_style/\n│       │   └── formatting/\n│       │       └── context.md\n│       ├── testing/\n│       │   └── unit_tests/\n│       │       └── context.md\n│       └── ...\n```\n\n### Context Tree Structure\n\n- **Domain** - Top-level category (e.g., `code_style`, `testing`, `structure`)\n- **Topic** - Specific area within a domain\n- **Subtopic** - Optional sub-area (one level max)\n\nContent is stored as Markdown with optional relations:\n\n```markdown\n# Formatting Guidelines\n\nUse 2-space indentation for all TypeScript files.\n\n## Relations\n\nSee also @testing/unit_tests for test formatting rules.\n```\n\n## Supported Agents\n\nConfigure connectors for these AI coding assistants:\n\n| Agent | Rules | Hook |\n|-------|-------|------|\n| Amp | ✓ | |\n| Augment Code | ✓ | |\n| Claude Code | ✓ | ✓ |\n| Cline | ✓ | |\n| Codex | ✓ | |\n| Cursor | ✓ | |\n| Gemini CLI | ✓ | |\n| GitHub Copilot | ✓ | |\n| Junie | ✓ | |\n| Kilo Code | ✓ | |\n| Kiro | ✓ | |\n\n## Requirements\n\n- Node.js 20+\n- TTY terminal for REPL (interactive mode)\n- Git for versioning your context tree\n\n### Platform Notes\n\nAll data is stored locally in `.ace/` directory:\n- **macOS/Windows/Linux**: Standard file system storage\n- **WSL**: Same as Linux, uses standard file system\n\n## Development\n\n```bash\n# Install dependencies\nnpm install\n\n# Build\nnpm run build\n\n# Run in development mode\nnpm run dev\n\n# Run tests\nnpm test\n\n# Run tests in watch mode\nnpm run test:watch\n\n# Lint\nnpm run lint\n\n# Format\nnpm run format\n```\n\n## Git Integration\n\nThe `.ace/` directory is designed to be committed to git:\n\n```bash\n# Initialize git repository\ngit init\n\n# Initialize ACE\nace\n/init\n\n# Commit your context tree\ngit add .ace/\ngit commit -m \"Initialize ACE context tree\"\n\n# The .ace/.gitignore automatically excludes .snapshot.json\n```\n\n## License\n\nMIT\n\n## Publishing\n\nSee [PUBLISHING.md](PUBLISHING.md) for instructions on publishing this package to npm and creating releases.\n","readmeFilename":"README.md"}