First off - thanks for taking the time to contribute! 🎉
This project is in pre-alpha bootstrap phase. The Blazor application itself has not yet been scaffolded, so contribution surface is currently limited to tooling, documentation, and repository setup. Once the app lands, this guide will expand.
- Be respectful. This is a small, friendly project.
- Keep PRs focused and small - one logical change per PR.
- Open an issue first if the change is larger than a quick fix - it avoids wasted effort on both sides.
- .NET 10 SDK
just- command runner (winget install Casey.Just/brew install just/cargo install just)
git clone https://github.com/kYaRick/preflight.xml.git
cd preflight.xml
just init # 🧩 configures git hooks + restores packages| Command | Purpose |
|---|---|
just |
📋 list all available recipes |
just run |
🚀 run the app (hot-reload via watch) |
just build |
🏗️ build all projects |
just test |
🧪 run tests |
just format |
🎨 auto-format source |
just lint |
✅ verify formatting - no file changes |
just publish |
📦 produce a release build |
just clean |
🧹 wipe build artifacts |
main- always deployable, protected- Feature branches -
<type>/<short-kebab-summary>, e.g.feat/disk-editor,fix/navmenu-active-state
We use Conventional Commits. The template is already in .gitmessage - set it once:
git config commit.template .gitmessageTypes: feat · fix · docs · style · refactor · perf · test · build · ci · chore · revert
Scopes: ui · xml · pwa · core · ci · docs · deps · config
Example: feat(xml): add disk partitioning editor
- Fork → branch → commit → push → open PR against
main - Fill out the PR template
- Link the related issue (
Closes #123) - Ensure CI is green
- Request review
Reviewers may ask for squash-merge with a clean conventional-commit title.
.editorconfigis the source of truth - your IDE will pick it up automatically.- Warnings are treated as errors. Fix them, don't suppress.
- Prefer Fluent UI Blazor components over custom HTML/CSS.
- No inline styles or hardcoded hex colors - use Fluent Design Tokens.
Once the test project is scaffolded, new features require unit or bUnit component tests. Bug fixes should include a regression test.
Use the Issues tab - templates are provided for bugs, feature requests, and missing options.
For questions and open-ended discussion, use Discussions.
Please report vulnerabilities privately - see SECURITY.md.