-
Notifications
You must be signed in to change notification settings - Fork 3
Contributing
Contributions are welcome. They are welcome in the sense that a demanding editor welcomes a promising manuscript — with genuine interest in the work and no hesitation whatsoever about returning it if it does not meet the standard.
GödelOS operates at the frontier of a field that is, frankly, not short of charlatans. The gap between what AI systems are and what enthusiastic press releases claim they are is a chasm across which a great deal of reputational currency has been recklessly thrown. This project's commitment is to the opposite approach: to claim only what is measured, to distinguish implemented features from aspirational ones, and to treat the reader — and the code — as capable of handling the truth.
Contributors are expected to share this commitment.
- Read the relevant issue before writing a line of code. If no issue exists for the work you intend to do, create one.
-
Create a branch:
git checkout -b feat/your-featureorfix/your-fix - Write tests before, or alongside, the implementation — not after, when the temptation to make the tests fit the code is at its strongest
-
Run the full suite before opening a pull request:
pytest tests/ -v -
Format the code:
black . && isort . - Open the pull request with a clear description, a link to the issue, and an explanation of the approach taken — not merely of the result achieved
| Language | Standard |
|---|---|
| Python | PEP 8, formatted with black, sorted with isort, type-checked with mypy
|
| Svelte/JS | Standard JavaScript; components named in PascalCase
|
| Commits | Imperative mood, scoped: feat(core): implement phi calculator
|
<type>(<scope>): <short description>
Types: feat, fix, docs, test, refactor, infra, chore
Scopes: core, backend, frontend, tests, wiki, infra
Examples:
feat(core): implement IIT phi calculator with partition-based approximation
fix(tests): resolve stale assertions in test_knowledge_store after interface refactor
docs(wiki): rewrite all pages in the style of a man who means what he says
- All existing tests pass — without modification to make them pass
- New functionality is covered by new tests
- No secrets or credentials committed
- Linked to an issue
- API or schema changes are documented in the PR description
| Label | Meaning |
|---|---|
enhancement |
New feature or improvement |
bug |
Something is broken in a way it should not be |
documentation |
Documentation only — but documentation matters |
research |
Theoretical or exploratory work |
codex |
Agent-assigned task |
One final observation: the best contribution one can make to a project of this kind is not a feature, however clever, but the discipline to ensure that what is already there works correctly. The 167 pre-existing test failures are a more pressing problem than any new capability. Fix what is broken before building what is new. This is good advice in engineering; it is, one suspects, good advice more generally.