Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
96 changes: 96 additions & 0 deletions .github/ISSUE_TEMPLATE/1-bug-report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
name: Bug report
description: Something in GeneLab is broken or misbehaving.
title: "bug: "
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to report a bug. Please read the
[reporting guidelines](https://github.com/KraHsu/GeneLab/blob/main/CONTRIBUTING.md#reporting-issues)
first — the **Troubleshooting** section of the [README](https://github.com/KraHsu/GeneLab#readme)
already covers several known pitfalls (idle GPU with the default CPU sim backend,
Hopper/SM 90 fatbin errors, Wayland viewer failures).
Issues are welcome in English or 中文.
- type: checkboxes
id: preflight
attributes:
label: Pre-flight checklist
options:
- label: I searched existing issues (open and closed) and found no duplicate.
required: true
- label: I checked the README Troubleshooting section — this is not one of the documented pitfalls.
required: true
- label: The bug does not reproduce in a pure Genesis script without GeneLab. (If unsure, leave unchecked and say so below — simulator bugs belong on the Genesis tracker.)
required: false
- type: textarea
id: what-happened
attributes:
label: What happened
description: What went wrong, and what did you expect instead?
validations:
required: true
- type: textarea
id: reproduction
attributes:
label: Steps to reproduce
description: >
Exact commands and, if relevant, a minimal config or extension snippet.
A single `genelab …` invocation against a registered task is ideal.
placeholder: |
uv sync --extra torch-cu128
genelab train GeneLab-Inverted-Pendulum-v0 --max_iterations 10
validations:
required: true
- type: textarea
id: environment
attributes:
label: Environment
description: |
Paste the output of

`python -c "import genelab, genesis, torch; print('genelab', genelab.__version__); print('genesis', genesis.__version__); print('torch', torch.__version__, 'cuda', torch.version.cuda)"`

plus your OS, GPU model, NVIDIA driver version, and the `torch-*` extra you synced.
render: shell
placeholder: |
genelab 0.4.0
genesis 1.2.0
torch 2.8.0 cuda 12.8
OS: Ubuntu 24.04 · GPU: RTX 4090 · driver 570.xx · extra: torch-cu128
validations:
required: true
- type: dropdown
id: rl-backend
attributes:
label: RL backend
description: The backend dispatched by the task's agent config, if the bug involves training/eval.
options:
- Not applicable
- rsl_rl
- skrl
- stable_baselines3
validations:
required: true
- type: dropdown
id: sim-backend
attributes:
label: Simulation backend
description: "`SimulationCfg.gpu` in the task's config (defaults to `False`, the CPU backend)."
options:
- Not applicable / unknown
- CPU (gpu=False, the default)
- GPU (gpu=True)
validations:
required: true
- type: textarea
id: logs
attributes:
label: Logs / traceback
description: Full, untruncated traceback or relevant log output.
render: shell
- type: textarea
id: extra
attributes:
label: Anything else
description: Workarounds tried, regression window (worked on version X), related issues, …
55 changes: 55 additions & 0 deletions .github/ISSUE_TEMPLATE/2-feature-request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: Feature request
description: Propose a new capability or an improvement to an existing one.
title: "feat: "
labels: ["enhancement"]
body:
- type: checkboxes
id: preflight
attributes:
label: Pre-flight checklist
options:
- label: I searched existing issues (open and closed) and found no duplicate.
required: true
- label: This belongs in GeneLab — it is not a simulator feature that should go to the Genesis tracker.
required: true
- type: dropdown
id: area
attributes:
label: Area
options:
- CLI (train / play / eval / export / benchmark / project)
- Registry, configs & extension API
- Environments & managers (actions / observations / rewards / events / terminations)
- Robots & asset zoo
- RL backends (rsl_rl / skrl / stable_baselines3)
- Scene, terrains & sensors
- Documentation & examples
- Other / unsure
validations:
required: true
- type: textarea
id: motivation
attributes:
label: Problem / motivation
description: What are you trying to do that GeneLab currently makes hard or impossible? Concrete use cases beat abstract wishes.
validations:
required: true
- type: textarea
id: proposal
attributes:
label: Proposed solution
description: What should the API / CLI / behavior look like? A sketch of the config or command line is enough.
validations:
required: true
- type: textarea
id: alternatives
attributes:
label: Alternatives considered
description: Workarounds you use today, or designs you rejected and why.
- type: checkboxes
id: contribution
attributes:
label: Contribution
options:
- label: I am willing to open a PR implementing this (see CONTRIBUTING.md for the workflow).
required: false
41 changes: 41 additions & 0 deletions .github/ISSUE_TEMPLATE/3-documentation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: Documentation
description: Report an error, gap, or unclear passage in the docs.
title: "docs: "
labels: ["documentation"]
body:
- type: markdown
attributes:
value: |
The rendered site lives at <https://krahsu.github.io/GeneLab/> (English at `/`, 中文 at `/zh/`).
Every page exists in both languages and they are kept in lockstep — if only one variant is wrong,
say which one.
- type: input
id: page
attributes:
label: Page
description: URL on the docs site, or the source path under `docs/`.
placeholder: https://krahsu.github.io/GeneLab/… or docs/…/page.en.md
validations:
required: true
- type: dropdown
id: language
attributes:
label: Affected language variant
options:
- Both (content problem)
- English page only
- 中文 page only
validations:
required: true
- type: textarea
id: problem
attributes:
label: What is wrong or missing
description: Quote the passage if possible. For commands/config paths that don't work, include the error you got.
validations:
required: true
- type: textarea
id: suggestion
attributes:
label: Suggested fix
description: Optional — proposed wording, or what information the page should add.
27 changes: 27 additions & 0 deletions .github/ISSUE_TEMPLATE/4-question.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Question / help
description: A usage question the docs and README don't answer.
title: "question: "
labels: ["question"]
body:
- type: checkboxes
id: preflight
attributes:
label: Pre-flight checklist
options:
- label: I checked the [documentation](https://krahsu.github.io/GeneLab/) and the README (including Troubleshooting) and didn't find an answer.
required: true
- label: I searched existing issues for the same question.
required: true
- type: textarea
id: question
attributes:
label: Question
description: What are you trying to achieve, and where did you get stuck? Include the commands or config you tried.
validations:
required: true
- type: textarea
id: environment
attributes:
label: Environment (if relevant)
description: GeneLab / Genesis / torch versions, OS, GPU — see the bug form for the one-liner.
render: shell
8 changes: 8 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
blank_issues_enabled: false
contact_links:
- name: GeneLab documentation
url: https://krahsu.github.io/GeneLab/
about: Guides, how-tos, and API reference — check here before filing a question.
- name: Genesis upstream issue tracker
url: https://github.com/Genesis-Embodied-AI/Genesis/issues
about: Bugs that reproduce in a pure Genesis script without GeneLab belong upstream.
23 changes: 23 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,28 @@
# Contributing to GeneLab

## Reporting issues

Bug reports, feature requests, docs fixes, and questions all go through the
[issue forms](https://github.com/KraHsu/GeneLab/issues/new/choose) — blank issues are disabled.
English is preferred; 中文 is fine too.

- **Search first.** Check open *and closed* issues for a duplicate before filing.
- **One problem per issue.** Two bugs means two issues, even if they were found together.
- **Check the README Troubleshooting section.** The idle-GPU default (`SimulationCfg.gpu=False`),
the Hopper/SM 90 fatbin error, and the Wayland viewer failure are documented pitfalls, not bugs.
- **Route simulator bugs upstream.** A problem that reproduces in a pure Genesis script without
GeneLab belongs on the [Genesis tracker](https://github.com/Genesis-Embodied-AI/Genesis/issues);
a cross-link here is welcome if GeneLab is affected too.
- **Make bugs reproducible.** Include the exact command (ideally a single `genelab …` invocation
against a registered task), the full untruncated traceback, and the environment block the bug
form asks for — GeneLab / Genesis / torch versions, OS, GPU, driver, and the `torch-*` extra.
- **Reproduce on the latest release or `main`** when possible — fixes only land there.

The forms apply the primary label (`bug`, `enhancement`, `documentation`, `question`)
automatically; maintainers add the rest (`duplicate`, `wontfix`, `good first issue`, …) during
triage. An issue that goes stale waiting for requested information may be closed and can be
reopened once the information arrives.

## Development setup

GeneLab uses [uv](https://github.com/astral-sh/uv) and requires Python `>=3.12`. Pick exactly one `torch-*` extra — they are mutually exclusive:
Expand Down