Contributing

How to contribute to Coolify Tweaks

Prerequisites

  • Node.js ^22.21.0
  • PNPM ^10.19.0
  • Bun ^1.0.0 (used for the TypeScript scripts that power docs and style)
  • A Postgres / Neon POSTGRES_URL if you touch analytics or the API

Repository layout

Internal packages are scoped under @repo/*.

Quick start

  1. Clone the repo and install dependencies:

    git clone https://github.com/techwithanirudh/coolify-tweaks.git
    cd coolify-tweaks
    pnpm install
    cp .env.example .env
  2. Sync the database (only if you need analytics):

    pnpm db:push
  3. Run the apps you care about:

    pnpm --filter @repo/style dev
    pnpm --filter @repo/docs dev
    pnpm --filter @repo/api dev

    Or run all of them together:

    pnpm dev
  4. Make changes and run the repo checks:

    pnpm lint
    pnpm format
    pnpm typecheck
    pnpm check:spelling
  5. Push a branch with a Conventional Commit message, open a PR, and address any CI feedback.

Apps

Core scripts

  • pnpm dev: Turbo watch mode for all dev targets.
  • pnpm dev:web / pnpm dev:api / pnpm dev:style: Focus on a single app.
  • pnpm build: Run every build pipeline.
  • pnpm typecheck: TypeScript across the repo.
  • pnpm format / format:fix: Prettier with the shared config.
  • pnpm lint / lint:fix: ESLint across apps + packages.
  • pnpm check:spelling: cspell spelling checks docs/TSX.
  • pnpm ui-add: Add shadcn/ui components to @repo/ui.
  • pnpm turbo gen init: Scaffold a new package/workspace with lint/type/build wiring.

Commitlint + Lefthook enforce Conventional Commits on commit-msg, and .github/workflows run the same commands in CI.

Branches, commits, and PRs

  • Branch names: use descriptive keywords such as feat/new-theme-toggle, fix/docs-typo, or chore/update-deps.
  • Commits: follow Conventional Commits (feat: ..., fix: ..., docs: ..., chore: ...).
  • PRs: keep them focused, rerun the repo checks, and rebase on main when requested.

Releases

  • To release a new version:
    1. Run pnpm changeset to create a changeset file describing your changes
    2. Run pnpm version to update versions in package.json based on the changesets
    3. Commit and push the changes
  • .github/workflows/release.yml handles building, publishing, and creating GitHub releases
  • Contributors usually ensure PRs are green; maintainers handle the release workflow

Last updated on