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 Claude Code, Codex, or
both.
It validates the server, API key, and project scope (same dry-run as connect),
writes local credentials under ~/.engram, installs the selected native
plugin marketplace package, and finishes with a doctor health check.
Run it without cloning the repo via uvx:
uvx engram-connect install --agent both \
--server <URL> --api-key <KEY>
Before the package is published to PyPI, install straight from git or pipx:
uvx --from "git+https://github.com/Barsoomx/engram.git#subdirectory=packages/cli" \
engram install --agent codex --server <URL> --api-key <KEY>
# or:
pipx install engram-connect
engram install --agent codex --server <URL> --api-key <KEY>
--agent accepts claude-code, codex, or both. Claude Code uses
claude plugin marketplace add plus claude plugin install; Codex uses
codex plugin marketplace add --json plus codex plugin add --json. Override
the binaries with --claude-bin and --codex-bin. Pass
--skip-plugin-install to write credentials and run doctor without touching
either harness. The bundled plugin hooks require python3 >= 3.12 on PATH.
Codex users must review the Engram commands in /hooks and start a new thread.
The installer does not bypass native hook trust.
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 inside the backend container:
docker compose -f deploy/compose/docker-compose.yml run --rm --no-deps \
-v "$PWD:/workspace" -w /workspace \
-v /usr/bin/git:/usr/bin/git:ro \
-v /usr/lib/git-core:/usr/lib/git-core:ro \
-e PYTHONPATH=/workspace/packages/cli --entrypoint python3 api \
-m unittest discover -s packages/cli -p '*_tests.py' -v
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file engram_connect-0.6.1.tar.gz.
File metadata
- Download URL: engram_connect-0.6.1.tar.gz
- Upload date:
- Size: 81.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
967f25cb31cf412efe929933088976c0a72cadab1f23dae35d47961bb0eb93af
|
|
| MD5 |
1769e06d92491d71963b528a73ae1c55
|
|
| BLAKE2b-256 |
96ae86f0941801c4938b5b0e68ae49e7e954a391fe36ba891360ae4eab863038
|
Provenance
The following attestation bundles were made for engram_connect-0.6.1.tar.gz:
Publisher:
publish-pypi.yml on Barsoomx/engram
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
engram_connect-0.6.1.tar.gz -
Subject digest:
967f25cb31cf412efe929933088976c0a72cadab1f23dae35d47961bb0eb93af - Sigstore transparency entry: 2216208265
- Sigstore integration time:
-
Permalink:
Barsoomx/engram@f2ef3d3752358216d628b0bdd57d594dddf02e97 -
Branch / Tag:
refs/tags/engram-connect-v0.6.1 - Owner: https://github.com/Barsoomx
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@f2ef3d3752358216d628b0bdd57d594dddf02e97 -
Trigger Event:
push
-
Statement type:
File details
Details for the file engram_connect-0.6.1-py3-none-any.whl.
File metadata
- Download URL: engram_connect-0.6.1-py3-none-any.whl
- Upload date:
- Size: 89.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b427ddbff31a55e6265021d1bc0cf7524a74861a33ce58f4e383681e8145c543
|
|
| MD5 |
e2baa6b461be475e3ddd5763d93ba7a5
|
|
| BLAKE2b-256 |
518fe5eb7049362d4f4efa0ec88d07730410d5e9bede6fea3191c2c9b05b2aaa
|
Provenance
The following attestation bundles were made for engram_connect-0.6.1-py3-none-any.whl:
Publisher:
publish-pypi.yml on Barsoomx/engram
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
engram_connect-0.6.1-py3-none-any.whl -
Subject digest:
b427ddbff31a55e6265021d1bc0cf7524a74861a33ce58f4e383681e8145c543 - Sigstore transparency entry: 2216208285
- Sigstore integration time:
-
Permalink:
Barsoomx/engram@f2ef3d3752358216d628b0bdd57d594dddf02e97 -
Branch / Tag:
refs/tags/engram-connect-v0.6.1 - Owner: https://github.com/Barsoomx
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@f2ef3d3752358216d628b0bdd57d594dddf02e97 -
Trigger Event:
push
-
Statement type: