First of all — thank you for being here.
Reflex is not just code.
It is a living system of ideas, people, responsibility, and respect.
By contributing, you agree to follow our Code of Conduct.
- People > Code
- Clarity > Cleverness
- Useful > Fancy
- Tested > Believed
- Documented > Assumed
You can contribute by:
- Writing code
- Improving documentation
- Adding tests or benchmarks
- Reporting issues (clearly and respectfully)
- Reviewing PRs
- Proposing ideas (with reasoning)
Quality > Quantity
Ask yourself:
- Is this needed?
- Is it clear?
- Is it tested?
- Is it documented (even briefly)?
- Would I feel safe receiving this PR?
If any answer is “no” — improve before submitting.
We prefer:
- Clear, respectful language
- Structured thoughts
- Examples over abstraction
- Humility over ego
- Questions over assumptions
Avoid:
- “This is stupid”
- “You should know this”
- “Obviously…”
- Aggressive tone
Instead use:
- “I believe…”
- “Maybe we could…”
- “What if…”
- “Let’s check…”
Use plain, descriptive messages:
fix: prevent double scheduling in schedulerdocs: clarify ownership modelperf: reduce allocations in signal graphtest: add cases for async ordering
No poetry. No drama. Just facts.
We care about:
- Readability
- Predictability
- Minimal magic
- Clear names
- Stable behavior
- Measurable performance
If something is clever but unreadable — we do not accept it.
If you propose architectural or theoretical changes:
Include:
- Problem statement
- Proposed solution
- Trade-offs
- Alternatives considered
- Example use-case
This is required. No exceptions.
If you feel unsure about anything:
Open a discussion.
Ask a question.
Request clarification.
There is no shame in asking.
There is only shame in ego.
A Reflex contributor is not someone who writes code.
A Reflex contributor is someone who makes the space stronger.