This project centralizes essential software development tools using Docker.
- PostgreSQL 18.3: Primary database.
- pgAdmin 4: Web interface for managing PostgreSQL.
- SonarQube Server 2026.2.1: Code quality and security platform.
- Mailpit: SMTP testing server and web UI for email sandboxing.
-
Generate Credentials: Run the configuration script to generate random usernames and secure passwords in your
.envfile:./scripts/setup-env.sh
-
SonarQube Requirement (Host): SonarQube uses Elasticsearch, which requires the host system's
vm.max_map_countparameter to be at least262144.On Linux, you can set it temporarily with:
sudo sysctl -w vm.max_map_count=262144
To make it permanent, add
vm.max_map_count=262144to/etc/sysctl.conf. -
Start the Services:
docker compose up -d
-
Configure SonarQube Admin Password: Once the containers are running, you can automatically change the default
admin/adminpassword to the secure one defined in.env:./scripts/configure-sonar.sh
- pgAdmin: http://localhost:5050 (Credentials in
.env) - SonarQube: http://localhost:9000 (Default admin:
admin/admin) - Mailpit Web UI: http://localhost:8025
- Mailpit SMTP:
localhost:1025 - Postgres:
localhost:5432
- The
.envfile contains actual credentials and is ignored by git. - The
.env.examplefile contains the required structure. - The
setup-env.shscript generates random users (at least 10 characters) and secure passwords (24 characters).
To install project-specific skills, use the provided script:
./scripts/install-skills.shThis script uses the official skills.sh syntax to add tools directly to the project.
This project includes configurations for Model Context Protocol (MCP) servers.
Context7 provides up-to-date documentation and code examples for programming libraries.
- Setup: Runs via local wrapper script (
./scripts/mcp-context7.sh) that readsCONTEXT7_API_KEYfrom.envand passes it tonpx @upstash/context7-mcp. - Environment Variable: Ensure
CONTEXT7_API_KEYis set in your.envfile (see.env.example). - Usage: Referenced in
opencode.json.example,.mcp.json.example,.gemini/settings.json.example, and.copilot/mcp-config.json.example.
Allows the agent to interact with SonarQube for code quality and security analysis.
- Setup: Runs via local wrapper script (
./scripts/mcp-sonarqube.sh) that manages Docker execution and token retrieval from.env. - Usage: Referenced in
.mcp.json.exampleand.gemini/settings.json.