2.0 KiB
2.0 KiB
id, name, status, depends_on, scope, risk, impact, level
| id | name | status | depends_on | scope | risk | impact | level | |
|---|---|---|---|---|---|---|---|---|
| cli/connect-command | Implement `wraith connect` CLI subcommand with clap | pending |
|
moderate | low | component | implementation |
Description
Implement the wraith connect CLI subcommand using clap with derive macros. Translates ConnectOptions into CLI flags and runs the client session. All options from client.md CLI interface must be supported.
Environment variable defaults: WRAITH_SERVER, WRAITH_IDENTITY as convenience defaults per ADR-011.
--proxy with --transport tcp should warn or be a no-op (ADR-019: client proxy wraps transport, and TCP transport is already direct).
Acceptance Criteria
wraith connectsubcommand flags match client.md CLI interface:--server,--peer,--transport,--identity,--socks5,--forward,--remote-forward,--proxy,--iroh-relay,--tls-server-name,--insecure--serverrequired for tcp/tls transport (validated at parse time or runtime)--peerrequired for iroh transport (validated)--identityrequired for all transports--transportdefaults totcp--socks5defaults to127.0.0.1:1080--forwardis repeatable (clapmultiple_occurrences)--remote-forwardis repeatable- Environment variable defaults:
WRAITH_SERVERfor--server,WRAITH_IDENTITYfor--identity --proxywith--transport tcpprints warning (ADR-019: effectively no-op)- CLI translates args into
ConnectOptionsand callsClientSession::new(opts).run().await - Errors reported to stderr with non-zero exit code
cargo run -p wraith -- connect --helpshows all flags with descriptions
References
- docs/architecture/client.md — CLI Interface section with all flags
- docs/architecture/decisions/011-no-ssh-config-programmatic-api.md — env var defaults
- docs/architecture/decisions/019-proxy-dual-semantics.md — client proxy semantics
Notes
To be filled by implementation agent
Summary
To be filled on completion