Thanks for your interest in contributing to Grov! This document outlines how to get started.
- Discord: Join our server - Real-time discussions and support
- Reddit: r/useGrov - Discuss ideas, ask questions, share feedback
- GitHub Issues: Bug reports and feature requests
- Report bugs - Open a bug report
- Suggest features - Open a feature request
- Submit code - Fix bugs, add features, improve documentation
- Security issues - See SECURITY.md for responsible disclosure
- Node.js 20+
- pnpm 9+
# Fork the repo on GitHub, then clone your fork
git clone https://github.com/YOUR_USERNAME/Grov.git
cd Grov
# Install dependencies
pnpm install
# Build
pnpm build
# Test CLI locally
node dist/cli.js --helpThis is a monorepo using pnpm workspaces and Turborepo:
├── src/ # CLI source code (main package)
├── api/ # Backend API server
├── dashboard/ # Next.js web dashboard
├── landing/ # Astro landing page
├── shared/ # Shared types and utilities
pnpm dev # Watch mode for CLI
pnpm dev:api # Run API server
pnpm dev:dashboard # Run dashboard locally
pnpm build:all # Build all packagesUse prefixes for your branches:
feat/- New features (e.g.,feat/semantic-search)fix/- Bug fixes (e.g.,fix/token-refresh)docs/- Documentation (e.g.,docs/api-reference)refactor/- Code refactoringtest/- Test additions/fixes
- Fork the repository
- Create a branch from
main(git checkout -b feat/my-feature) - Make your changes
- Build and verify (
pnpm build) - Push to your fork
- Open a Pull Request against
main
See the PR template for what to include.
- TypeScript - All code is written in TypeScript
- ESM - Project uses ES modules (
"type": "module") - Formatting - Keep code consistent with existing patterns
By contributing, you agree that your contributions will be licensed under the Apache License 2.0.