First off, thank you for considering contributing to LynxPrompt! 🎉
- Fork the repository
- Clone your fork:
git clone https://github.com/YOUR_USERNAME/lynxprompt.git - Install dependencies:
pnpm install - Set up the database:
pnpm db:push && pnpm db:seed - Start developing:
pnpm dev
feature/- New featuresfix/- Bug fixesdocs/- Documentation updatesrefactor/- Code refactoringtest/- Test additions/updates
We follow Conventional Commits:
type(scope): description
[optional body]
[optional footer]
Types: feat, fix, docs, style, refactor, test, chore
Examples:
feat(wizard): add language selection stepfix(generator): handle empty template variablesdocs(readme): update installation instructions
- Create a feature branch from
main - Make your changes
- Run tests:
pnpm test - Run linting:
pnpm lint - Submit a PR with a clear description
# Run all tests
pnpm test
# Run tests with UI
pnpm test:ui
# Run with coverage
pnpm test:coveragesrc/
├── app/ # Next.js App Router pages
├── components/ # React components
│ ├── ui/ # Base UI components (shadcn/ui)
│ ├── forms/ # Form components
│ ├── wizard/ # Wizard step components
│ └── templates/# Template editors
├── lib/ # Utility functions
│ ├── db/ # Database utilities
│ ├── generators/# File generators
│ └── validators/# Zod schemas
├── hooks/ # Custom React hooks
├── stores/ # Zustand stores
└── types/ # TypeScript types
- We use ESLint and Prettier for code formatting
- Run
pnpm formatto format code - Run
pnpm lint:fixto fix linting issues
- Add platform to
prisma/schema.prismaseed data - Create generator in
src/lib/generators/ - Add platform option to wizard
- Update documentation
- Add template type to
TemplateTypeenum in schema - Create template content with variables
- Add generator logic
- Update seed data
Please use the GitHub issue tracker with:
- Clear description
- Steps to reproduce
- Expected vs actual behavior
- Screenshots if applicable
Open an issue with:
- Clear use case
- Proposed solution
- Alternatives considered
Be respectful and inclusive. We follow the Contributor Covenant.
By contributing, you agree that your contributions will be licensed under the GPL-3.0 License.