Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
b0f7ff5
feat(server): add protocol_name() to Server trait
maxholman Feb 23, 2026
15da4d5
fix(version): split print_version into short and verbose
maxholman Feb 23, 2026
e4a3696
fix(output): skip ANSI colour codes when output is not a terminal
maxholman Feb 23, 2026
1a97b55
feat(cli): add --name/-n flag to entry and relay; share generate_node…
maxholman Feb 23, 2026
5dd9bf1
fix(startup): reduce noise, wire --verbose to version, initialise col…
maxholman Feb 23, 2026
1c16b44
fix(relay): add startup header, tighten DNS logging, demote retry to …
maxholman Feb 23, 2026
c5418ac
feat(repl-common): add PrintMsg/DoneGuard, uptime(), and unified prin…
maxholman Feb 23, 2026
29d53ac
feat(entry): startup header, REPL unification, DoneGuard output sync
maxholman Feb 23, 2026
caa250c
feat(exit): startup header, REPL unification, drop state:, DoneGuard …
maxholman Feb 23, 2026
deb37cf
chore(todo): mark completed UX and REPL items
maxholman Feb 23, 2026
f5192f8
fix(website): set astro build format to preserve
maxholman Feb 23, 2026
f435718
chore(task): add reedline migration task spec
maxholman Feb 23, 2026
871cc90
refactor(cli): rename readline feature to repl
maxholman Feb 23, 2026
047eae2
chore(task): update feature name references to repl
maxholman Feb 23, 2026
b4b85ec
chore(task): bloat check is first gate; fix stale feature name refere…
maxholman Feb 23, 2026
e2dadc4
refactor(cli): migrate REPL from rustyline to reedline; consolidate b…
maxholman Feb 23, 2026
69e2341
fix(cli): REPL in entry connect mode; peer name IP; debug log corruption
maxholman Feb 23, 2026
a7439bc
fix(cli): bundle entry node shared state into EntryResources struct
maxholman Feb 23, 2026
201773a
chore(cli): ban reverse-tunnel/mode terminology; fix logging consistency
maxholman Feb 23, 2026
ac6e138
chore(agents): fix readline→repl feature name; fix merge typo
maxholman Feb 23, 2026
178bc86
chore(cli): delete dead session.rs; remove broken JSON output stub
maxholman Feb 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 5 additions & 10 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Before starting any work, read the following standards from the `standards/` sub
- `crates/wallhack` — core logic
- `crates/exit-adapter` — exit node adapter trait + sessions
- `crates/transport`, `crates/netstack`, `crates/protobuf` — supporting crates
- Slim build: `--no-default-features --features slim` (quic + websocket, no readline, no http-api)
- Slim build: `--no-default-features --features slim` (quic + websocket, no repl, no http-api)
- Default build: all features including `http-api` (axum REST API)
- `wallhack` dep in `crates/cli` must have `default-features = false` for feature isolation to work
- ICMP is `#[cfg(unix)]` only
Expand All @@ -37,12 +37,7 @@ Make decisions based on proof, not theory.

## Quality checks

Run `just check` from the repo root before opening a PR. It covers:
- `cargo fmt --check`
- `cargo clippy --all-features`
- cargo build (slim + default profiles)
- `cargo test --all`
- website lint (`biome check`) and build (`astro build`)
Run `just check` from the repo root after finishing a task.

## OpenAPI spec

Expand All @@ -59,11 +54,11 @@ Follow the rules in `./website/WRITING.md`
is allowed and expected when strictly interacting with underlying transport
layers or standard APIs (e.g., initializing a QUIC connection, WebSocket
servers, HTTP APIs).
- Prohibited terms (Domain Logic): When writing mesh topology, routing, or
- Prohibited terms (Domain Logic): When writing topology, routing, or
peer-to-peer domain logic, do not use host, client, server, upstream,
downstream, in, out, up, down, send, receive, local, or remote to describe
downstream, in, out, up, down, send, receive, reverse, or forward to describe
data flows.
- Required terminology (Vectors): Describe mesh data flows using absolute paths
- Required terminology (Vectors): Describe data flows using absolute paths
(source, destination, target) and concrete entities (peer, tun, device).
- Explicit identifiers: Code and logs must use explicit, fixed IDs (e.g., peer1,
dmz1, nodeA). Do not use network roles as variable names.
Expand Down
Loading