How to Contribute to ANG SILAKBO Developer Guide
Welcome to the ANG SILAKBO contribution guide! We're thrilled that you're interested in helping make our project better. This comprehensive guide will walk you through everything you need to know to make meaningful contributions, whether you're a seasoned developer or just getting started.
ANG SILAKBO is a community-driven platform that relies on contributors like you to grow and improve. Your contributions—whether they're code improvements, bug fixes, documentation updates, or feature suggestions—are invaluable to our project's success.
Before You Begin
Before making contributions, we recommend:
- Reading our Terms Of Services to understand our community guidelines
- Joining our Forums to connect with other contributors
Contributing via GitHub Recommended
Our entire codebase is hosted on GitHub, making it the primary platform for contributions. This section will guide you through the complete process of contributing to ANG SILAKBO via GitHub, from setting up your development environment to getting your changes merged.
Before you can contribute, you'll need to set up your local development environment. This includes installing all necessary dependencies and tools.
# Required tools - Node.js (v16 or later) - npm (v8 or later) - Git # Recommended tools - Visual Studio Code with ESLint and Prettier extensions - GitHub Desktop (if you prefer a GUI for Git operations)
Start by forking our repository to your GitHub account, then clone it to your local machine.
1Fork the Repository
Visit github.com/ang-silakbo/main and click the "Fork" button in the top-right corner. This creates a copy of our repository in your GitHub account that you can freely modify.
2Clone Your Fork
Clone your forked repository to your local machine using the following commands:
3Install Dependencies
Install all required dependencies for the project:
Create a new branch for your contribution. This keeps your changes organized and separate from the main codebase until they're ready to be merged.
Branch Naming Conventions
We follow these prefixes for branch names:
feature/
- For new features or enhancementsfix/
- For bug fixesdocs/
- For documentation changesrefactor/
- For code refactoring with no feature changestest/
- For adding or updating tests
Now you can make your changes to the codebase. Be sure to follow our coding standards and guidelines.
Important Guidelines
- Follow our coding style and conventions
- Write clear, descriptive commit messages
- Include tests for new features or bug fixes
- Update documentation for any changed functionality
- Keep your changes focused - solve one problem per pull request
After making your changes, you can verify that everything works correctly:
Once you're satisfied with your changes, commit them to your branch and push to your fork.
Commit Message Guidelines
We follow a structured commit message format:
type(scope): short description longer description if needed fixes #issue-number
Common types include: feat, fix, docs, style, refactor, test, chore
Example: feat(auth): add email verification
Now it's time to submit your changes for review by creating a pull request (PR).
- Go to the ANG SILAKBO repository
- Click on "Pull Requests" and then "New Pull Request"
- Select your fork and branch as the source
- Select the main repository and branch as the destination
- Fill out the PR template with details about your changes
- Click "Create Pull Request"
Pull Request Checklist
- Descriptive title that summarizes the changes
- Detailed description of what was changed and why
- Reference to any related issues (e.g., "Fixes #123")
- Screenshots or GIFs for UI changes
- List of testing steps to verify the changes
After submitting your PR, our team will review your changes. You may need to make additional changes based on feedback.
Code Contributions
Code contributions are the heart of our project. Whether you're fixing bugs, adding features, or optimizing performance, your code can make a significant impact. This section provides detailed guidance on making code contributions to ANG SILAKBO.
Project Structure
Understanding our project structure will help you navigate the codebase more effectively:
ang-silakbo/ ├── src/ # Source code │ ├── components/ # React components │ ├── hooks/ # Custom React hooks │ ├── pages/ # Page components │ ├── services/ # API and service functions │ ├── styles/ # CSS and style files │ ├── utils/ # Utility functions │ └── App.js # Main application component ├── public/ # Static assets ├── tests/ # Test files ├── docs/ # Documentation ├── .github/ # GitHub configuration ├── package.json # Dependencies and scripts └── README.md # Project overview
Coding Standards
We maintain high coding standards to ensure code quality and consistency. Please follow these guidelines:
- Use ES6+ features when appropriate
- Follow our ESLint and Prettier configurations
- Write meaningful variable and function names
- Add comments for complex logic
- Keep functions small and focused on a single task
- Write unit tests for new functionality
Example: Adding a New Feature
Here's an example of adding a new utility function to format date and time:
Example: Writing Tests
Always include tests for your code contributions. Here's an example test for the date utility functions:
Example: Fixing a Bug
When fixing bugs, it's important to understand the root cause and provide a comprehensive solution. Here's an example of a bug fix:
Documentation Contributions
Good documentation is crucial for any project's success. It helps new users understand how to use our software and enables developers to contribute more effectively. Here's how you can help improve our documentation:
Types of Documentation
We maintain several types of documentation, each serving a different purpose:
Documentation Format
We use Markdown for all our documentation. Here's an example of API documentation for our date utility functions:
Documentation Style Guide
When contributing to documentation, please follow these guidelines:
- Use clear, concise language
- Include practical examples for all functions and features
- Use proper Markdown formatting (headers, code blocks, lists)
- Keep paragraphs short and focused
- Use screenshots or diagrams for complex concepts
- Check spelling and grammar
- Link to related documentation when appropriate
Documentation Testing
Always test your documentation by following your own instructions. If you're documenting code, make sure the examples work as expected.
Need Help?
If you have any questions about contributing to ANG SILAKBO, don't hesitate to reach out:
- Join our community for real-time help
- Check our FAQ for common questions
- Open a discussion on our GitHub repository
- Email us at contribute@angsilakbo.org