pinvou-agent
AGENTS.md2.9k starsChanged 3 months agoMITView on GitHub
The contribution workflow — syncing origin/main, conflict-resolution expectations, commit-message format and DCO, PR language, and local/CI checks — is defined once in CONTRIBUTING.md. The rules below restate only what an agent working in this repository must apply to every task: CodeWhale provides the foundation for model calls, streaming output, tool loops, Sessions, Skills, Commands, MCP, Hooks, and Compaction. Pinvou Agent does not reimplement these capabilities. Place extensions according to these boundaries: Pinvou Agent is organized by business capability first and…
Trending
More talk lately.thin dataabout the whole repository
Who's talking about Pinvou/pinvou-agent
- codewhale-hq/Codewhale“fix(shell): preserve Python stdio env defaults”GitHub · Oct 21, 2026 · 1 reactions
- Pinvou/CodeWhale“fix(shell): preserve Python stdio env defaults”GitHub · Oct 21, 2026
- rishibhaskar777/whichai“Discovery watchlist”GitHub · Oct 14, 2026
- Pinvou/CodeWhale“fix(fork): keep terminal task memory consistent when artifact cleanup fails”GitHub · Sep 9, 2026
- Pinvou/CodeWhale“fix: align shell guidance with execution”GitHub · Sep 5, 2026
The biggest 5 of 5 mentions linking to the repository that our crawl found. Each line is their own headline.
Where files are headingNew AGENTS.md files have more rules about keeping secrets out of the code, and fewer about code style.
Of the AGENTS.md files we read, the 31,439 first seen in the last six months, against the older ones: the kind of rule that gained most share, and the kind that lost most. About files like this in general, not this one, and an estimate, since a kind is a pattern in the words.
The file
Show its rules and text
We split this AGENTS.md into the rules it gives an agent
16 rules. About 0 are common, 8 are distinctive, and 8 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈8
Distinctive · estimate
This author's own choices. Worth a look.
8
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 7
If .codex-memory.md exists at the repository root, read it before starting work.
- Distinctive: line 14
Before the final commit and pull request creation, self-review requirement completeness, root cause and related cases, implementation …
- Distinctive: line 21
Place extensions according to these boundaries:
- Distinctive: line 31
Keep Pinvou-specific semantics in the fork only when they must participate in the foundation lifecycle and cannot be implemented in the …
- Very specific: line 32
When adding or modifying fork-distinct behavior, update docs/fork-modifications.md, the relevant fingerprints, and behavior tests in the …
- Distinctive: line 33
When only the CodeWhale gitlink changes without a behavior change, update the register and fingerprints as required by the guard.
- Very specific: line 34
Treat docs/fork-policy.md and docs/fork-modifications.md as the single sources of truth for the fork baseline, size, topics, and …
- Very specific: line 48
Keep business logic in features/.
- Very specific: line 52
Use project npm commands for builds.
- Very specific: line 57
Place new or modified functionality in a clearly scoped feature, platform, or core module.
- Distinctive: line 58
When responsibilities are mixed, state is coupled, dependencies point backward, or independent testing is difficult, split the code …
- Distinctive: line 59
Do not mechanically split files, compress code, or sacrifice naming, comments, error handling, or readability to satisfy a metric.
- Distinctive: line 63
Before starting, search existing issues, pull requests, and foundation capabilities to avoid duplicate work.
- Distinctive: line 68
Use secure defaults and clearly inform users when changes involve network access, uploads, external commands, or new dependencies.
- Very specific: line 69
Never put accounts, passwords, keys, tokens, cookies, customer or private data, or internal addresses in code, commits, pull requests, …
- Very specific: line 77
Start development with ./pinvou3-app/run-dev.sh.
≈ “Common” is an estimate: at least 1 in 5 of the 40,246 AGENTS.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Pinvou Agent Project Conventions
Core constraints
0. Local private memory
- If
.codex-memory.mdexists at the repository root, read it before starting work. It is local private memory and must not be committed.
1. Development and pull request conventions
The contribution workflow — syncing origin/main, conflict-resolution expectations, commit-message format and DCO, PR language, and local/CI checks — is defined once in CONTRIBUTING.md. The rules below restate only what an agent working in this repository must apply to every task:
- Before the first development work for a new task and before creating its pull request, safely sync the latest
origin/mainand align every submodule with the parent repository gitlink. Do not repeatedly sync only becausemainadvances during continued development or review of the same task. Before merge, the Merge Queue runs applicable gates against the combined tree on the latestmain; manually rebase only when a real conflict or queue integration failure requires changing the branch. - Before the final commit and pull request creation, self-review requirement completeness, root cause and related cases, implementation boundaries, impact on existing functionality, exceptional states, and verification sufficiency. Passing tests does not replace this review.
- Fix and verify any in-scope gap found during self-review. Disclose and await a decision for out-of-scope changes, mutually exclusive approaches, unverified scenarios, or regression risks.
2. CodeWhale and fork boundaries
CodeWhale provides the foundation for model calls, streaming output, tool loops, Sessions, Skills, Commands, MCP, Hooks, and Compaction. Pinvou Agent does not reimplement these capabilities.
Place extensions according to these boundaries:
| Change type | Location |
| Domain Agent or tool composition | SKILL.md |
| External API or standalone capability | MCP server / connector |
| Model behavior guidance | Bundle instructions.md |
| UI, Tauri integration, or Engine configuration | pinvou3-app/ |
| Reusable foundation issue | CodeWhale, upstream first |
- Keep Pinvou-specific semantics in the fork only when they must participate in the foundation lifecycle and cannot be implemented in the app, a Skill, or MCP. Prefer contributing reusable fixes upstream.
- When adding or modifying fork-distinct behavior, update
docs/fork-modifications.md, the relevant fingerprints, and behavior tests in the same pull request, then run./scripts/fork-guard.sh --fast. - When only the CodeWhale gitlink changes without a behavior change, update the register and fingerprints as required by the guard. New behavior tests are not mandatory when existing tests can be shown to cover the behavior.
- Treat
docs/fork-policy.mdanddocs/fork-modifications.mdas the single sources of truth for the fork baseline, size, topics, and synchronization process.
3. Cross-platform architecture boundaries
Pinvou Agent is organized by business capability first and platform adaptation second:
| Change type | Location |
| Frontend business logic | pinvou3-app/src/features/<name>/ |
| Tauri / Web host adaptation | pinvou3-app/src/platform/{tauri,web}/ |
| Rust business logic and platform differences | pinvou3-app/src-tauri/src/features/<name>/; feature-specific adapters under its platform/ |
| Cross-feature OS primitives | pinvou3-app/src-tauri/src/platform/; interfaces and OS implementations under platform/os/ |
| Shared resources and platform configuration | pinvou3-app/src-tauri/resources/common/, pinvou3-app/src-tauri/resources/platforms/, pinvou3-app/src-tauri/config/platforms/ |
- Keep business logic in
features/. Only low-level capabilities reused across features belong in the globalplatform/. Dependencies must flowapp → features → platform/core, never in reverse. - React code must not inspect the user agent or access Tauri globals directly. Consume semantic capabilities through
get_platform_capabilitiesandcan(capability). - Express OS differences with
cfg(target_os)and explicit interfaces. Returnunsupportedexplicitly for unavailable capabilities; do not silently reuse another platform's implementation. - If conditional compilation or platform implementation details must remain outside an adapter layer, use an explicit exception supported by the architecture guard, document the concrete reason at the top of the file, and add a test covering the scenario. Exceptions must not be used merely to avoid moving a module.
- Use project npm commands for builds; do not run
npx tauri build/bundledirectly. After changes, runpython3 scripts/architecture-guard.pyand tests for the affected area.
Modular development conventions
- Define module boundaries by responsibility, state ownership, reason for change, dependency direction, and independent testability, not by file length or total repository size.
- Place new or modified functionality in a clearly scoped
feature,platform, orcoremodule. Do not continue adding unrelated responsibilities to an existing module. Coordinate across modules through narrow, stable interfaces. - When responsibilities are mixed, state is coupled, dependencies point backward, or independent testing is difficult, split the code incrementally along behavior boundaries while preserving existing behavior and public API compatibility in every batch.
- Do not mechanically split files, compress code, or sacrifice naming, comments, error handling, or readability to satisfy a metric. File size is a review signal, not a compliance gate.
4. Community edition development conventions
- Before starting, search existing issues, pull requests, and foundation capabilities to avoid duplicate work. Confirm the approach and acceptance criteria before large features or breaking changes.
- Community features must work completely without private services, internal addresses, or enterprise-only data. Integrate enterprise capabilities through generic extension interfaces.
- New features must form a complete, usable workflow and handle key errors, insufficient permissions, and unsupported platforms. Placeholder code or fake data is not a completed implementation.
- Preserve compatibility with existing configuration, data, and public interfaces. Confirm unavoidable breaking changes first and provide a migration path and regression tests.
- Application UI copy must reuse
pinvou3-app/src/shared/i18n.jsand provide Simplified Chinese, English, and Japanese. Do not introduce single-language copy in components or depend on fallback from another language. - Use secure defaults and clearly inform users when changes involve network access, uploads, external commands, or new dependencies. Update tests and documentation with behavior changes.
- Never put accounts, passwords, keys, tokens, cookies, customer or private data, or internal addresses in code, commits, pull requests, examples, or logs. Report suspected disclosures privately according to
SECURITY.md.
Project facts
pinvou3-app/: Tauri 2 + React/Vite desktop application and Engine wrapper.CodeWhale/: Pinvou/CodeWhale submodule; changes follow the CodeWhale and fork boundaries above.- Runtime data is stored under
~/.pinvou3/(sessions,settings.json,bundle,knowledge, andconnectors). - Bundle extension sources live in
pinvou3-app/src-tauri/resources/common/bundle/; they are compiled into the application and extracted to~/.pinvou3/bundle/. - Start development with
./pinvou3-app/run-dev.sh. - The root
VERSIONfile is the single source of truth for the version. After changing it, runnode scripts/sync-version.mjs; CI verifies consistency with--check.
Policy entry points
CONTRIBUTING.md: single source of truth for contribution, DCO, checks, and pull request workflow.CONTRIBUTING.zh-CN.mdis a Chinese reference; when content conflicts,CONTRIBUTING.mdtakes precedence.SECURITY.md: private reporting process for vulnerabilities and sensitive information.docs/fork-policy.md/docs/fork-modifications.md: CodeWhale fork policy and current inventory.pinvou3-app/src/ARCHITECTURE.md,pinvou3-app/src-tauri/src/README.md, andpinvou3-app/src-tauri/config/README.md: frontend, Rust, and platform configuration boundaries.docs/architecture-guard.md: architecture guard rules.docs/commit-message-convention.md: commit message convention.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

