Contributing to node-zugferd
A short guide to contributing to node-zugferd
Thank you for considering contributing to node-zugferd! Your potential involvement is greatly appreciated.
Getting Started
Before diving in, take a look at existing:
Development Setup
1. Fork the repository
Visit https://github.com/jslno/node-zugferd
Click the "Fork" button in the top right.
2. Clone your fork
# Replace YOUR-USERNAME with your GitHub username
git clone https://github.com/YOUR-USERNAME/node-zugferd.git
cd node-zugferd
4. Prepare ENV files
Copy the example env file to create your new .env
file.
cp -n ./docs/.env.example ./docs/.env
Making changes
Once you have an idea on what you want to contribute, you can start making changes. Here are some steps to get started:
1. Create a new branch
# Make sure you're on main
git checkout main
# Pull latest changes
git pull upstream main
# Create and switch to a new branch
git checkout -b feat/your-feature-name
2. Start development server
Start the development server:
pnpm dev
To start the docs server:
pnpm -F docs dev
To start the bun server:
pnpm -F @dev/bun dev
To start the node server:
pnpm -F @dev/node dev
3. Make your changes
-
Make your changes to the codebase.
-
Write tests if needed.
-
Update documentation.
Issues and Bug Fixes
- Check our GitHub issues for tasks labeled
good first issue
- When reporting bugs, include steps to reproduce and expected behavior
- Comment on issues you'd like to work on to avoid duplicate efforts
Documentation
- Fix typos and errors
- Add examples and clarify existing content
- Ensure documentation is up-to-date with code changes
Testing
We use Vitest for testing. Place test files next to the source files they test:
import { describe, it, expect } from "vitest";
describe("Feature", () => {
it("should work as expected", async () => {
// Test code here
expect(result).toBeDefined();
});
});
Best Practices
- Write clear commit messages
- Update documentation to reflect your changes
- Add tests for new features
- Follow our coding standards
- Keep pull requests focused on a single change
Thank you for contributing to node-zugferd!
Need Help?
Don't hesitate to ask for help! You can open an issue with questions.