+7
-8
CLAUDE.md
+7
-8
CLAUDE.md
···
9
9
## Common Commands
10
10
11
11
- **Build**: `cargo build`
12
-
- **Build with CLI tools**: `cargo build --features clap --bins`
12
+
- **Build with CLI tools**: `cargo build --features clap,hickory-dns --bins`
13
13
- **Run tests**: `cargo test`
14
14
- **Run specific test**: `cargo test test_name`
15
15
- **Check code**: `cargo check`
···
21
21
All CLI tools now use clap for consistent command-line argument processing. Use `--help` with any tool for detailed usage information.
22
22
23
23
#### Identity Management
24
-
- **Resolve identities**: `cargo run --features clap --bin atproto-identity-resolve -- <handle_or_did>`
25
-
- **Resolve with DID document**: `cargo run --features clap --bin atproto-identity-resolve -- --did-document <handle_or_did>`
24
+
- **Resolve identities**: `cargo run --features clap,hickory-dns --bin atproto-identity-resolve -- <handle_or_did>`
25
+
- **Resolve with DID document**: `cargo run --features clap,hickory-dns --bin atproto-identity-resolve -- --did-document <handle_or_did>`
26
26
- **Generate keys**: `cargo run --features clap --bin atproto-identity-key -- generate p256` (supports p256, p384, k256)
27
27
- **Sign data**: `cargo run --features clap --bin atproto-identity-sign -- <did_key> <json_file>`
28
28
- **Validate signatures**: `cargo run --features clap --bin atproto-identity-validate -- <did_key> <json_file> <signature>`
···
44
44
## Architecture
45
45
46
46
A comprehensive Rust workspace with multiple crates:
47
-
- **atproto-identity**: Core identity management with 11 modules (resolve, plc, web, model, validation, config, errors, key, storage, storage_lru, axum)
47
+
- **atproto-identity**: Core identity management with 10 modules (resolve, plc, web, model, validation, config, errors, key, storage, storage_lru)
48
48
- **atproto-record**: Record signature operations and validation
49
49
- **atproto-client**: HTTP client with OAuth and identity integration
50
50
- **atproto-jetstream**: WebSocket event streaming with compression
···
55
55
- **atproto-xrpcs-helloworld**: Complete example XRPC service
56
56
57
57
Features:
58
-
- **12 CLI tools** with consistent clap-based command-line interfaces (optional via `clap` feature)
58
+
- **11 CLI tools** with consistent clap-based command-line interfaces (optional via `clap` feature)
59
59
- **Rust edition 2024** with modern async/await patterns
60
60
- **Comprehensive error handling** with structured error types
61
61
- **Full test coverage** with unit tests across all modules
62
62
- **Modern dependencies** for HTTP, DNS, JSON, cryptographic operations, and WebSocket streaming
63
-
- **Storage abstractions** with LRU caching support (optional via `lru` feature)
64
-
- **Axum integration** for web framework support (optional via `axum` feature)
63
+
- **Storage abstractions** with LRU caching support (enabled by default via `lru` feature)
64
+
- **DNS resolution** with Hickory DNS support (enabled by default via `hickory-dns` feature)
65
65
- **Secure memory handling** (optional via `zeroize` feature)
66
66
67
67
## Error Handling
···
145
145
- **`src/key.rs`**: Cryptographic key operations including signature validation and key identification for P-256, P-384, and K-256 curves
146
146
- **`src/storage.rs`**: Storage abstraction interface for DID document caching
147
147
- **`src/storage_lru.rs`**: LRU-based storage implementation (requires `lru` feature)
148
-
- **`src/axum.rs`**: Axum web framework integration (requires `axum` feature)
149
148
150
149
### CLI Tools (require --features clap)
151
150