Development
Prerequisites
- Rust, 1.85 or later (Cargo is included)
- Git
- Bun, only for the website
Clone and Build
git clone https://github.com/gfirik/pas-agent.git
cd pas-agent
cargo buildRun Tests
cargo testUnit tests live next to the code in pas-agent-core. End-to-end tests that run the real binary live in crates/pas-agent-cli/tests/.
Lint and Format
cargo clippy --all-targets -- -D warnings
cargo fmt --checkWebsite
cd website
bun install
bun run dev # local dev server
bun run build # static output in dist/Project Structure
pas-agent/
├── Cargo.toml # Workspace root
├── crates/
│ ├── pas-agent-core/ # Core library
│ │ ├── Cargo.toml
│ │ └── src/
│ │ ├── lib.rs
│ │ ├── session.rs # Session model
│ │ ├── storage.rs # File persistence
│ │ ├── context.rs # Context generation
│ │ └── git.rs # Git state capture
│ └── pas-agent-cli/ # CLI binary
│ ├── Cargo.toml
│ ├── src/
│ │ └── main.rs
│ └── tests/
│ └── cli.rs # End-to-end CLI tests
├── website/ # Landing page + docs (Astro)
│ └── DESIGN.md # Website design system
├── .github/workflows/ # CI and release builds
├── AGENTS.md # Contributor rules (CLAUDE.md imports it)
└── CONTRIBUTING.mdContributing
PAS-Agent is open source and welcomes contributions. Before submitting a pull request:
- Run
cargo test: all tests must pass - Run
cargo clippy --all-targets -- -D warnings: no warnings - Run
cargo fmt: code must be formatted - Keep changes focused: one feature or fix per PR
License
PAS-Agent is licensed under the MIT License.