Skip to content

Introduce native Rust am CLI with GitHub Releases distribution - #56

Merged
ethanj merged 1 commit into
mainfrom
sync/monorepo-1e0c472
Aug 7, 2026
Merged

Introduce native Rust am CLI with GitHub Releases distribution#56
ethanj merged 1 commit into
mainfrom
sync/monorepo-1e0c472

Conversation

@ethanj

@ethanj ethanj commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Summary

Add a native Rust CLI (am) as the primary AtomicMemory command-line client, distributed via GitHub Releases and an install script, and begin consolidating the npm @atomicmemory/cli (atomicmemory) command surface into it.

Changes

  • Add a Rust workspace (crates/cli, crates/cloud-client, crates/cloud-types, crates/core-types) implementing the am binary: auth (device login, OAuth, token storage), am integrate for MCP install into Cursor, Claude Code, and Codex, am hooks, am memory (ingest, package, scope), am instance, am connect, am config, and related commands.
  • Add ci-rust CI (fmt, clippy, MSRV check, cross-platform tests, cargo-deny) gated on crates/** and root Cargo.* changes.
  • Add release-cli (tag-triggered build, GitHub Release publish, and artifact attestation) and mirror-cli-r2 (mirrors published release assets to get.atomicstrata.ai) workflows, plus scripts/install-cli.sh.
  • Document Rust contribution standards and the atomicmemoryam command map in AGENTS.md, CONTRIBUTING.md, and crates/cli/README.md.
  • Mark @atomicmemory/cli deprecated in favor of am, keeping it published for import --type llmwiki and legacy workflows.
  • Add a reserved-metadata preflight to the MCP server's memory_ingest tool so agents use provenance for lineage and keep metadata for integration keys; update Codex/OpenClaw skill instructions to match.
  • Fix OpenAI chat parameter selection in packages/core for reasoning and token-limit model SKUs.
  • Package versions in this change: @atomicmemory/core 1.2.1, @atomicmemory/cli and @atomicmemory/mcp-server 0.1.5, and the plugin packages 0.2.2.

Why

The npm-only CLI required a Node runtime and had install friction for non-JS environments; a native binary distributed through GitHub Releases and an install script gives users a single, dependency-free entry point while the memory package, SDK-aligned ingest modes, and agent output envelope get consolidated out of the npm package. The reserved-metadata preflight and OpenAI parameter fixes close gaps found while building out am's ingest and MCP-facing surfaces.

Validation

  • pnpm run ci:rust
  • pnpm run test
  • pnpm run docs-contract
  • pnpm run security-compliance
  • pnpm run pack-dry-run

## Summary
Add a native Rust CLI (`am`) as the primary AtomicMemory command-line client, distributed via GitHub Releases and an install script, and begin consolidating the npm `@atomicmemory/cli` (`atomicmemory`) command surface into it.

## Changes
- Add a Rust workspace (`crates/cli`, `crates/cloud-client`, `crates/cloud-types`, `crates/core-types`) implementing the `am` binary: auth (device login, OAuth, token storage), `am integrate` for MCP install into Cursor, Claude Code, and Codex, `am hooks`, `am memory` (ingest, package, scope), `am instance`, `am connect`, `am config`, and related commands.
- Add `ci-rust` CI (fmt, clippy, MSRV check, cross-platform tests, `cargo-deny`) gated on `crates/**` and root `Cargo.*` changes.
- Add `release-cli` (tag-triggered build, GitHub Release publish, and artifact attestation) and `mirror-cli-r2` (mirrors published release assets to `get.atomicstrata.ai`) workflows, plus `scripts/install-cli.sh`.
- Document Rust contribution standards and the `atomicmemory` → `am` command map in `AGENTS.md`, `CONTRIBUTING.md`, and `crates/cli/README.md`.
- Mark `@atomicmemory/cli` deprecated in favor of `am`, keeping it published for `import --type llmwiki` and legacy workflows.
- Add a reserved-metadata preflight to the MCP server's `memory_ingest` tool so agents use `provenance` for lineage and keep `metadata` for integration keys; update Codex/OpenClaw skill instructions to match.
- Fix OpenAI chat parameter selection in `packages/core` for reasoning and token-limit model SKUs.
- Package versions in this change: `@atomicmemory/core` 1.2.1, `@atomicmemory/cli` and `@atomicmemory/mcp-server` 0.1.5, and the plugin packages 0.2.2.

## Why
The npm-only CLI required a Node runtime and had install friction for non-JS environments; a native binary distributed through GitHub Releases and an install script gives users a single, dependency-free entry point while the memory package, SDK-aligned ingest modes, and agent output envelope get consolidated out of the npm package. The reserved-metadata preflight and OpenAI parameter fixes close gaps found while building out `am`'s ingest and MCP-facing surfaces.

## Validation
- `pnpm run ci:rust`
- `pnpm run test`
- `pnpm run docs-contract`
- `pnpm run security-compliance`
- `pnpm run pack-dry-run`
@ethanj
ethanj merged commit 683bd92 into main Aug 7, 2026
16 checks passed
@ethanj
ethanj deleted the sync/monorepo-1e0c472 branch August 7, 2026 08:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant