Thank you for your interest in contributing to ReactPress! We welcome contributions from the community to help improve the project.
Please read and follow our Code of Conduct to ensure a welcoming and inclusive environment for all contributors.
- Fork the repository
- Clone your fork:
git clone https://github.com/your-username/reactpress.git - Create a new branch:
git checkout -b feature/your-feature-name - Make your changes
- Commit your changes:
git commit -m "Add your feature description" - Push to your fork:
git push origin feature/your-feature-name - Create a pull request
- Node.js >= 16.5.0
- pnpm >= 7.0.0
- MySQL 5.7 or higher
# Clone the repository
git clone https://github.com/fecommunity/reactpress.git
cd reactpress
# Install dependencies
pnpm install
# Start development servers
pnpm run devReactPress follows a monorepo structure:
reactpress/
├── client/ # Next.js frontend application
├── server/ # NestJS backend API
├── toolkit/ # Auto-generated API client SDK
├── templates/ # Project templates
├── scripts/ # Build and deployment scripts
└── docs/ # Documentation
# Start both client and server in development mode
pnpm run dev
# Start only the server
pnpm run dev:server
# Start only the client
pnpm run dev:client# Build all packages
pnpm run build
# Build specific packages
pnpm run build:client
pnpm run build:server
pnpm run build:toolkit# Run all tests
pnpm test
# Run tests for specific package
pnpm test --dir client
pnpm test --dir server- Follow the existing code style in the project
- Use TypeScript for type safety
- Write clear, concise commit messages
- Update documentation as needed
- Ensure your changes are well-tested
- Update the README.md if you've changed functionality
- Create a pull request with a clear title and description
- Link any related issues in your pull request description
- Be responsive to feedback during the review process
If you find a bug or have a feature request, please create an issue on GitHub. Include as much detail as possible to help us understand and reproduce the problem.
To publish packages to npm:
- Ensure you're logged into npm:
pnpm login - Run the publish script:
pnpm run publish - Follow the interactive prompts to select packages and version increments
By contributing to ReactPress, you agree that your contributions will be licensed under the MIT License.