agentleFS
PapilotAIPapilotAI/papilot/AGENTS.md

papilot

AGENTS.md320 starsChanged yesterdayMITView on GitHub

Repository guidelines for coding agents working in Papilot. See CONTRIBUTING for setup and pull request basics. Check package.json scripts and .github/workflows/ci.yml for the current executable checks.

  • 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

18 rules. About 0 are common, 13 are distinctive, and 5 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈13

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 5

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Read the issue, PR discussion, screenshots, logs and relevant code before asking questions.

    line 7
  2. Distinctive:

    Check the current branch and diff, and keep commits focused on the intended change.

    line 14
  3. Distinctive:

    Use a separate branch or worktree for independent changes or PRs, based on the target remote branch rather than assuming local main is …

    line 15
  4. Distinctive:

    When splitting investigation, implementation and review across agents, assign clear scope, acceptance criteria and file/worktree ownership …

    line 16
  5. Distinctive:

    Add or update regression checks wired into the test suite and CI for behavior changes rather than standalone one-off scripts.

    line 23
  6. Distinctive:

    Keep automated tests deterministic and free of live model calls, using disposable fixtures and isolated app data.

    line 24
  7. Distinctive:

    Run targeted checks while iterating, then the full checks for the changed scope.

    line 25
  8. Very specific:

    Check package.json scripts and .github/workflows/ci.yml for the current executable checks.

    line 32
  9. Very specific:

    Use a separate PAPILOT_DATA directory and PAPILOT_PORT when running alongside another instance.

    line 45
  10. Distinctive:

    Keep the interface simple, responsive and consistent with existing controls.

    line 62
  11. Distinctive:

    Use concise, concrete English for default product copy, commit messages and public PRs.

    line 64
  12. Distinctive:

    Write short imperative commit subjects that describe the change.

    line 65
  13. Very specific:

    Keep source UI strings in English with t(...) / tn(...).

    line 66
  14. Very specific:

    Update user docs and changelog entries for user-visible changes.

    line 67
  15. Distinctive:

    Keep each PR to one coherent change following the PR template (problem, resulting behavior, linked issue, validation, limitations and UI …

    line 71
  16. Distinctive:

    Check related issues/PRs and existing review comments.

    line 72
  17. Very specific:

    Keep package.json, package-lock.json, CHANGELOG.md (with compare links) and docs/releases/VERSION/release-notes.md consistent.

    line 76
  18. Distinctive:

    Verify tests, native platform results, translations, docs and visual assets.

    line 78

≈ “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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
AGENTS.md

Papilot development guide

Repository guidelines for coding agents working in Papilot. See CONTRIBUTING for setup and pull request basics.

Workflow

  • Read the issue, PR discussion, screenshots, logs and relevant code before asking questions; ask only for missing details that change the diagnosis or decision.
  • State the observable problem and expected behavior. Reproduce bugs along the reported path before patching when possible, and note what could or could not be reproduced.
  • Carry tasks through implementation, verification, review and the requested delivery steps. If blocked, finish independent work first and report the specific blocker.
  • Report the actual state clearly (investigating, proposed fix, verified locally, CI passed, merged, or released) along with what changed, what was tested, relevant links and any remaining limitations.

Git and parallel work

  • Check the current branch and diff, and keep commits focused on the intended change.
  • Use a separate branch or worktree for independent changes or PRs, based on the target remote branch rather than assuming local main is current.
  • When splitting investigation, implementation and review across agents, assign clear scope, acceptance criteria and file/worktree ownership under a single integrator.
  • Have an independent reviewer check substantial behavior changes against the actual diff and acceptance criteria, then re-verify after resolving findings.
  • Clean up temporary worktrees, branches, servers and files created for the task when finished.

Implementation and verification

  • Fix root causes simply and generally, following surrounding code conventions without fixture-specific special cases, redundant fallback layers, duplicated state or speculative abstractions.
  • Add or update regression checks wired into the test suite and CI for behavior changes rather than standalone one-off scripts.
  • Keep automated tests deterministic and free of live model calls, using disposable fixtures and isolated app data. When live-agent verification is needed, run it separately on disposable examples and report mock and live results separately.
  • Run targeted checks while iterating, then the full checks for the changed scope. Diagnose failures and inspect artifacts rather than rerunning blindly or weakening assertions.
  • For UI changes, exercise the built interface and inspect screenshots across affected desktop/mobile sizes, themes, interactions and states (loading, empty, error, recovery).
  • For platform-specific bugs, verify on the reported platform or native CI covering the failure path, and state if only another OS or simulation was tested.
  • For PDF/LaTeX changes, verify the generated document and the end-to-end review/compile path, not only source-level assertions.

Repository map and checks

Check package.json scripts and .github/workflows/ci.yml for the current executable checks.

AreaLocation
Server, agent adapters, tasks, Git and compilationsrc/server/
React workspace and shared typessrc/web/, src/shared.ts
PDF comparison and review service/viewerengine/ (own npm package, lockfile and tests)
Electron runtime, updates and packagingdesktop/, scripts/desktop*.mjs
CLI, root tests and browser checksbin/, tests/, scripts/check-*.mjs
Website, translations and user documentationsite/, i18n/, docs/
  • Requires Node.js 22.22+, npm, Git and a full TeX distribution when exercising compilation. In a fresh checkout, run npm ci, npm run setup:review and npm run build (see docs/nix.md for Nix).
  • npm run dev watches the backend. Run npm run build and reload after frontend changes; rebuild engine/ when its viewer changes.
  • Use a separate PAPILOT_DATA directory and PAPILOT_PORT when running alongside another instance.
  • Access the review engine through its public HTTP interface rather than writing its SQLite database directly.
Changed scopeVerification
Application codenpm run typecheck, npm test, npm run build
Workspace UIAlso npm run test:ui, with inspected screenshots
Review engineAlso npm --prefix engine run check; relevant npm --prefix engine run test:browser checks for viewer behavior
UI text/translationsnpm run i18n -- check, npm run i18n:check-app; relevant locale/layout checks
Websitenpm run test:site
Desktop/runtime/installersBuild and smoke checks from desktop/README.md, plus affected native CI jobs
Documentation onlyCheck accuracy, links and formatting

Root tests use Node's test runner (node --import tsx --test tests/NAME.test.ts); engine tests use Vitest. Browser checks use Playwright from engine/ (PAPILOT_BROWSER_CHANNEL=chromium in CI).

Product, documentation and language

  • Keep the interface simple, responsive and consistent with existing controls. Expose implementation detail only when it helps the user make a decision.
  • Tie any length, annotation or turn limits to real resource or correctness constraints, using batching or graceful degradation rather than arbitrary caps.
  • Use concise, concrete English for default product copy, commit messages and public PRs.
  • Write short imperative commit subjects that describe the change.
  • Keep source UI strings in English with t(...) / tn(...). Update affected locales and translation state together per i18n/README.md, preserving curated translations and overrides.
  • Update user docs and changelog entries for user-visible changes. When UI shown on the homepage changes, update site/index.html, regenerate README visuals with npm run readme:showcase, and keep translated READMEs and site/ aligned.

Issues, PRs and releases

  • Keep each PR to one coherent change following the PR template (problem, resulting behavior, linked issue, validation, limitations and UI evidence).
  • Check related issues/PRs and existing review comments. Address substantive review findings and verify CI on the latest commit.
  • In issue follow-ups, distinguish fixes on main from fixes available in a published release.
  • For releases, follow .github/workflows/release.yml and desktop/README.md:
    1. Review commits, merged PRs and linked issues since the previous release so notes cover the full delivered scope and built artifacts expose the expected features.
    2. Keep package.json, package-lock.json, CHANGELOG.md (with compare links) and docs/releases/VERSION/release-notes.md consistent.
    3. Credit external contributors and issue reporters with verified GitHub handles and contribution links, keeping repository notes and the GitHub release body in sync.
    4. Verify tests, native platform results, translations, docs and visual assets; document user-visible changes, installation/update steps and known limitations.
    5. Push a vVERSION tag to start the release workflow. The GitHub release title is Papilot VERSION, and its body uses curated versioned notes when available, otherwise the changelog. Verify the workflow, native installers, npm package and update assets through completion, with the update manifest uploaded last.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.