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_URLif you touch analytics or the API
Repository layout
Internal packages are scoped under @repo/*.
Quick start
-
Clone the repo and install dependencies:
git clone https://github.com/techwithanirudh/coolify-tweaks.git cd coolify-tweaks pnpm install cp .env.example .env -
Sync the database (only if you need analytics):
pnpm db:push -
Run the apps you care about:
pnpm --filter @repo/style dev pnpm --filter @repo/docs dev pnpm --filter @repo/api devOr run all of them together:
pnpm dev -
Make changes and run the repo checks:
pnpm lint pnpm format pnpm typecheck pnpm check:spelling -
Push a branch with a Conventional Commit message, open a PR, and address any CI feedback.
Apps
Style
Sass + Lightning CSS pipeline that builds the Tweaks stylesheet. Produces both .user.css and standard CSS bundles.
API
Nitro-based API for release proxying, analytics, and serving final CSS bundles.
Docs
Next.js + Fumadocs documentation and marketing site powered by @repo/ui.
Tooling
Shared linting, formatting, Tailwind tokens, TypeScript bases, and spellcheck.
Core scripts
pnpm dev: Turbo watch mode for alldevtargets.pnpm dev:web/pnpm dev:api/pnpm dev:style: Focus on a single app.pnpm build: Run everybuildpipeline.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, orchore/update-deps. - Commits: follow Conventional Commits (
feat: ...,fix: ...,docs: ...,chore: ...). - PRs: keep them focused, rerun the repo checks, and rebase on
mainwhen requested.
Releases
- To release a new version:
- Run
pnpm changesetto create a changeset file describing your changes - Run
pnpm versionto update versions inpackage.jsonbased on the changesets - Commit and push the changes
- Run
.github/workflows/release.ymlhandles building, publishing, and creating GitHub releases- Contributors usually ensure PRs are green; maintainers handle the release workflow
Last updated on