Ways to Contribute
There are many ways you can contribute to Chapinismos:High Priority Contributions
- Add new Guatemalan words - The most valuable contribution
- Fix errors in existing definitions - Help improve accuracy
- Improve usage examples - Make examples more natural and contextual
- Report and fix bugs - Help keep the site running smoothly
Medium Priority Contributions
- Improve documentation - Make it easier for others to contribute
- Optimize performance - Help the site load faster
- Improve accessibility - Make the site usable for everyone
- Add tests - Increase code reliability
Low Priority Contributions
- New features - Suggest and build new functionality
- UI/UX improvements - Enhance the user experience
- Code refactoring - Improve code quality and maintainability
Setting Up Your Development Environment
Prerequisites
Before you begin, make sure you have:- Node.js 22+ installed on your machine
- pnpm or npm package manager
- Git for version control
- A GitHub account to fork the repository
Installation Steps
- Fork the repository on GitHub
- Clone your fork to your local machine:
- Install dependencies:
- Start the development server:
- Open your browser and navigate to http://localhost:4321
Adding Your First Word
The easiest way to contribute is by adding new Guatemalan words. Here’s a quick walkthrough:Step 1: Create the Spanish Version
Create a new Markdown file insrc/content/words-es/ with the word in lowercase, without accents, using hyphens for spaces:
Step 2: Create the English Version
Create the same filename insrc/content/words-en/ and translate the content:
Important: Both files must have the exact same filename (e.g.,
chapin.md in both words-es/ and words-en/ directories).Step 3: Validate Your Changes
- Format the code:
- Build the project to ensure there are no validation errors:
Step 4: Test Locally
Start the development server and check that your word appears correctly:- The definition displays correctly
- Examples are formatted properly
- The word appears in the search
- The word shows up in the alphabetical index
Required Fields
When adding a word, these fields are required:word- The word in Spanish or English (depending on the directory)meaning- Clear and concise definitionexamples- Array with at least 2 usage examplescategory- Type of word:- Spanish:
"sustantivo","verbo","adjetivo","expresión","modismo" - English:
"noun","verb","adjective","expression","idiom"
- Spanish:
Optional Fields
region- Defaults to “Guatemala”synonyms- Array of synonymsrelatedWords- Array of related wordsfeatured- Set totrueto highlight on homepage (only use for ~6 most popular words)
Important Contribution Rules
Other Types of Contributions
Reporting Bugs
If you find a bug, open an issue with:- Clear, descriptive title
- Detailed description of the problem
- Steps to reproduce the error
- Expected behavior vs actual behavior
- Screenshots if possible
- Browser/device information
Suggesting Improvements
Have an idea to improve the project?- Check that a similar issue doesn’t already exist
- Open an issue with the “enhancement” label
- Describe clearly:
- What problem your suggestion solves
- How the improvement would work
- Why it would be useful for users
Getting Help
If you need help:- Open an issue with your questions
- Check existing issues with the “question” label
- Read the project documentation
Useful Resources
- Astro Documentation
- Astro Content Collections
- Tailwind CSS Documentation
- Zod Documentation - Validation system used in the project
- Conventional Commits
- Markdown Guide
Ready to contribute? Head over to the Guidelines to learn about code style and conventions, or check out the Pull Request Guide to submit your changes!