Ways to Contribute
Suggest Pairings
Have a font combination that works beautifully together? Share it with the community.
Report Issues
Found a bug or have a feature request? Open an issue on GitHub.
Improve Docs
Help make the documentation clearer and more helpful.
Code Contributions
Contribute to the codebase with bug fixes or new features.
Suggesting New Font Pairings
We’re always looking for high-quality font combinations to add to Fonttrio. Here’s how to suggest a new pairing:Check Existing Pairings
Browse the current collection to ensure your pairing isn’t already included. We currently have 49 curated pairings.
Test Your Combination
Make sure your font pairing:
- Works well together (heading + body + mono)
- Is available on Google Fonts
- Has good readability at various sizes
- Works in both light and dark modes
Open an Issue
Create a new issue on GitHub with:
- Heading font name and link to Google Fonts
- Body font name and link to Google Fonts
- Monospace font name and link to Google Fonts
- Category (Editorial, Clean, Bold, Corporate, Creative)
- Use case (blog, landing page, documentation, etc.)
- Why this combination works well
All fonts must be available on Google Fonts to ensure they work with the
next/font integration.Reporting Issues
Found a bug or have a suggestion? Here’s how to report it:Before Opening an Issue
- Search existing issues to avoid duplicates
- Check if the issue persists in the latest version
- Gather relevant information (browser, OS, Next.js version)
Opening an Issue
- Go to GitHub Issues
- Click “New Issue”
- Provide a clear, descriptive title
- Include:
- Steps to reproduce
- Expected behavior
- Actual behavior
- Screenshots (if applicable)
- Environment details
Code Contributions
Want to contribute code? Here’s how to get started:Development Setup
Run Development Server
Project Structure
Adding a New Pairing
To add a new font pairing to the registry:- Create a pairing file in
registry/pairings/your-pairing.json:
- Build the registry:
- Test your pairing by installing it in a test project:
Code Style
- Use TypeScript for all new code
- Follow the existing code style
- Run
bun run lintbefore committing - Keep commits focused and atomic
- Write clear commit messages
Available Scripts
bun run dev— Start development serverbun run build— Build for productionbun run lint— Run ESLintbun run generate:fonts— Generate font configurationsbun run generate:candidates— Generate pairing candidatesbun run sync:pairings— Sync pairing databun run build:registry— Build registry.json
Pull Request Process
Commit Message Convention
Use conventional commit messages:feat:— New featurefix:— Bug fixdocs:— Documentation changesrefactor:— Code refactoringchore:— Maintenance tasks
Questions?
If you have questions about contributing:- Check the FAQ for common questions
- Open a GitHub Discussion
- Reach out to @kapish_dima on X
License
By contributing to Fonttrio, you agree that your contributions will be licensed under the MIT License.Thank you for helping make Fonttrio better!