Contributing
Contribute an official reflex by PR, or share a community reflex from your own repo.
Two ways to get a reflex in front of other people: contribute it to the commons as an official reflex, or share it from your own repo as a community reflex.
Official reflexes
Official reflexes live in /reflexes and are installable by short name (arx add <name>). Each is a small package:
reflexes/no-force-push/
src/index.ts # defineReflex({ name, onToolCall })
reflex.json # manifest: title, description, capabilities, tags
test/ # at least one test
package.json
README.mdTo contribute one:
- Fork
agentreflex/agentreflex. - Add
reflexes/<name>/with the files above. - Make sure
pnpm testpasses, then open a PR.
Official reflexes are held to a higher bar — single-purpose, accurate reflex.json capabilities, and a test that proves both the catch and the non-catch. Maintainers review the source before merge, and the catalog is rebuilt on release.
Community reflexes
Anything else is welcome from your own repo. Publish the reflex as a single .mjs file and share the path — users install it directly:
arx add github:you/reflexes/my-reflex.mjsAdd an entry to awesome-reflexes so others can find it.
Guidelines
- Keep reflexes small and single-purpose; compose rather than bundle.
- Reach for
deny/askdeliberately — prefer the narrowest rule that holds. - Be shell-aware: use
parseCommandsocd x && …can't slip past a check. - Declare what the reflex does in
reflex.json— no surprises.