Skip to main content

Thin Engram command-line client

Project description

CLI

Owns the first engram command-line client for connecting a developer machine to an already-running Engram server.

Current command surface:

python -m engram_cli connect --server URL --api-key KEY --project PROJECT
python -m engram_cli doctor
python -m engram_cli hook post-tool-use < hook.json
python -m engram_cli hook session-start < context.json
python -m engram_cli hook error < hook.json
python -m engram_cli hook decision < hook.json
python -m engram_cli hook session-start --response-format codex < hook.json
python -m engram_cli disconnect

The package declares two console scripts in pyproject.toml that share the same entrypoint: engram (short, for typed commands) and engram-connect (matches the distribution name, so uvx engram-connect ... works without --from).

Plug-and-play install (engram install)

engram install is the one-command onboarding path for a Claude Code harness. It validates the server, API key, and project scope (same dry-run as connect), writes local credentials under ~/.engram, installs the Engram Claude Code plugin through the native claude plugin marketplace, and finishes with a doctor health check.

Run it without cloning the repo via uvx:

uvx engram-connect install \
  --server <URL> --api-key <KEY>```

Before the package is published to PyPI, install straight from git or `pipx`:

```bash
uvx --from "git+https://github.com/Barsoomx/engram.git#subdirectory=packages/cli" \
  engram install --server <URL> --api-key <KEY># or:
pipx install engram-connect
engram install --server <URL> --api-key <KEY>```

The plugin steps run `claude plugin marketplace add <--marketplace-source>` then
`claude plugin install <--plugin-name>@<--marketplace-name>` using the `claude`
binary on PATH (override with `--claude-bin`). Pass `--skip-plugin-install` to
write credentials and run `doctor` without touching the harness. The bundled
plugin hooks require `python3 >= 3.12` on PATH.

Local state defaults to `$ENGRAM_HOME` when set, otherwise `~/.engram`.
`connect` writes only Engram-owned config, credential, and hook-manifest files.
`doctor` is read-only. `disconnect` removes only Engram-owned files.
Hook commands read one JSON object from stdin, merge the connected project,
team, runtime, and credential metadata, and call the Engram server. By default
they print the server JSON response. Codex response mode prints the Codex hook
response instead.

The CLI must not introduce a persistent local memory service, local database,
provider secrets, embeddings, cached memory bundles, durable event queue, or
background summarization behavior.

Run tests from the repository root:

```bash
PYTHONPATH=packages/cli python3 -m unittest discover -s packages/cli -p '*_tests.py' -v

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

engram_connect-0.2.0.tar.gz (39.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

engram_connect-0.2.0-py3-none-any.whl (44.8 kB view details)

Uploaded Python 3

File details

Details for the file engram_connect-0.2.0.tar.gz.

File metadata

  • Download URL: engram_connect-0.2.0.tar.gz
  • Upload date:
  • Size: 39.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for engram_connect-0.2.0.tar.gz
Algorithm Hash digest
SHA256 deb9f42e23ce56ec1980be12b4278babbee2e8ac72318d4bc49c3ce712159f36
MD5 fb06ee6683eac86eec620f58737d880f
BLAKE2b-256 d3c741967383ca6792fb403f7b70c34b2ca62e07d5e70f0dafc5be0c50dc8974

See more details on using hashes here.

Provenance

The following attestation bundles were made for engram_connect-0.2.0.tar.gz:

Publisher: publish-pypi.yml on Barsoomx/engram

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file engram_connect-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: engram_connect-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 44.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for engram_connect-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b7ec181660578be3ea95ed8d95b77c889c598600a3ec56a27278545211583ce6
MD5 af121c7c1f3d18a00e2cbfcf1c0ea30a
BLAKE2b-256 49e3b0ad39b2f0808e7dd74e91fbf5d9b58cff98978da9bd1442efb04c97be51

See more details on using hashes here.

Provenance

The following attestation bundles were made for engram_connect-0.2.0-py3-none-any.whl:

Publisher: publish-pypi.yml on Barsoomx/engram

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page