Style

Work on the pipeline that produces the style.

What this app owns

apps/style is the Sass + Lightning CSS pipeline that produces the Coolify theme. The build emits:

  • dist/main.user.css: Stylus-friendly build with userstyle metadata.
  • dist/main.css: Raw CSS bundle referenced by the Traefik dynamic-config install.
  • Supporting assets and source maps consumed by the API release flow.

Manual Stylus installs load main.user.css, while the API serves a published release and the dynamic proxy injects the latest CSS.

File layout

_globals.scss
_mixins.scss
main.scssEntry point that includes everything
package.json

Local workflow

Start the watcher:

pnpm --filter @repo/style dev

This watches apps/style/src/** and serves http://localhost:3000/main.user.css.

Install the stylesheet inside Stylus, enable Live Reload, and add http://localhost:3000/* to allowed hosts.

Edit Sass partials for components, theme utilities, pages, etc., under apps/style/src/.

Update documentation when you change installation or update behavior. Update both updating.mdx and installation/dynamic-config.mdx so the documentation reflects Stylus and Traefik paths together.

Testing

  • pnpm --filter @repo/style lint / typecheck for the TypeScript helper scripts.
  • pnpm --filter @repo/style check:spelling keeps the doc strings tidy.

Deployment

  • Build the production bundle:

    pnpm --filter @repo/style build
  • This outputs dist/ artifacts that are published via GitHub Releases and served by the API.

  • To release a new version:

    1. Run pnpm changeset to create a changeset describing your changes
    2. Run pnpm version to update package versions based on changesets
    3. Commit and push the changes (the GitHub workflow handles building and publishing)

Last updated on