Code of Conduct
This project and everyone participating in it is governed by the Code of Conduct. By participating, you are expected to uphold this code. To report unacceptable behavior, reach out at brayo.co.Ways to Contribute
If you don’t have time to contribute code, there are other ways to support the project:- Star the project on GitHub
- Tweet about it
- Reference Gitlantis in your project’s readme
- Mention the project at local meetups
- Tell your friends and colleagues
Asking Questions
Before asking a question:- Search existing Issues
- Search the internet for answers
- Open a new issue
- Provide as much context as possible about what you’re running into
Reporting Bugs
Before Submitting a Bug Report
- Ensure you’re using the latest version of Gitlantis
- Determine if your bug is really a bug and not a user error
- Check the bug tracker for existing reports
- Search the internet (including Stack Overflow)
- Collect information:
- Stack trace or error messages
- OS, platform, and version (Windows, Linux, macOS, x86, ARM)
- VS Code version
- Steps to reproduce the issue
- Can you reproduce it reliably? With older versions?
How to Submit a Bug Report
Security Note: Never report security vulnerabilities publicly. Contact the maintainer at brayo.co.- Open an issue
- Explain the expected behavior vs. actual behavior
- Provide detailed reproduction steps
- Include the information you collected above
- The team will label the issue
- A team member will try to reproduce it
- Issues marked
needs-reprowon’t be addressed until reproduced - Reproducible bugs will be marked
help wanted
Suggesting Enhancements
Before Submitting an Enhancement
- Use the latest version of Gitlantis
- Search existing issues for similar suggestions
- Ensure your idea fits the project’s scope and goals
- Consider if it benefits the majority of users
How to Submit an Enhancement
Enhancement suggestions are tracked as GitHub issues.- Use a clear and descriptive title
- Provide a step-by-step description of the enhancement
- Describe the current behavior and expected behavior
- Include screenshots or GIFs if applicable
- Explain why this would be useful to most users
- Reference similar implementations in other projects
Your First Code Contribution
Prerequisites
Before you start, set up your local development environment:Development Setup
Follow the setup guide to install dependencies and run the project locally
Finding an Issue
- Look for issues labeled:
good first issue- Great for newcomershelp wanted- Contributions welcome
- Leave a comment to let others know you’re working on it
- Wait for maintainer approval before starting work
Development Workflow
-
Fork the repository
-
Create a branch
Use descriptive branch names with prefixes:
feature/- For new featuresbug/- For bug fixes
-
Make your changes
- Write clean, readable code
- Follow the existing code style
- Add comments where necessary
- Update documentation if needed
-
Test your changes
- Run linting:
pnpm lint - Check formatting:
pnpm format - Build the extension:
pnpm build - Test in VS Code Extension Development Host (F5)
- Run linting:
-
Commit your changes
Use Conventional Commits format:
Commit Types:
feat:- New featurefix:- Bug fixdocs:- Documentation changesstyle:- Code style changes (formatting, semicolons, etc.)refactor:- Code refactoringtest:- Adding or updating testschore:- Maintenance tasksperf:- Performance improvements
-
Push your branch
-
Open a Pull Request
- Go to the Gitlantis repository
- Click “Compare & pull request”
- Target the
mainbranch - Fill out the PR template:
- Brief description of changes
- Related issue number (if applicable)
- Screenshots/GIFs (if UI changes)
- Testing steps
Code Standards
TypeScript
- Use TypeScript for all new code
- Define proper types (avoid
any) - Use interfaces for object shapes
- Prefer
constoverlet
React
- Use functional components with hooks
- Keep components small and focused
- Extract reusable logic into custom hooks
- Use proper TypeScript types for props
Styling
- Use Tailwind CSS utility classes
- Follow existing naming conventions
- Keep styles consistent with the theme
File Organization
- One component per file
- Use index files for barrel exports
- Group related files in folders
- Follow the existing directory structure
Comments
- Write self-documenting code when possible
- Add comments for complex logic
- Use JSDoc for public APIs
- Explain “why”, not “what”
Pull Request Process
-
Automated Checks
Your PR must pass:
- ESLint validation
- Prettier formatting
- Build without errors
-
Review Process
- A maintainer will review your code
- Address any requested changes
- Keep the discussion professional and constructive
-
Merging
- PRs are merged by maintainers
- Your branch will be deleted after merging
- Your contribution will be credited in the release notes
Git Hooks
The project uses Husky for automated checks:Pre-commit
- Runs ESLint on staged files
- Runs Prettier on staged files
- Auto-fixes issues when possible
- Blocks commit if errors remain
Commit Message
- Validates commit message format
- Ensures conventional commits
- Blocks commits with invalid messages
Legal Notice
When contributing to this project, you must agree that:- You have authored 100% of the content
- You have the necessary rights to the content
- Your content may be provided under the project license
Getting Help
If you need help with your contribution:- Check the documentation
- Review the architecture guide
- Ask in your pull request or issue
- Reach out to the maintainer at brayo.co
Recognition
All contributors will be:- Listed in the project’s contributors
- Mentioned in release notes
- Credited in the README (for significant contributions)