{"_id":"@atomicmemory/cli","_rev":"6-7c72d5306fc5c7be9e45b171060c8dac","name":"@atomicmemory/cli","dist-tags":{"latest":"0.1.5"},"versions":{"0.1.0":{"name":"@atomicmemory/cli","version":"0.1.0","keywords":["atomicmemory","memory","cli","ai-memory","semantic-search"],"license":"Apache-2.0","_id":"@atomicmemory/cli@0.1.0","maintainers":[{"name":"atomicstrata","email":"services@atomicstrata.ai"}],"homepage":"https://github.com/atomicstrata/atomicmemory-integrations#readme","bugs":{"url":"https://github.com/atomicstrata/atomicmemory-integrations/issues"},"bin":{"atomicmemory":"dist/bin.js"},"dist":{"shasum":"c9823d8440a7f1cb0dfb345847f1ca2e9a3b230e","tarball":"https://registry.npmjs.org/@atomicmemory/cli/-/cli-0.1.0.tgz","fileCount":361,"integrity":"sha512-yjAalMyqnPTAQgDSxIczOnGrfkwPzCQRM0qaDyQVtXgbS6DbcyzjhW7QmUfrsUUeQ3OscyzI83gb/M77n5FFEw==","signatures":[{"sig":"MEYCIQClo0xXICYuH+bxOOJGve+tcvByiTeMZH7ocv7suTT8nwIhAOxQbo8nMhLzfs3wM8a5+x5HsdF+8CuJsPzP6rISwFyb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":705314},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"f5545bd93a195c3053f2cad66d403837e1e4d13e","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test --import tsx 'src/**/*.test.ts'","build":"tsc -p tsconfig.json","prepack":"pnpm build","typecheck":"tsc -p tsconfig.json --noEmit","test:backend":"node --test --import tsx src/__tests__/backend-gated-smoke.test.ts","sync-versions":"node scripts/sync-versions.mjs","prepublishOnly":"node -e \"const v=require('./package.json').dependencies['@atomicmemory/sdk'];if(v.startsWith('file:')||v.startsWith('link:')){console.error('refusing to publish: @atomicmemory/sdk is '+v+'. Publish the SDK first, then pin to a registry version here.');process.exit(1)}\"","sync-versions:check":"node scripts/sync-versions.mjs --check","test:backend:docker":"node scripts/test-backend-docker.mjs","generate-config-schema":"node --import tsx scripts/generate-config-schema.mjs","check-spec-parser-drift":"node scripts/check-spec-parser-drift.mjs","generate-config-schema:check":"node --import tsx scripts/generate-config-schema.mjs --check"},"_npmUser":{"name":"atomicstrata","email":"services@atomicstrata.ai"},"repository":{"url":"git+https://github.com/atomicstrata/atomicmemory-integrations.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.14.1","description":"AtomicMemory CLI for memory operations, config, status, and agent-friendly JSON output.","directories":{},"_nodeVersion":"25.9.0","dependencies":{"ink":"npm:@jrichman/ink@6.6.9","zod":"^3.23.8","react":"^19.2.6","commander":"^12.1.0","@atomicmemory/sdk":"^1.0.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^20.0.0","@types/react":"^19.2.14","zod-to-json-schema":"^3.23.5"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.0_1778774966793_0.21473872275431827","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@atomicmemory/cli","version":"0.1.1","keywords":["atomicmemory","memory","cli","ai-memory","semantic-search"],"license":"Apache-2.0","_id":"@atomicmemory/cli@0.1.1","maintainers":[{"name":"atomicstrata","email":"services@atomicstrata.ai"}],"homepage":"https://github.com/atomicstrata/atomicmemory-integrations#readme","bugs":{"url":"https://github.com/atomicstrata/atomicmemory-integrations/issues"},"bin":{"atomicmemory":"dist/bin.js"},"dist":{"shasum":"01ff114de81d9a27dc8aff9fca778c846ca005d9","tarball":"https://registry.npmjs.org/@atomicmemory/cli/-/cli-0.1.1.tgz","fileCount":362,"integrity":"sha512-LXw5YGFE/Zs/gQIys4PA2AOt1kZdXx6+num2p5KP4vP0dAyVHpUATuJbciOe6qS9Z7WWviiqUlDYw+c5M4JiEw==","signatures":[{"sig":"MEQCIFo+BCLpzxTh7GqQyxm15eeMyQClb/B4OTp+wdWks++yAiBiqfQws/xU3n/6QCcXIVpXLMco+Pn6MOMAXwHhdz2NgQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":706664},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"216938baef9e9280d9056c2ee3d6a197c362efe5","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test --import tsx 'src/**/*.test.ts'","build":"tsc -p tsconfig.json","prepack":"pnpm build","typecheck":"tsc -p tsconfig.json --noEmit","test:backend":"node --test --import tsx src/__tests__/backend-gated-smoke.test.ts","sync-versions":"node scripts/sync-versions.mjs","prepublishOnly":"node -e \"const v=require('./package.json').dependencies['@atomicmemory/sdk'];if(v.startsWith('file:')||v.startsWith('link:')){console.error('refusing to publish: @atomicmemory/sdk is '+v+'. Publish the SDK first, then pin to a registry version here.');process.exit(1)}\"","sync-versions:check":"node scripts/sync-versions.mjs --check","test:backend:docker":"node scripts/test-backend-docker.mjs","generate-config-schema":"node --import tsx scripts/generate-config-schema.mjs","check-spec-parser-drift":"node scripts/check-spec-parser-drift.mjs","generate-config-schema:check":"node --import tsx scripts/generate-config-schema.mjs --check"},"_npmUser":{"name":"atomicstrata","email":"services@atomicstrata.ai"},"repository":{"url":"git+https://github.com/atomicstrata/atomicmemory-integrations.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.14.1","description":"AtomicMemory CLI for memory operations, config, status, and agent-friendly JSON output.","directories":{},"_nodeVersion":"25.9.0","dependencies":{"ink":"npm:@jrichman/ink@6.6.9","zod":"^3.23.8","react":"^19.2.6","commander":"^12.1.0","@atomicmemory/sdk":"^1.0.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^20.0.0","@types/react":"^19.2.14","zod-to-json-schema":"^3.23.5"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.1_1778797377601_0.1259209892261397","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@atomicmemory/cli","version":"0.1.2","keywords":["atomicmemory","memory","cli","ai-memory","semantic-search"],"license":"Apache-2.0","_id":"@atomicmemory/cli@0.1.2","maintainers":[{"name":"atomicstrata","email":"services@atomicstrata.ai"}],"homepage":"https://github.com/atomicstrata/atomicmemory/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/atomicstrata/atomicmemory/issues"},"bin":{"atomicmemory":"dist/bin.js"},"dist":{"shasum":"93d4dad4f3d288efb4ba7805ad9ab32b379d057b","tarball":"https://registry.npmjs.org/@atomicmemory/cli/-/cli-0.1.2.tgz","fileCount":362,"integrity":"sha512-szkbR+SX5W7Xcl0mN2YLmhEndq2QOhKjLqR89OTsOUIHFLNVBYlIcT3UlOrnsxZiH6wXJylHUnoJR1fITysNcw==","signatures":[{"sig":"MEQCICUg9zClVQJjAnzkEaSFxW1bb92pzl/0VHW/FGmP2s+AAiAEOgFdUBCE90wAU4+0GRVs0RNEW+12Y18laXMlqKkR2Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":706773},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"201677d74fbb3f3cfd5e0dbb5f6904e889dcbb07","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test --import tsx 'src/**/*.test.ts'","build":"tsc -p tsconfig.json","prepack":"pnpm build","typecheck":"tsc -p tsconfig.json --noEmit","test:backend":"node --test --import tsx src/__tests__/backend-gated-smoke.test.ts","sync-versions":"node scripts/sync-versions.mjs","prepublishOnly":"node -e \"const v=require('./package.json').dependencies['@atomicmemory/sdk'];if(v.startsWith('file:')||v.startsWith('link:')){console.error('refusing to publish: @atomicmemory/sdk is '+v+'. Publish the SDK first, then pin to a registry version here.');process.exit(1)}\"","sync-versions:check":"node scripts/sync-versions.mjs --check","test:backend:docker":"node scripts/test-backend-docker.mjs","generate-config-schema":"node --import tsx scripts/generate-config-schema.mjs","check-spec-parser-drift":"node scripts/check-spec-parser-drift.mjs","generate-config-schema:check":"node --import tsx scripts/generate-config-schema.mjs --check"},"_npmUser":{"name":"atomicstrata","email":"services@atomicstrata.ai"},"repository":{"url":"git+https://github.com/atomicstrata/atomicmemory.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.14.1","description":"AtomicMemory CLI for memory operations, config, status, and agent-friendly JSON output.","directories":{},"_nodeVersion":"25.9.0","dependencies":{"ink":"npm:@jrichman/ink@6.6.9","zod":"^3.23.8","react":"^19.2.6","commander":"^12.1.0","@atomicmemory/sdk":"^1.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^20.0.0","@types/react":"^19.2.14","zod-to-json-schema":"^3.23.5"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.2_1779188705885_0.49518240109447764","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@atomicmemory/cli","version":"0.1.3","keywords":["atomicmemory","memory","cli","ai-memory","semantic-search"],"license":"Apache-2.0","_id":"@atomicmemory/cli@0.1.3","maintainers":[{"name":"atomicstrata","email":"services@atomicstrata.ai"}],"homepage":"https://github.com/atomicstrata/atomicmemory/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/atomicstrata/atomicmemory/issues"},"bin":{"atomicmemory":"dist/bin.js"},"dist":{"shasum":"9b484cd1e08433fc50e26be96280bc1412e01149","tarball":"https://registry.npmjs.org/@atomicmemory/cli/-/cli-0.1.3.tgz","fileCount":362,"integrity":"sha512-7QgbNw1dOn0d/31LYJwfJiikXlivrVSk7+kBytm/EbbzMG0WdebuhyDJj1nE/tg8a/Re5Z0ECr/T4VneuVcQ7A==","signatures":[{"sig":"MEQCICWjeYSImYb+XSeyk9utQ7EiJ+4czn4l/2gVeqj7zwy5AiAbJtxwV7N+tCMhu/W2MXjtUggT9+5RUwTZBXdTVi6FJw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":706776},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"65c9fe5b18faaa87b4b5768e7d04309672aeed4f","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test --import tsx 'src/**/*.test.ts'","build":"tsc -p tsconfig.json","prepack":"pnpm build","typecheck":"tsc -p tsconfig.json --noEmit","test:backend":"node --test --import tsx src/__tests__/backend-gated-smoke.test.ts","sync-versions":"node scripts/sync-versions.mjs","prepublishOnly":"node -e \"const v=require('./package.json').dependencies['@atomicmemory/sdk'];if(v.startsWith('file:')||v.startsWith('link:')){console.error('refusing to publish: @atomicmemory/sdk is '+v+'. Publish the SDK first, then pin to a registry version here.');process.exit(1)}\"","sync-versions:check":"node scripts/sync-versions.mjs --check","test:backend:docker":"node scripts/test-backend-docker.mjs","generate-config-schema":"node --import tsx scripts/generate-config-schema.mjs","check-spec-parser-drift":"node scripts/check-spec-parser-drift.mjs","generate-config-schema:check":"node --import tsx scripts/generate-config-schema.mjs --check"},"_npmUser":{"name":"atomicstrata","email":"services@atomicstrata.ai"},"repository":{"url":"git+https://github.com/atomicstrata/atomicmemory.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.14.1","description":"AtomicMemory CLI for memory operations, config, status, and agent-friendly JSON output.","directories":{},"_nodeVersion":"25.9.0","dependencies":{"ink":"npm:@jrichman/ink@6.6.9","zod":"^3.23.8","react":"^19.2.6","commander":"^12.1.0","@atomicmemory/sdk":"^1.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^20.0.0","@types/react":"^19.2.14","zod-to-json-schema":"^3.23.5"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.3_1779342298429_0.5841250588092926","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@atomicmemory/cli","version":"0.1.4","keywords":["atomicmemory","memory","cli","ai-memory","semantic-search"],"license":"Apache-2.0","_id":"@atomicmemory/cli@0.1.4","maintainers":[{"name":"atomicstrata","email":"services@atomicstrata.ai"}],"homepage":"https://github.com/atomicstrata/atomicmemory/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/atomicstrata/atomicmemory/issues"},"bin":{"atomicmemory":"dist/bin.js"},"dist":{"shasum":"c5f5dab67a8287d6c565c16533cdc8526b72c66a","tarball":"https://registry.npmjs.org/@atomicmemory/cli/-/cli-0.1.4.tgz","fileCount":366,"integrity":"sha512-vtunOe5PiD9ugB6vx762R/sjXRAQZqWwEMm+ypnpiithmnot2sBmgP6yZDboPMqE9ORRG/1v7qu2y+iwq6p+Xg==","signatures":[{"sig":"MEUCIQCMoself+DkxnOv3OLFS9oJpRApGaF6JYmEFmluwJDdwAIgc1PDeo4i/tVCn8udjRynNVe83P+IxHXtvIew5LLalw4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@atomicmemory%2fcli@0.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":738710},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"94e957099ba8a6b936254719931e5bafda18fbce","scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"node --test --import tsx 'src/**/*.test.ts'","build":"tsc -p tsconfig.json","prepack":"pnpm build","typecheck":"tsc -p tsconfig.json --noEmit","test:backend":"node --test --import tsx src/__tests__/backend-gated-smoke.test.ts","sync-versions":"node scripts/sync-versions.mjs","prepublishOnly":"node ../../scripts/guards/guard-npm-publish.mjs && node -e \"const v=require('./package.json').dependencies['@atomicmemory/sdk'];if(v.startsWith('file:')||v.startsWith('link:')){console.error('refusing to publish: @atomicmemory/sdk is '+v+'. Publish the SDK first, then pin to a registry version here.');process.exit(1)}\"","sync-versions:check":"node scripts/sync-versions.mjs --check","test:backend:docker":"node scripts/test-backend-docker.mjs","generate-config-schema":"node --import tsx scripts/generate-config-schema.mjs","check-spec-parser-drift":"node scripts/check-spec-parser-drift.mjs","generate-config-schema:check":"node --import tsx scripts/generate-config-schema.mjs --check"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:73558342-8b32-46c3-aa6e-de07b130ca52"}},"repository":{"url":"git+https://github.com/atomicstrata/atomicmemory.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.17.0","description":"AtomicMemory CLI for memory operations, config, status, and agent-friendly JSON output.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"ink":"npm:@jrichman/ink@6.6.9","zod":"^3.23.8","react":"^19.2.6","commander":"^12.1.0","@atomicmemory/sdk":"^1.1.1","@atomicmemory/llmwiki":"^1.1.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^20.0.0","@types/react":"^19.2.14","zod-to-json-schema":"^3.23.5"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.4_1781600514165_0.7740756209324335","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@atomicmemory/cli","version":"0.1.5","description":"AtomicMemory CLI for memory operations, config, status, and agent-friendly JSON output.","type":"module","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"bin":{"atomicmemory":"dist/bin.js"},"repository":{"type":"git","url":"git+https://github.com/atomicstrata/atomicmemory.git","directory":"packages/cli"},"license":"Apache-2.0","keywords":["atomicmemory","memory","cli","ai-memory","semantic-search"],"engines":{"node":">=20"},"scripts":{"build":"tsc -p tsconfig.json","typecheck":"tsc -p tsconfig.json --noEmit","test":"node --test --import tsx 'src/**/*.test.ts'","test:backend":"node --test --import tsx src/__tests__/backend-gated-smoke.test.ts","test:backend:docker":"node scripts/test-backend-docker.mjs","lint":"tsc -p tsconfig.json --noEmit","sync-versions":"node scripts/sync-versions.mjs","sync-versions:check":"node scripts/sync-versions.mjs --check","generate-config-schema":"node --import tsx scripts/generate-config-schema.mjs","generate-config-schema:check":"node --import tsx scripts/generate-config-schema.mjs --check","check-spec-parser-drift":"node scripts/check-spec-parser-drift.mjs","prepack":"pnpm build","prepublishOnly":"node ../../scripts/guards/guard-npm-publish.mjs && node -e \"const v=require('./package.json').dependencies['@atomicmemory/sdk'];if(v.startsWith('file:')||v.startsWith('link:')){console.error('refusing to publish: @atomicmemory/sdk is '+v+'. Publish the SDK first, then pin to a registry version here.');process.exit(1)}\""},"dependencies":{"@atomicmemory/llmwiki":"^1.1.0","@atomicmemory/sdk":"^1.1.1","commander":"^12.1.0","ink":"npm:@jrichman/ink@6.6.9","react":"^19.2.6","zod":"^3.23.8"},"devDependencies":{"@types/node":"^20.0.0","@types/react":"^19.2.14","tsx":"^4.19.0","typescript":"^5.6.0","zod-to-json-schema":"^3.23.5"},"bugs":{"url":"https://github.com/atomicstrata/atomicmemory/issues"},"homepage":"https://github.com/atomicstrata/atomicmemory/tree/main/packages/cli#readme","gitHead":"683bd92c9c77877962d7425e27b50cb83867fd9e","_id":"@atomicmemory/cli@0.1.5","_nodeVersion":"22.23.1","_npmVersion":"12.0.2","dist":{"integrity":"sha512-bAaMGZ+JfTOyOhhnCfpHq3vV7eXS3U5oiUPgUkvGYOVn9rbfVMd3R4gxNPBdn18lj+hnfCNp9qixiwI0I5mJyA==","shasum":"eedd94ef0560f358e2e18f6efa4af512010682af","tarball":"https://registry.npmjs.org/@atomicmemory/cli/-/cli-0.1.5.tgz","fileCount":366,"unpackedSize":739996,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@atomicmemory%2fcli@0.1.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDj+4r6xnq0Z56KQ5i2xOBXMBR3BL3GQ7UUW8v/1T7qTAIgb1jXHuKWIHbwDdXA3nr/lavIqQF8/xrmBv0zltIgRB8="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:73558342-8b32-46c3-aa6e-de07b130ca52"}},"directories":{},"maintainers":[{"name":"atomicstrata","email":"services@atomicstrata.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cli_0.1.5_1786091719225_0.4828060170481465"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-14T16:09:26.691Z","modified":"2026-08-07T08:35:19.777Z","0.1.0":"2026-05-14T16:09:26.943Z","0.1.1":"2026-05-14T22:22:57.777Z","0.1.2":"2026-05-19T11:05:06.029Z","0.1.3":"2026-05-21T05:44:58.626Z","0.1.4":"2026-06-16T09:01:54.334Z","0.1.5":"2026-08-07T08:35:19.376Z"},"bugs":{"url":"https://github.com/atomicstrata/atomicmemory/issues"},"license":"Apache-2.0","homepage":"https://github.com/atomicstrata/atomicmemory/tree/main/packages/cli#readme","keywords":["atomicmemory","memory","cli","ai-memory","semantic-search"],"repository":{"type":"git","url":"git+https://github.com/atomicstrata/atomicmemory.git","directory":"packages/cli"},"description":"AtomicMemory CLI for memory operations, config, status, and agent-friendly JSON output.","maintainers":[{"name":"atomicstrata","email":"services@atomicstrata.ai"}],"readme":"# @atomicmemory/cli\n\n> **Deprecated.** Use the **`am`** CLI instead. See\n> [`crates/cli/README.md`](../../crates/cli/README.md) for the command map and\n> migration status. New features land in `am`.\n>\n> This package remains published and supported for\n> **`import --type llmwiki`**, which has no `am` or SDK equivalent yet (the\n> `@atomicmemory/llmwiki` provider is read-only), and for legacy workflows\n> during transition. The commands below still work; each one except the\n> llmwiki import has an `am` equivalent in the command map.\n>\n> There is deliberately **no runtime deprecation banner**: this CLI's output\n> contracts require `--output quiet` to emit nothing at all, `--agent`/`--json`\n> to keep stderr clean for machine consumers, and only `src/renderers/*` to\n> write to the streams. The deprecation is surfaced in `atomicmemory help`,\n> the changelog, and the smoke contract instead.\n\nHuman- and agent-facing CLI for AtomicMemory memory workflows.\n\nThis package is separate from `@atomicmemory/mcp-server`: `atomicmemory-mcp`\nis a stdio protocol process for agent hosts, while `atomicmemory` is a normal\ncommand-line tool.\n\n## Install\n\nFrom a local checkout, build and link globally:\n\n```bash\npnpm --filter @atomicmemory/cli build\ncd packages/cli\npnpm link --global\n\natomicmemory\n```\n\nWith no arguments in a real terminal, `atomicmemory` opens the interactive\nInk UI. Use `atomicmemory help` for the plain command reference, or\n`atomicmemory --no-interactive` to keep the static help behavior.\n\nIf pnpm reports `ERR_PNPM_NO_GLOBAL_BIN_DIR`, initialize pnpm's global bin\ndirectory first, then restart or source your shell config:\n\n```bash\npnpm setup\nsource ~/.zshrc\ncd packages/cli\npnpm link --global\n```\n\nYou can also test without global linking:\n\n```bash\nnode packages/cli/dist/bin.js\n```\n\nThe interactive UI can also be opened explicitly:\n\n```bash\natomicmemory ui\natomicmemory --interactive\n```\n\nPublic npm install will be:\n\n```bash\nnpm install -g @atomicmemory/cli\n```\n\nThat requires publishing `@atomicmemory/sdk` first. Until the SDK\nexists on npm, this package keeps the same local SDK `file:` dependency used by\nthe rest of the integrations repo.\n\n## Usage\n\n```bash\natomicmemory\natomicmemory init --api-url http://127.0.0.1:17350 --user \"$USER\"\natomicmemory doctor\natomicmemory status\natomicmemory add \"The project uses pnpm workspaces.\"\natomicmemory search \"workspace package conventions\" --limit 5\natomicmemory package \"recent implementation context\" --token-budget 1200\natomicmemory list --limit 20\natomicmemory get <memory-id>\natomicmemory delete <memory-id>\natomicmemory skill get core\natomicmemory hooks install --host codex --runtime node\natomicmemory validate\n```\n\nEvery command accepts the same provider and scope overrides:\n\n```bash\natomicmemory search \"release policy\" \\\n  --provider atomicmemory \\\n  --api-url http://127.0.0.1:17350 \\\n  --user \"$USER\" \\\n  --namespace atomicmemory\n```\n\nThe legacy `atomicmemory memory <command>` group remains as a compatibility\nalias, but the v4 command spec treats the direct commands as canonical:\n\n```bash\natomicmemory search \"release policy\"\natomicmemory add \"Remember this fact\"\natomicmemory list\n```\n\n## Command Groups\n\nThe visible v5 surface is driven by `cli-spec.json`:\n\n| Group | Commands |\n|---|---|\n| `setup` | `init`, `config`, `hooks`, `completion` |\n| `diagnose` | `doctor`, `status`, `validate` |\n| `agent` | `skill`, `help`, `version` |\n| `memory` | `add`, `ingest`, `search`, `package`, `list`, `get`, `delete`, `import` |\n\nUse `atomicmemory help --json` for the machine-readable command tree.\n\n## Deprecated surfaces (not ported to `am`)\n\n| Surface | Fate |\n| --- | --- |\n| `atomicmemory ui` / Ink TUI | Hard-dropped — use host tools + `am` |\n| `--experimental` (`lifecycle`, `audit`, `lessons`, `agents`) | Hard-dropped |\n| `--provider mem0` | Hard-dropped — use SDK/MCP |\n| `atomicmemory validate` | Relocated — `pnpm run validate:cli` (maintainers) |\n| `atomicmemory hooks` | Ported — use `am hooks` |\n| `atomicmemory skill` | Relocated — host skill packages / docs |\n\n## Hook runtime selection\n\nLifecycle hooks are implemented in **`am hooks`**. This npm package still ships\nthe legacy Node hook runtime for transition only.\n\n```bash\nam hooks install --host codex\nam hooks install --host claude-code\n```\n\n## Agent output\n\nUse `--agent` for stable JSON envelopes:\n\n```bash\natomicmemory memory search \"prior decisions\" --agent\n```\n\nSuccess shape:\n\n```json\n{\n  \"status\": \"success\",\n  \"command\": \"search\",\n  \"duration_ms\": 12,\n  \"profile\": \"default\",\n  \"scope\": { \"user\": \"pip\" },\n  \"count\": 1,\n  \"data\": {}\n}\n```\n\nErrors in agent mode are emitted to stdout and exit non-zero.\n\n## Config\n\nThe default config path is `~/.atomicmemory/config.json`.\n\nPrecedence is:\n\n1. CLI flags\n2. `ATOMICMEMORY_*` environment variables\n3. local config file\n4. command defaults\n\nMemory commands require an explicit scope user from flags, environment, or\nconfig. The CLI does not invent a user for provider-backed operations.\n\n`atomicmemory config show` redacts API keys by default. Use\n`atomicmemory init --api-key-stdin` to avoid putting a token in shell history.\n\n## Backend smoke (Docker)\n\nThe backend-gated smoke suite (`pnpm -C packages/cli test:backend`) is skipped\nunless `ATOMICMEMORY_TEST_BACKEND=1` is set against a real\n`@atomicmemory/core` instance. To exercise it deterministically against a\nlocal Docker stack, run:\n\n```bash\npnpm -C packages/cli test:backend:docker\n```\n\nThe harness (`scripts/test-backend-docker.mjs`) brings up\n`docker-compose.yml` + `docker-compose.smoke.yml` from `packages/core`,\nlayers a small CLI-side overlay\n(`scripts/docker/docker-compose.cli-backend.yml`) that routes core's\nLLM at an in-network mock so `/v1/memories/ingest` doesn't 401 on\ncore's smoke `OPENAI_API_KEY=sk-smoke-test-dummy`, polls the real\n`/health` endpoint with a bounded 90-second timeout (no sleep-only\nreadiness), runs `pnpm build` + the backend suite against the resolved\nAPI URL, then tears the stack down. No external API credentials are\nrequired.\n\nConfiguration env vars (all optional):\n\n| Var | Default | Purpose |\n| --- | --- | --- |\n| `ATOMICMEMORY_CORE_PATH` | sibling `../core` | path to the core package root |\n| `ATOMICMEMORY_DOCKER_APP_PORT` | first free port from 3060 | host port for core's app |\n| `ATOMICMEMORY_DOCKER_POSTGRES_PORT` | first free port from 5444 | host port for core's pg |\n| `ATOMICMEMORY_DOCKER_HEALTH_TIMEOUT` | `90` (seconds) | bounded `/health` poll cap |\n| `ATOMICMEMORY_DOCKER_HEALTH_INTERVAL` | `2` (seconds) | poll interval |\n| `ATOMICMEMORY_DOCKER_SKIP_BUILD` | `0` | reuse existing compose images |\n| `ATOMICMEMORY_DOCKER_KEEP_UP` | `0` | leave the stack up after the run for inspection |\n\nRequirements: `docker` daemon running, `docker compose` v2 plugin,\n`pnpm`, and `packages/core` containing both\n`docker-compose.yml` and `docker-compose.smoke.yml`.\n","readmeFilename":"README.md"}