AGENTS.md · falconry/falcon
AGENTS.md from falconry/falcon: 117 lines covering Repository map, Change rules, Style, Verification and more.
Template by falconry
Chalk Labs
Need help deploying AGENTS.md · falconry/falcon?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
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/falconry/falcon/master/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
- 117 lines
- File
AGENTS.md
Sections
- Repository map
- Change rules
- Style
- Verification
- Documentation and changelog
- Operator boundaries
First lines (shown under the repo's Apache-2.0 license)
# Falcon Agent Guide
Read `CONTRIBUTING.md` first. Treat `pyproject.toml` and `tox.toml` as the
executable source of truth when prose and configuration differ. In accordance
with the "Use of LLMs" policy in `CONTRIBUTING.md`, carefully review and test
all generated changes.
## Repository map
- `falcon/app.py`, `falcon/request.py`, and `falcon/response.py` implement the
WSGI flavor, as well as base behavior that `falcon/asgi/` subclasses for
ASGI and WebSocket support. More shared behavior lives in modules such as
`falcon/app_helpers.py`, `falcon/routing/`, `falcon/media/`, and
`falcon/util/`.
- `falcon/testing/` contains public test helpers. Primary tests live in
`tests/`, with ASGI-specific coverage in `tests/asgi/`. Tutorial and example
suites have dedicated tox environments.
- `falcon/cyutil/*.pyx` contains optional Cython-optimized counterparts of
pure Python modules such as `falcon/util/reader.py` and `falcon/util/uri.py`.
When available, the optimized versions are selected at import time (in
`falcon/util/uri.py`, `falcon/util/misc.py`, and -- for the buffered
reader -- `falcon/util/__init__.py`). Preserve both modes when changing
these paths, and use a Cython tox environment.
- Documentation is reStructuredText under `docs/`. Put runnable recipe snippets
in `examples/recipes/`; documentation includes them with `literalinclude`.
## Change rules
- Keep patches narrow. Preserve Falcon's public API compatibility, HTTP/RFC
correctness, and Python 3.9+ support on CPython and PyPy unless the task
explicitly changes those contracts.
- Check both WSGI and ASGI surfaces when shared request, response, routing,
middleware, media, error, or testing behavior changes. Add or update the
corresponding tests; do not assume inheritance makes behavior identical.
- Maintain 100% branch coverage for changed behavior, including error and
version-specific paths. Do not add production dependencies casually;
`[project].dependencies` is currently empty.
- Treat request and response hot paths as performance-sensitive. Reuse existing
helpers. When throughput or allocation behavior could change, benchmark with
`tox -e py310_bench -- <falcon-bench args>`.
- Do not bulk-modernize `%` formatting in `falcon/`. `pyproject.toml`
deliberately ignores Ruff's `UP030`, `UP031`, and `UP032` there pending
inspection and benchmarks.
## Style
- Ruff targets Python 3.9, 88 columns, and single quotes.
- Public classes, attributes, methods, and functions require
Napoleon/Google-style docstrings. Start immediately after the opening quotes
with a roughly 70-character summary that ends in a period.
- Name caught exceptions `ex`. Limit single-character names to trivial indices
and standard formulas.
- Format non-trivial tagged comments as
`TODO|NOTE|PERF|APPSEC(<GitHub handle>):`. If the author's handle is
unavailable, do not invent one and don't impersonate other users;
avoid the tagged comment unless necessary.
## Verification
Run commands from the repository root. Start with the focused test, run only
affected specialized environments next, and reserve the complete `tox` gate
for broad or final validation.
- Prepare a development environment by installing the project in editable
mode together with the test dependencies:
`pip install -e . -r requirements/tests`.
- In a prepared development environment, get focused feedback with
`pytest tests/test_<area>.py -k '<case>'` or
`pytest tests/asgi/test_<area>.py -k '<case>'`.
- Run all Python tests and collect coverage data with `tox -e pytest`; check
minimum-dependency compatibility with `tox -e mintest`; verify optional
Cython behavior with a matching environment such as `tox -e py312_cython`.
- Check formatting and lint with `tox -e ruff,pep8,pep8-docstrings`. Apply
formatting and safe fixes only with `tox -e reformat`.
- For typing changes, run `tox -e mypy,mypy_tests`. For documentation or
docstring changes, run `tox -e docs`.
- Always finish with a plain `tox` run without arguments (or `tox -r` to
recreate environments): the default env selection is the complete local
gate, and it must pass together with the 100% combined coverage check
before changes are handed over to the operator.
Documentation-only changes may instead finish with `tox -e docs`.
## Documentation and changelog
- Update user and API documentation when behavior or public contracts change;
build it with `tox -e docs`.
- Functionality changes require
`docs/_newsfragments/{issue_number}.{fragment_type}.rst`. The exact fragment
types are `breakingchange`, `newandimproved`, `bugfix`, and `misc`. Name the
fragment after the issue the change closes; use the PR number itself only
when no associated issue exists.
`tox -e docs` renders pending fragments as a draft into the built
documentation without modifying the changelog file; preview the result
there.
- Never invent an issue or PR number. If none is available, report that the
fragment cannot be named instead of creating a placeholder.
- For recipes, put executable code in `examples/recipes/`, include it from
`docs/user/recipes/`, and add coverage in `tests/test_recipes.py` when
practical.
## Operator boundaries
- Never create, submit, or open a GitHub pull request, regardless of the
mechanism: `gh`, direct API calls, web automation, and pushing a branch and
then accepting GitHub's suggestion all count, and draft pull requests are
still pull requests. Prepare the changes and verification evidence, then ask
the human operator to open the pull request.
- Never tick, check, or otherwise complete a pull request checklist on the
operator's behalf. The human operator must review the changes and complete
every checklist item manually.
- Do not take any other outward actions on Falcon's GitHub repositories
either: opening issues, posting comments or reviews, and editing pull
request metadata are all reserved for the human operator.
See `CONTRIBUTING.md` for commit-message format, full docstring markup rules,
review policy, and contributor conduct.Signals
- Stars
- 9,809
- Forks
- 1,046
- Open issues
- 145
- Last commit (this folder)
- Jul 21, 2026 (3 months ago)
- Last release
- Sep 30, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/falconry/falcon
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get AGENTS.md · falconry/falcon running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
AGENTS.md · falconry/falcon. Agent Mart. https://agentmart.dev/templates/falconry-falcon-agents-md (last updated 2026-10-24)