docs: add contributor docs, community infrastructure, and roadmap rewrite

- Add root CONTRIBUTING.md with incentives (paper acknowledgment, Mac Mini
  giveaway), contribution tiers, PR process, and maintainership path
- Add CODE_OF_CONDUCT.md (Contributor Covenant v2.1)
- Add .pre-commit-config.yaml with ruff lint + format hooks
- Add GitHub issue templates (bug report, feature request, new eval dataset)
- Add PR template with test/lint/format checklist
- Rewrite docs roadmap with GitHub Projects structure, current focus areas,
  and collapsible version history
- Remove Development section from MkDocs nav; replace with top-level Roadmap tab
- Delete changelog, extending docs (consolidated into CONTRIBUTING.md)
- Delete root ROADMAP.md (content now lives in docs site)
- Add pre-commit to dev extras in pyproject.toml
- Add Roadmap link to README

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Jon Saad-Falcon
2026-03-17 03:24:26 +00:00
co-authored by Claude Opus 4.6
parent 8d22ae953d
commit 29beeed32d
17 changed files with 660 additions and 1530 deletions
+95
View File
@@ -0,0 +1,95 @@
name: Bug Report
description: Report a bug or unexpected behavior
labels: ["type:bug"]
body:
- type: markdown
attributes:
value: |
Thank you for reporting a bug! Please fill out the information below to help us investigate.
- type: textarea
id: description
attributes:
label: Description
description: A clear description of what the bug is.
validations:
required: true
- type: textarea
id: steps
attributes:
label: Steps to Reproduce
description: Steps to reproduce the behavior.
placeholder: |
1. Run `jarvis ask "..."`
2. See error...
validations:
required: true
- type: textarea
id: expected
attributes:
label: Expected Behavior
description: What you expected to happen.
validations:
required: true
- type: textarea
id: actual
attributes:
label: Actual Behavior
description: What actually happened.
validations:
required: true
- type: dropdown
id: os
attributes:
label: Operating System
options:
- Linux
- macOS
- Windows
validations:
required: true
- type: dropdown
id: python
attributes:
label: Python Version
options:
- "3.10"
- "3.11"
- "3.12"
- "3.13"
validations:
required: true
- type: dropdown
id: hardware
attributes:
label: Hardware
options:
- NVIDIA GPU
- AMD GPU
- Apple Silicon
- CPU only
validations:
required: true
- type: dropdown
id: engine
attributes:
label: Engine
description: Which inference engine are you using?
options:
- Ollama
- vLLM
- llama.cpp
- SGLang
- MLX
- Cloud (OpenAI/Anthropic/Google)
- LiteLLM
- Other
validations:
required: false
- type: textarea
id: logs
attributes:
label: Logs / Traceback
description: Paste any relevant logs or traceback here.
render: shell
validations:
required: false
+5
View File
@@ -0,0 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: Ask a Question
url: https://github.com/open-jarvis/OpenJarvis/discussions
about: Use Discussions for questions and help
@@ -0,0 +1,47 @@
name: Feature Request
description: Propose a new feature or enhancement
labels: ["type:feature"]
body:
- type: markdown
attributes:
value: |
For non-trivial changes, please open this issue for discussion before starting a PR. This saves everyone time by catching design issues early.
- type: textarea
id: problem
attributes:
label: Problem Statement
description: What problem does this solve? Why is this needed?
validations:
required: true
- type: textarea
id: solution
attributes:
label: Proposed Solution
description: Describe how you'd like this to work.
validations:
required: true
- type: dropdown
id: area
attributes:
label: Primitive Area
description: Which part of OpenJarvis does this touch?
options:
- Intelligence
- Engine
- Agent
- Tools
- Learning
- Evals
- Frontend
- Channels
- Rust
- Other
validations:
required: true
- type: textarea
id: alternatives
attributes:
label: Alternatives Considered
description: Any alternative solutions or features you've considered.
validations:
required: false
+63
View File
@@ -0,0 +1,63 @@
name: New Eval Dataset
description: Propose a new evaluation dataset or benchmark
labels: ["type:eval"]
body:
- type: markdown
attributes:
value: |
Adding eval datasets is one of the easiest ways to contribute! Fill out the details below.
- type: input
id: name
attributes:
label: Dataset Name
placeholder: e.g., HumanEval, GSM8K
validations:
required: true
- type: input
id: url
attributes:
label: URL / Reference
description: Link to the dataset or paper.
placeholder: https://...
validations:
required: true
- type: checkboxes
id: capability
attributes:
label: What capability does it test?
options:
- label: Reasoning
- label: Math
- label: Code
- label: Knowledge
- label: Multimodal
- label: Tool Use
- label: Long Context
- label: Other
- type: input
id: size
attributes:
label: Approximate Size
description: Number of examples in the dataset.
placeholder: e.g., 500
validations:
required: false
- type: dropdown
id: scorer
attributes:
label: Proposed Scorer Type
options:
- Exact Match
- F1
- BLEU
- LLM-as-Judge
- Custom
validations:
required: false
- type: textarea
id: context
attributes:
label: Additional Context
description: Any other details about this dataset.
validations:
required: false
+16
View File
@@ -0,0 +1,16 @@
## What does this PR do?
<!-- Brief description of the change and its motivation -->
## How was this tested?
<!-- Describe tests added or manual testing performed -->
## Checklist
- [ ] Tests pass (`uv run pytest tests/ -v`)
- [ ] Linter passes (`uv run ruff check src/ tests/`)
- [ ] Formatter passes (`uv run ruff format --check src/ tests/`)
- [ ] New/changed public API has docstrings
- [ ] Follows registry pattern (if adding new component)
- [ ] Documentation updated (if applicable)