Thank you for your interest in contributing to CodeSentry! This document provides guidelines and instructions for contributing.
Please be respectful and considerate in all interactions. We welcome contributors of all backgrounds and experience levels.
- Go 1.24+
- Node.js 20+
- Docker (optional)
-
Fork and clone the repository:
git clone https://github.com/your-username/codesentry.git cd codesentry -
Set up the backend:
cd backend cp ../config.yaml.example config.yaml # Edit config.yaml with your settings go run ./cmd/server
-
Set up the frontend:
cd frontend npm install npm run dev -
Access the application at
http://localhost:5173
- Check if the issue already exists
- Use the bug report template
- Include steps to reproduce, expected behavior, and actual behavior
- Include environment details (OS, Go version, Node version)
- Check if the feature has already been suggested
- Describe the use case and expected behavior
- Explain why this feature would be useful
-
Create a new branch from
main:git checkout -b feature/your-feature-name
-
Make your changes following the coding standards
-
Write or update tests as needed
-
Run tests and linting:
# Backend make test make lint # Frontend cd frontend && npm run lint
-
Commit your changes with a clear message:
git commit -m "feat: add new feature description" -
Push and create a pull request
We follow Conventional Commits:
feat:- New featuresfix:- Bug fixesdocs:- Documentation changesstyle:- Code style changes (formatting, etc.)refactor:- Code refactoringtest:- Adding or updating testschore:- Maintenance tasks
Examples:
feat: add Slack notification support
fix: resolve webhook duplicate processing issue
docs: update API documentation
- Follow Effective Go guidelines
- Use
gofmtfor formatting - Run
go vetbefore committing - Write unit tests for new functionality
- Keep functions focused and concise
- Use TypeScript for all new code
- Follow ESLint rules (run
npm run lint) - Use functional components with hooks
- Keep components small and focused
- Use meaningful variable and function names
codesentry/
├── backend/
│ ├── cmd/server/ # Application entry point
│ ├── internal/
│ │ ├── config/ # Configuration
│ │ ├── handlers/ # HTTP handlers
│ │ ├── middleware/ # Auth, CORS middleware
│ │ ├── models/ # Database models
│ │ ├── services/ # Business logic
│ │ └── utils/ # Utilities
│ └── go.mod
├── frontend/
│ ├── src/
│ │ ├── components/ # Shared components
│ │ ├── pages/ # Page components
│ │ ├── services/ # API services
│ │ ├── stores/ # State management
│ │ └── types/ # TypeScript types
│ └── package.json
└── ...
cd backend
go test ./...cd frontend
npm run lint
npm run buildFeel free to open an issue for any questions about contributing.
Thank you for contributing to CodeSentry!