feat: DX, security, installability, and docs overhaul#18
Merged
Tom-De-Santa-FOSS merged 9 commits intomasterfrom Apr 5, 2026
Merged
feat: DX, security, installability, and docs overhaul#18Tom-De-Santa-FOSS merged 9 commits intomasterfrom
Tom-De-Santa-FOSS merged 9 commits intomasterfrom
Conversation
Add Context map to AwnError, 8 category constants, and 9 new error constructors (SessionExited, DaemonNotRunning, DaemonAlreadyRunning, ConnectionFailed, AuthRequired, AuthFailed, InvalidKey, PipelineStepFailed, InvalidDir). Comprehensive test coverage for all constructors, JSON serialization, IsRetryable, ErrorCode, and errors.As unwrapping. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add ListenAndServeUnix() for 0600-permission socket binding, stale socket detection via probe-then-remove, and Close() for graceful listener shutdown and socket cleanup. Convert ListenAndServe() to use net.Listen for shutdown support. Tests cover bind+accept, permissions, stale cleanup, close removal, and TCP-without-token rejection. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Extend Config with Env and Dir fields, validate directory existence, merge environment variables into spawned process. Extend RPC create with env/dir/record/record_path params and input with repeat field. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add NewUnix constructor and Unix socket dial path to call() so the internal client can connect via domain socket when no TCP address is set. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Default to Unix socket at ~/.awn/daemon.sock. Add --tcp flag for explicit TCP mode (requires AWN_TOKEN). Add --socket flag, --version flag, version/commit ldflags, and signal handler with socket cleanup. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Default RPC dialing to Unix socket when AWN_ADDR is unset. Add structured error display with hint lines. Add --env, --dir, --record, --record-path flags to create and --repeat/-n to press. Update daemon start/status for dual transport. Tests for new flag combinations. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
New sdk package with Connect(), 19 typed methods, functional options pattern (WithAddr, WithSocket, WithToken, WithFull, WaitText, etc.), and structured error parsing. Includes comprehensive test suite with mock WebSocket server covering all methods. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add goreleaser v2 config for 3 binaries across linux/darwin/amd64/arm64 with Homebrew tap. Add CI workflow with Go test + race detector on ubuntu/macos matrix and golangci-lint. Update release workflow to tag-triggered goreleaser. Add LDFLAGS to Makefile and version flags to awn-mcp. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Rewrite README with install methods (Homebrew, Go, shell script, binary), full CLI reference, Go SDK examples, architecture diagram, security model, and environment variables. Add SDK reference, error catalog, and updated RPC docs with new transport, fields, and error format sections. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Comprehensive overhaul to beat virtui across developer experience, security, installability, and documentation. Implements epic awn-233 (6 child issues).
--tcpflag requiringAWN_TOKENcreatewith--env,--dir,--recordflags. Added--repeattopressCommits (9 atomic units)
Stats
Test plan
go test -race ./...~/.awn/daemon.sockawn create bash --env FOO=bar --dir /tmpawn create bash --record--tcpmode requiresAWN_TOKENgoreleaser release --snapshot --clean)🤖 Generated with Claude Code