Initial release — Astro Rocket v1.0.0
This commit is contained in:
@@ -0,0 +1,93 @@
|
||||
# Contributing to Astro Rocket
|
||||
|
||||
Thank you for your interest in contributing. Astro Rocket is a free, open-source Astro 6 starter theme — every improvement, however small, makes it better for everyone who builds with it.
|
||||
|
||||
## Ways to contribute
|
||||
|
||||
- **Report a bug** — something broken or behaving unexpectedly
|
||||
- **Suggest a feature** — an idea for a new component, page, or configuration option
|
||||
- **Fix a bug** — pick up an open issue and submit a pull request
|
||||
- **Improve documentation** — fix a typo, clarify an instruction, or improve an example
|
||||
- **Improve accessibility** — help make the theme usable for everyone
|
||||
|
||||
## Before you start
|
||||
|
||||
- Check the [open issues](https://github.com/hansmartens68/Astro-Rocket/issues) to avoid duplicating work
|
||||
- For significant changes, open an issue first to discuss the approach before writing code
|
||||
- All contributions are released under the [MIT License](../LICENSE)
|
||||
|
||||
## Development setup
|
||||
|
||||
**Prerequisites:** Node.js ≥ 22.12.0 and pnpm
|
||||
|
||||
```bash
|
||||
# Fork and clone the repo
|
||||
git clone https://github.com/YOUR_USERNAME/Astro-Rocket.git
|
||||
cd Astro-Rocket
|
||||
|
||||
# Copy the environment file
|
||||
cp .env.example .env
|
||||
|
||||
# Install dependencies
|
||||
pnpm install
|
||||
|
||||
# Start the dev server
|
||||
pnpm dev
|
||||
```
|
||||
|
||||
## Branch naming
|
||||
|
||||
| Type | Pattern | Example |
|
||||
|---|---|---|
|
||||
| New feature | `feature/short-description` | `feature/add-breadcrumbs` |
|
||||
| Bug fix | `fix/short-description` | `fix/mobile-nav-overflow` |
|
||||
| Content or config | `update/short-description` | `update/readme-installation` |
|
||||
|
||||
Always branch from `main`.
|
||||
|
||||
## Before submitting a pull request
|
||||
|
||||
All three checks must pass with zero errors:
|
||||
|
||||
```bash
|
||||
pnpm lint # ESLint
|
||||
pnpm check # Astro type checking
|
||||
pnpm build # Production build
|
||||
```
|
||||
|
||||
If any check fails, fix the errors before opening the PR. The CI workflow runs the same checks automatically.
|
||||
|
||||
## Commit messages
|
||||
|
||||
Write clear, specific commit messages that describe what changed and why.
|
||||
|
||||
```
|
||||
# Good
|
||||
Add keyboard navigation to theme selector dropdown
|
||||
Fix contact form validation on mobile Safari
|
||||
Update installation docs to reflect pnpm lockfile requirement
|
||||
|
||||
# Too vague
|
||||
fix
|
||||
update
|
||||
changes
|
||||
```
|
||||
|
||||
## Pull request guidelines
|
||||
|
||||
- Keep pull requests focused — one concern per PR
|
||||
- Reference the issue number if applicable: `Fixes #42`
|
||||
- Fill in the PR description template — describe what changed, why, and how to test it
|
||||
- Be responsive to review feedback
|
||||
|
||||
## Code style
|
||||
|
||||
- TypeScript is required for all `.astro` and `.ts` files
|
||||
- Tailwind utility classes follow the existing ordering conventions
|
||||
- No inline styles unless unavoidable
|
||||
- Components go in `src/components/`, pages in `src/pages/`, layouts in `src/layouts/`
|
||||
- Follow the existing file and folder naming conventions
|
||||
|
||||
## Questions
|
||||
|
||||
Open a [GitHub Discussion](https://github.com/hansmartens68/Astro-Rocket/discussions) or reach out on X at [@hansmartens_dev](https://x.com/hansmartens_dev).
|
||||
Reference in New Issue
Block a user