Contributing to LynxPrompt

January 30, 2026 ยท View on GitHub

First off, thank you for considering contributing to LynxPrompt! ๐ŸŽ‰

๐Ÿš€ Quick Start

  1. Fork the repository
  2. Clone your fork: git clone https://github.com/YOUR_USERNAME/lynxprompt.git
  3. Install dependencies: pnpm install
  4. Set up the database: pnpm db:push && pnpm db:seed
  5. Start developing: pnpm dev

๐Ÿ“‹ Development Workflow

Branch Naming

  • feature/ - New features
  • fix/ - Bug fixes
  • docs/ - Documentation updates
  • refactor/ - Code refactoring
  • test/ - Test additions/updates

Commit Messages

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 step
  • fix(generator): handle empty template variables
  • docs(readme): update installation instructions

Pull Requests

  1. Create a feature branch from main
  2. Make your changes
  3. Run tests: pnpm test
  4. Run linting: pnpm lint
  5. Submit a PR with a clear description

๐Ÿงช Testing

# Run all tests
pnpm test

# Run tests with UI
pnpm test:ui

# Run with coverage
pnpm test:coverage

๐Ÿ“ Project Structure

src/
โ”œโ”€โ”€ 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

๐ŸŽจ Code Style

  • We use ESLint and Prettier for code formatting
  • Run pnpm format to format code
  • Run pnpm lint:fix to fix linting issues

๐Ÿ“ Adding New AI Platforms

  1. Add platform to prisma/schema.prisma seed data
  2. Create generator in src/lib/generators/
  3. Add platform option to wizard
  4. Update documentation

๐Ÿ“ Adding New Templates

  1. Add template type to TemplateType enum in schema
  2. Create template content with variables
  3. Add generator logic
  4. Update seed data

๐Ÿ› Reporting Bugs

Please use the GitHub issue tracker with:

  • Clear description
  • Steps to reproduce
  • Expected vs actual behavior
  • Screenshots if applicable

๐Ÿ’ก Feature Requests

Open an issue with:

  • Clear use case
  • Proposed solution
  • Alternatives considered

๐Ÿ“œ Code of Conduct

Be respectful and inclusive. We follow the Contributor Covenant.

๐Ÿ“„ License

By contributing, you agree that your contributions will be licensed under the GPL-3.0 License.