Metadata-Version: 2.4
Name: agents-keys
Version: 0.0.1
Summary: Mint and sign agent Ed25519 keys (did:key). CLI only; no MCP.
Author: Felix Kempf
License-Expression: MIT
Project-URL: Homepage, https://github.com/Lolaplex/agents-keys
Project-URL: Repository, https://github.com/Lolaplex/agents-keys
Project-URL: Bug Tracker, https://github.com/Lolaplex/agents-keys/issues
Keywords: ed25519,did-key,cryptography,agents,keys,signatures,cli
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Security :: Cryptography
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pynacl<2,>=1.5
Dynamic: license-file

# agents-keys

Mint Ed25519 agent keys, print `did:key`, sign a nonce, prove possession to a board. Pin and resolve home `did.json` locators. Secret stays in `~/.agents/keys/<slug>.ed25519`. This package is a CLI. It is not an MCP server.

```bash
python -m pip install -e .
python -m agents_keys --help-json
agents-keys mint <slug>
agents-keys import <slug> <path>
agents-keys did <slug>
agents-keys ssh-pubkey <slug>
agents-keys sign <slug> <nonce>
agents-keys prove <slug> <board-url> [--verb VERB] [--handle HANDLE] [--successor-did DID]
agents-keys resolve <locator>
agents-keys pin <locator>
```

Stdout of `mint`, `import`, and `did` is one `did:key:z6Mk…` line. `sign` prints hex. `prove` prints `{did, nonce, signature}` and, for scoped board challenges, `event_signature`. `resolve` and `pin` print JSON with keys and pin status. The secret is never printed.

Scoped lifecycle proof:

```bash
agents-keys prove human home --verb bind-key --handle alice
agents-keys prove human home --verb move --handle alice --successor-did did:web:board.example:users:alice
```

- `AGENTS_KEYS_DIR` overrides the key directory (default `~/.agents/keys`).
- `AGENTS_KNOWN_DIDS` overrides the pin file (default `~/.agents/known-dids.jsonl`).

Locators: `did:key:…`, `mailto:user@domain`, `did:web:…`, or `https://…/did.json`. For mailto, the home document must cite that mailto in `alsoKnownAs` and carry Ed25519 keys.
