Choose the most appropriate channel below based on your needs.
| Resource | Description |
|---|---|
| README | Project overview, quick start, and CLI reference |
| 中文 README | Chinese documentation |
| Architecture Decision Records | ADRs explaining why decisions were made |
| Design Docs | How features are implemented |
| AGENTS.md | Development conventions and engineering rules |
Use GitHub Issues for:
- Bug reports (use the Bug Report template)
- Feature requests (use the Feature Request template)
- Questions about usage (use the Question template)
Before opening a new issue, please:
- Search existing issues to avoid duplicates.
- Use the
--debuglogflag to collect diagnostic information. - Include the JoinCode version, OS, and .NET SDK version in your report.
For general discussion, ideas, and community Q&A, use GitHub Discussions (if enabled) or open an issue with the Question template.
See SECURITY.md. Do not open public issues for security vulnerabilities.
Another dotnet build or testhost process is holding a lock on build
artifacts. Kill stale processes and retry:
Get-Process -Name testhost -ErrorAction SilentlyContinue | Stop-Process -Force
dotnet build App.slnx -c DebugSource generators cache output during incremental builds. After adding or
modifying [Register] classes, rebuild with --no-incremental:
dotnet build Generators.slnx -c Release --no-incrementalUse the non-interactive mode with a timeout for debugging:
jcc --trust --await 20 -p "your prompt here"If the process times out (exit code 1234), run with --debuglog to capture
diagnostic traces.
A great bug report includes:
- Summary: One-sentence description of the problem
- Reproduction steps: Minimal sequence to trigger the bug
- Expected vs. actual behavior
- Environment: OS, .NET SDK version, JoinCode version
- Logs: Output from
--debuglog(trim sensitive data first!)
See CONTRIBUTING.md for how to contribute code, documentation, or fixes.