Development
Prerequisites
- Go 1.26+
passCLI +gpg(for testing with a real backend)
Building
git clone https://github.com/ikkun1222/trustless
cd trustless
go build -o trustless .
Testing
go test ./...
Project Structure
├── main.go # CLI entry point & subcommand dispatch
├── plugin.json # Agent Plugins 1.0.0 manifest
├── skills/
│ └── trustless-usage/ # Agent Skills spec-compliant SKILL.md
├── schemas/
│ └── plugin.schema.json # Vendored official Agent Plugins schema
├── internal/
│ ├── backend/
│ │ ├── backend.go # Backend interface + types
│ │ ├── env.go # Environment variable backend
│ │ └── pass.go # Pass CLI backend implementation
│ ├── config/
│ │ └── config.go # TOML config loading/saving (+ policy types)
│ ├── proxy/
│ │ ├── ca.go # MITM CA certificate generation
│ │ ├── command.go # HTTP forward proxy with credential substitution
│ │ └── mitm.go # MITM CONNECT handler (HTTPS interception)
│ ├── run/
│ │ └── command.go # Subprocess credential injection (+ policy check)
│ ├── scanner/
│ │ ├── scanner.go # Pattern-based credential redaction
│ │ └── scanner_test.go # Scanner tests
│ └── secret/
│ └── command.go # Credential store operations
├── scripts/
│ └── validate-plugin.py # Agent Plugins packaging validation
└── docs/
└── design.md # Architecture & design document
Dependencies
trustless has a single external dependency — the rest is all Go standard library:
github.com/pelletier/go-toml/v2— TOML config file parsing
Exit Codes
| Code | Meaning |
|---|---|
| 0 | Success |
| 1 | General error |
| 2 | Credential not found / invalid args |
| 3 | Subprocess error / policy violation / credential in args |
| 4 | Config error |