This document explains the end-to-end lifecycle of contributions to Zyra, from research and idea exploration through code, documentation, and pull requests. It integrates details from the official CONTRIBUTING guide.
1. Research & Discoveryο
Where: Papers, datasets, GitHub Discussions, Zyra Wiki.
Purpose: Identify gaps, validate ethical/educational impact, and survey existing CLI commands.
Tools:
zyra_capabilities/β canonical per-domain manifest files (seezyra_capabilities_index.jsonfor aliases).zyra_capabilities.jsonβ legacy merged manifest (still updated for compatibility).Issues β see if bugs or enhancements are already reported.
Discussions β explore community design threads.
2. Idea & Proposalο
Where:
Discussions β for philosophy/design.
Issues β for bugs, features, or workflow gaps.
Templates:
Bug Report β label:
bug.Feature Request β label:
enhancement.Workflow Gap β labels:
workflow-gap,enhancement.
3. Branching Modelο
main****: Stable, production-ready branch. Always passes CI/CD.staging****: Integration branch for feature testing before promotion tomain.Feature branches:
Create a branch from
staging, e.g.feature/my-feature.Merge into
stagingonce complete, tested, and reviewed.Maintainers later promote
stagingβmainfor release.
4. Code Developmentο
Pipeline Alignment: Follow Zyraβs modular stages (acquisition β processing β rendering β dissemination).
CLI Manifest: Update
zyra_capabilities.jsonif introducing a new command.Tests: Add unit + integration tests (
pytest).Examples: Provide runnable workflows demonstrating new functionality.
Commit Quality:
Clear commit messages, linked to issue/discussion.
Must include a Signed-off-by line (Developer Certificate of Origin).
Example:Signed-off-by: Jane Doe <jane.doe@example.com>
Optional AI Assistance: Code contributions may optionally be developed using generative AI tools such as OpenAI Codex, Claude Code, or GitHub Copilot. Any AI-assisted code must still meet Zyraβs standards for clarity, reproducibility, and documentation.
5. Documentationο
Two Categories:ο
Docstrings (auto-generated):
Required for all functions, classes, and CLI commands.
Auto-generated into reference docs via Sphinx/pdoc.
Wiki Content (conceptual, educational):
Update directly in the Zyra GitHub Wiki.
Examples: tutorials, best practices, roadmap.
β οΈ The
docs/source/wiki/folder in the repo is a read-only mirror of the Wiki. Do not edit it directly in PRs.
6. Pull Request (PR)ο
Where: GitHub β from contributor branch into
staging.Requirements:
Link to related issue/discussion.
Passing CI (tests, linting, docs build).
Updated docstrings and/or Wiki entry.
Clear changelog entry.
Signed-off-by line in each commit.
7. Review & Mergeο
Reviewers: Community + maintainers.
Checklist:
Alignment with Zyra values (reproducible, modular, educational).
Tests + docs included.
No direct edits to
/docs/source/wiki.Commits include Signed-off-by lines.
Outcome: PR merged into
stagingβ promoted tomainin release cycle.
Example End-to-End Flowο
Researcher notices a gap in comparing datasets.
Posts idea in Discussion β refined into a Feature Request issue.
Contributor codes new
zyra comparecommand, updates docstrings, adds tests + examples.Wiki entry added with tutorial.
PR submitted into
staging, CI passes, reviewers approve.PR merged β later promoted to
mainfor release.