π₯ Contributing to Devex
Welcome to the Devex project! We're excited you're here π
Whether youβre fixing a bug, improving docs, or adding a new template β every contribution is valued.
π Before You Start
Make sure to:
β’ Carefully read the README.md at the root to understand what Devex is and how it works.
β’ Explore the README.md
files inside each subdirectory (core/
, runner/
, templates/
, web/
, etc.) to get a deeper understanding of each module.
β’ Use PULL_REQUEST_TEMPLATE.md for creating a Pull Request.
π§ Local Setup
Youβll need:
β’ Docker & Docker Compose
β’ Node.js (v20+)
β’ Go (1.21+)
β’ Fork the repository to your GitHub account.
β’ Clone your fork:
git clone https://github.com/your-username/devex.git
cd devex
β’ Create a new branch:
git checkout -b feat/your-feature-name
Use descriptive names like:
β’ feat/add-node-template
β’ fix/typo-in-core
β’ docs/update-template-guide
π How to Contribute
You can contribute in many ways:
1. π‘ Add a New Template
Steps include:
β’
Add files to templates/<your-template>/
β’
Add Dockerfile to runner/<your-template>.dockerfile
β’
Register the template in:
β’ web/lib/templates.tsx
β’ core/models/templates.go
2. π Fix a Bug or Improve Code
β’ Navigate to the relevant module (core/
, runner/
, web/
, etc.).
β’ Each has its own README.md
and may contain TODOs, architecture notes, or issues.
β’ Submit your fix as a PR with a descriptive title and message. Checkout PULL_REQUEST_TEMPLATE.md
3. π Improve Docs
β’ You can improve the documentation anywhere β main README.md
, internal docs, or this CONTRIBUTING.md
.
β’ All text contributions are equally valuable!
π§ͺ Before Submitting a PR
Make sure to:
π¬ Submitting a Pull Request
Once you're ready:
git add .
git commit -m "feat: add node.js template"
git push origin feat/add-node-template
Then:
β’
Open your GitHub fork
β’
Click βCompare & Pull Requestβ
β’
Fill out:
β’ What you changed
β’ Why it matters
β’ Anything reviewers should check/test
β’
Submit!
β
PR Review & Merge
After submission:
β’ A maintainer (Parth) will review your PR.
β’ You may get feedback β please respond or update the code as needed.
β’ Once approved, it will be merged into main
and deployed automatically (CI/CD pipelines are in place).
π Required Secrets (for Maintainers)
Maintainers must configure these in GitHub β Repo Settings β Secrets > Actions
Secret Name Purpose DEPLOY_SSH_PRIVATE_KEY
For remote stack deployment via SSH DO_SPACES_KEY
DigitalOcean Spaces Access Key DO_SPACES_SECRET
DigitalOcean Spaces Secret Key DO_SPACES_BUCKET
S3-compatible bucket name for templates DO_SPACES_ENDPOINT
Endpoint URL for DigitalOcean Spaces
See .github/workflows/README.md
for more details.
π¬ Need Help?
β’ Open a GitHub Issue
β’ Or contact Parth Kapoor for guidance.
Thanks for contributing to Devex π
We appreciate your time, code, and energy!