Contributing
Bedrock CLI is open source and welcomes contributions: bug reports, fixes, features, docs, and community templates. This page covers where to send each kind of contribution and what makes a PR easy to review.
Where to contribute
The project lives across three repos. Pick the one that matches what you're changing.
Scaffolder bugs or new features
Keyyard/create-mc-bedrock-cli (opens in a new tab)
This is the create-mc-bedrock CLI: prompts, source pickers, manifest
regeneration, the bundled Custom Workspace template, the website. Open
issues and PRs here for anything about scaffolding behavior.
Compiler bugs or new features
Keyyard/bedrock-build (opens in a new tab)
This is @keyyard/bedrock-build: build, watch, deploy, pack,
the esbuild integration, and config loading. Open issues and PRs here
for anything about the compiler.
Community Templates
Keyyard/custom-mc-scripting-templates (opens in a new tab)
This is the repo of community-curated starter templates surfaced under the "Community Templates" source in the scaffolder. Add a new template by opening a PR with the template files and a short README explaining what it does.
Docs improvements
Docs source lives in the
Keyyard/create-mc-bedrock-cli (opens in a new tab)
repo on the website branch, under website/src/pages/docs/. Open
PRs against website for docs changes (typos, new pages, cookbook
recipes).
See the Cookbook for the specific guide on adding recipes.
General PR guidelines
- Small, focused PRs land faster. One concern per PR. A 10-line bugfix and a 200-line refactor should be two PRs, not one.
- Describe the why, not just the what. The diff already says what changed. The PR body should explain why and what trade-offs you considered.
- Run the build before submitting. For scaffolder and compiler PRs:
npm run build. For docs:cd website && npm run build. If your PR doesn't build locally, the CI is going to say the same thing. - Add tests for behavior changes. Both
create-mc-bedrockandbedrock-buildhave vitest test suites. New behavior should come with a test that pins it down. - Match the existing style. No need to introduce a new linter or formatter for a single PR. If the surrounding code uses a convention, follow it.
Not sure where something fits? Open an issue in the
create-mc-bedrock-cli (opens in a new tab)
repo first and ask. Easier to redirect an issue than re-do a PR.
Reporting issues
A good bug report has four things:
- Reproduction steps. The minimal sequence of commands that
triggers the issue. Ideally starting from
npx create-mc-bedrockor a tiny example workspace. - Node version (
node --version) and OS (Windows version, macOS version, or Linux distro). - The exact command that failed and the full error output. Don't trim the stack trace.
- What you expected to happen versus what did happen.
If you can't reproduce reliably, say so. "Happens about half the time" is still useful signal.
Community
- Discord: discord.gg/EJ4swPKJNU (opens in a new tab) for questions, general discussion, sharing what you're building, and getting help before opening an issue.
- GitHub Issues: the right place for actionable bug reports and feature requests. Use Discord first if you're not sure whether something is a bug.
Code of conduct
Be respectful and constructive. Assume good faith. Disagreements about code are expected; disagreements about people are not. If you see behavior that's out of line, ping a maintainer in Discord or via GitHub.
Related
- Cookbook for the recipe contribution flow.
- Changelog for recent releases.
- Getting Started if you're contributing while still learning the project.