Thank you for your interest in contributing! This document provides guidelines and information for contributors.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Docker and Docker Compose
- Git
- Bash
-
Clone your fork:
git clone https://github.com/your-username/codeserver-ai.git cd codeserver-ai -
Copy the environment file:
cp .env.example .env
-
Edit
.envwith your configuration. -
Render Dokploy compose placeholders for local Docker Compose:
./scripts/render-compose.sh docker-compose.yml docker-compose.local.yml
-
Start the services:
docker compose -f docker-compose.local.yml up -d
- Use
#!/bin/bashas the shebang. - Use
set -euo pipefailfor scripts that run in containers. - Quote variables:
"$VARIABLE"not$VARIABLE. - Keep container entrypoints idempotent.
- Validate scripts with
bash -n scripts/*.sh.
- Use multi-stage builds when possible.
- Minimize image size by combining
RUNcommands. - Use specific base image versions where practical.
- Add
HEALTHCHECKinstructions for long-running services. - Do not bake secrets into images.
- Update
README.mdfor user-facing changes. - Update
deploy/README.mdfor Dokploy deployment changes. - Update
docs/backup.mdfor backup or restore changes. - Keep environment variable references consistent across compose files and docs.
- Provide a clear description of changes.
- Reference any related issues.
- Ensure shell syntax checks pass.
- Update documentation as needed.
- Keep commits focused and atomic.
- Use the GitHub issue tracker.
- Provide detailed reproduction steps.
- Include environment information.
- Attach relevant logs.
- Include Dokploy deployment type and reverse proxy upstream protocol when reporting Bad Gateway issues.
By contributing, you agree that your contributions will be licensed under the MIT License.