Problem or motivation
ArcavenAE/forestage currently has no issue templates, no .github/ISSUE_TEMPLATE/ directory, and no CONTRIBUTING.md. Reports come in as free-form issues, which makes triage harder and means environment details (OS, terminal, forestage version, tmux version, Claude Code version, mode — TUI vs --mode claude vs --streaming) are routinely missing from bug reports.
forestage wraps a fast-moving dependency (Claude Code) through a headless subprocess protocol that is itself evolving. Knowing which forestage version, against which Claude Code version, in which mode, on which terminal, is load-bearing for every bug report — guessing is expensive.
Proposed solution
Adopt the issue-template structure already in use at ArcavenAE/ThreeDoors, adapted for forestage's surface area. ThreeDoors ships:
.github/ISSUE_TEMPLATE/bug-report.yml
.github/ISSUE_TEMPLATE/feature-request.yml
.github/ISSUE_TEMPLATE/question.yml
.github/ISSUE_TEMPLATE/config.yml (disables blank issues, links to docs)
.github/PULL_REQUEST_TEMPLATE.md
CONTRIBUTING.md
Adapt the fields for forestage:
Bug report — add:
- Mode dropdown:
forestage (custom TUI), claude (native Claude Code TUI passthrough), --streaming (NDJSON), -p (one-shot prompt)
- Terminal emulator input: e.g.
WezTerm 20240203, Ghostty 1.0.1, Kitty 0.34, iTerm2 3.5, Alacritty 0.13, tmux 3.5a inside Ghostty
- Claude Code version input: from
claude --version
- forestage version input: from
forestage --version
- tmux version (if using sessions): from
tmux -V
- OS dropdown: macOS (Apple Silicon), macOS (Intel), Linux (x86_64), Linux (aarch64), Other
- Existing fields: what happened, expected, steps to reproduce, logs
Feature request — adapt ThreeDoors' structure:
- Problem / motivation
- Proposed solution
- Alternatives considered
- Area dropdown: TUI, session management, persona/themes, portraits, config, distribution/install, NDJSON protocol, Claude Code integration, docs, other
- Philosophy check: link to `SOUL.md` and check that the proposal aligns with BYOA / composability / user sovereignty
Question — copy ThreeDoors' verbatim, swap topic options to match forestage surface area.
config.yml — `blank_issues_enabled: false` + contact link to the charter and `docs/`.
CONTRIBUTING.md — adapt ThreeDoors' contributing guide with forestage-specific notes: gitflow (`develop` as default, stable from `main` via `v*` tags), `just lint` / `just ci` before pushing, conventional commits, no AI attribution per `.claude/rules/git-commits.md`.
Alternatives considered
- Keep free-form issues. Works for a single-user project; breaks down as soon as external bug reports arrive. Session-010 already demonstrated the cost of missing environment detail in bug reports (five fix attempts on a tmux platform bug because the reporter's environment was ambiguous).
- Markdown templates instead of YAML forms. Markdown templates don't enforce required fields, so reporters skip the fields that matter most. The YAML `issue-forms` format gates submission on required inputs.
- Copy from `charmbracelet/bubbletea` or similar TUI project. ThreeDoors is already an Arcaven project with a matching philosophy and an existing template set that's been in use — lower adaptation cost.
Reference
This issue itself is filed before the template exists and will be the first and last free-form issue before the templates land.
Problem or motivation
ArcavenAE/forestagecurrently has no issue templates, no.github/ISSUE_TEMPLATE/directory, and noCONTRIBUTING.md. Reports come in as free-form issues, which makes triage harder and means environment details (OS, terminal, forestage version, tmux version, Claude Code version, mode — TUI vs--mode claudevs--streaming) are routinely missing from bug reports.forestage wraps a fast-moving dependency (Claude Code) through a headless subprocess protocol that is itself evolving. Knowing which forestage version, against which Claude Code version, in which mode, on which terminal, is load-bearing for every bug report — guessing is expensive.
Proposed solution
Adopt the issue-template structure already in use at
ArcavenAE/ThreeDoors, adapted for forestage's surface area. ThreeDoors ships:.github/ISSUE_TEMPLATE/bug-report.yml.github/ISSUE_TEMPLATE/feature-request.yml.github/ISSUE_TEMPLATE/question.yml.github/ISSUE_TEMPLATE/config.yml(disables blank issues, links to docs).github/PULL_REQUEST_TEMPLATE.mdCONTRIBUTING.mdAdapt the fields for forestage:
Bug report — add:
forestage(custom TUI),claude(native Claude Code TUI passthrough),--streaming(NDJSON),-p(one-shot prompt)WezTerm 20240203,Ghostty 1.0.1,Kitty 0.34,iTerm2 3.5,Alacritty 0.13,tmux 3.5a inside Ghosttyclaude --versionforestage --versiontmux -VFeature request — adapt ThreeDoors' structure:
Question — copy ThreeDoors' verbatim, swap topic options to match forestage surface area.
config.yml — `blank_issues_enabled: false` + contact link to the charter and `docs/`.
CONTRIBUTING.md — adapt ThreeDoors' contributing guide with forestage-specific notes: gitflow (`develop` as default, stable from `main` via `v*` tags), `just lint` / `just ci` before pushing, conventional commits, no AI attribution per `.claude/rules/git-commits.md`.
Alternatives considered
Reference
This issue itself is filed before the template exists and will be the first and last free-form issue before the templates land.