AGENTS.md · pulseaiclub/phi
AGENTS.md from pulseaiclub/phi: 56 lines covering Communication Preferences, Constraints, Contributor Guidelines, Commands and more.
Template by pulseaiclub
Install
Works with Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode, Claude Code. Read the repository before you give any tool access to your data.
curl -fsSL https://raw.githubusercontent.com/pulseaiclub/phi/main/AGENTS.md -o AGENTS.md
Read it and adapt it to your project before use.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: prompt-engineering
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
What's in it
An AGENTS.md file: instructions coding agents (Codex, Cursor, Copilot, Gemini CLI and others) read before working in a repo.
- For
- Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode, Claude Code
- Length
- 56 lines
- File
AGENTS.md
Sections
- Communication Preferences
- Constraints
- Contributor Guidelines
- Commands
- Style
First lines (shown under the repo's MIT license)
# Phi Lean, high-performance Go terminal coding-agent harness. Layout: [doc/project-layout.md](doc/project-layout.md). Humans: [CONTRIBUTING.md](CONTRIBUTING.md). ## Communication Preferences - Dry, concise, low-key humor. No flattery, no forced memes. Skip preambles and postambles. - Comments explain "why", not "what". English only — this repo was migrated off Chinese comments. - Error messages: actionable and specific. No vague "something went wrong". ## Constraints - **Tool loop is ExtensionPre → Gate/Ask → Run → ExtensionPost.** Don't bypass the permission gate when changing the executor. Don't put MCP server tool schemas on the model — MCP rides `ls` / `read` / `write` via `mcp://` URLs. - **Extensions are PXB subprocesses** (`phi.yaml` + native binary under `~/.phi/extensions` / `.phi/extensions`). Wire: `ext/go/pxb`. Author SDK: Go `ext/go/phi` (module `github.com/pulseaiclub/phi/ext/go`). Host: `internal/extension`. See [doc/extensions.md](doc/extensions.md). - **PXB message payloads are generated.** Fields are declared once in `ext/go/pxb/schema.go` (`pxb:"<tag>[,opt]"`); `make generate` writes `msg_gen.go`. Never hand-edit `msg_gen.go` or add encode/decode switches — `make check` runs `generate-check` and fails on drift. The Rust side (`ext/rust/src/pxb/msg.rs`) mirrors the same tags by hand. - **Keep `edit` fail-closed.** Edits are anchored sloppy patches (`*** SM:EDIT` / `*** SM:FIND` / `*** SM:PUT`|`*** SM:AFTER`) applied atomically; a missing or ambiguous anchor must fail with actionable guidance, never fall back to whole-file rewrite. - **Sub-agent transcripts stay under `~/.phi/jobs/<id>/`.** Parent context gets the wait/task summary only. Child engines have no `agent_*` tools (no nesting). Default child role is explore (no write/edit; bash allowed except hard denies). - **UI split:** `internal/components` render; `internal/tui` wires the shell. Non-shell pieces live under `internal/tui/controller` (Engine/Bus/Msg), `internal/tui/transcript` (Mapper); version in `internal/version`. Keep widgets dumb. - **TUI assembly:** `cmd` constructs `controller.Bus` / `controller.Controller` / App and passes them into `editor.NewEditor(...)`, which builds the commands registry (`commands.NewBuiltinRegistry`). Do not hide `GetDefaultProject` inside `tui` constructors; do not return half-initialized Controllers (`engineErr` zombies). Prefer constructor parameters over `XxxDeps` bags. - **Stay lean and fast.** Direct module deps are few on purpose. Don't add a dependency without a clear need. Prefer changes that keep startup, idle RSS, and rebuild time small. - **Format with `make fmt`** (gofumpt / goimports / golines, 120 cols, local prefix `github.com/pulseaiclub/phi`). Don't hand-fight import groups. - **`testing` / `testify` stay in `*_test.go`.** `depguard` will fail the lint otherwise. - **Tests use testify** (`assert` / `require`) for assertions — no raw `t.Fatalf` checks. - After dependency changes: `go mod tidy`. `go.mod` is not generated. ## Contributor Guidelines - Keep changes focused and reviewable. Add or update tests next to the code. - Conventional Commits, English, lowercase, imperative, ≤72 chars. One logical change per commit. - Do not put `@mentions` or `fixes #...` in commit messages (those belong in the PR). - Do not add `Co-authored-by:`. - User-visible changes update `CHANGELOG.md` under `## [Unreleased]`. Only release PRs move entries under `<!-- Released section -->` (requires `Unlock Released Changelog`). Skip with `Skip Changelog` / `dependencies` / `[chore]` in the PR title when no entry is needed. ## Commands ``` make help make test # go test ./... go test ./internal/extension -v # one package make fmt # apply formatters make fmt-check # CI formatting gate make lint # golangci-lint make deadcode # unreachable funcs vs baseline make generate # regenerate ext/go/pxb/msg_gen.go make check # fmt-check + lint + deadcode + generate-check (CI) make build # ./phi ``` ## Style - Packages: lowercase, single word, match the directory (`writetool`, not `write_tool`). - Prefer small packages under `internal/`; keep the exported surface small. - Tests live beside the code they cover.
Signals
- Stars
- 635
- Forks
- 35
- Open issues
- 5
- Last commit (this folder)
- Oct 15, 2026 (13 days ago)
- Last release
- Oct 22, 2026 (6 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/pulseaiclub/phi
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from pulseaiclub
Cite this page
AGENTS.md · pulseaiclub/phi. Agent Mart. https://agentmart.dev/templates/pulseaiclub-phi-agents-md (last updated 2026-10-24)