-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Open
Labels
enhancementNew feature or requestNew feature or request
Description
What problem will this feature address?
- Repos use pnpm workspaces (both
dokployandwebsiteship apnpm-workspace.yaml), but each repo currently manages formatter config locally, which leads to drift. - Biome is already standard for code; however, Markdown/MDX still needs consistent formatting without letting Prettier touch code. The
websiterepo is ~50% MDX, so MDX support matters.
Describe the solution you'd like
Create a reusable formatting package @dokploy/format-config (as a pnpm workspace package in dokploy under packages/format-config/) and publish it for reuse in website and other repos. The package centralizes:
- Biome rules for all code.
- Prettier (defaults) limited to Markdown/MDX only.
1) New workspace package: packages/format-config/
packages/format-config/package.json
{
"name": "@dokploy/format-config",
"version": "0.1.0",
"description": "Shared Dokploy formatting config: Biome for code, Prettier for Markdown only.",
"license": "MIT",
"files": [
"biome.json",
"prettierignore",
"prettierrc.json",
"README.md"
],
"publishConfig": { "access": "public" },
"peerDependencies": {
"biome": ">=2.2.0",
"prettier": ">=3.6.0"
}
}packages/format-config/biome.json
Combine:
- https://github.com/Dokploy/dokploy/blob/canary/biome.json
- https://github.com/Dokploy/website/blob/main/biome.json
packages/format-config/prettierignore (whitelist only docs, but maybe .sh also)
# Ignore everything...
**/*
# ...except Markdown
!**/*.mdpackages/format-config/prettierrc.json (empty = Prettier defaults)
{}packages/format-config/README.md (usage doc)
# @dokploy/format-config
- **Code**: Biome
- **Docs**: Prettier for Markdown only (via .prettierignore whitelist)
## Usage
1) pnpm add -D @dokploy/format-config biome prettier
2) In your repo/package `biome.json`:
{ "extends": ["@dokploy/format-config/biome.json"] }
3) Copy `.prettierignore` and (optionally) `.prettierrc` from this package to the repo root.
4) Add scripts:
"format:code": "biome format --write .",
"check:code": "biome check .",
"format:md": "prettier --write \"**/*.md\"",
"check:md": "prettier --check \"**/*.md\""2) Root repo changes (consumer)
Install (workspace link):
pnpm add -D @dokploy/format-config@workspace:* biome prettierRoot biome.json (or per-package):
{ "extends": ["@dokploy/format-config/biome.json"] }Copy to repo root:
.prettierignore(from the package; keeps Prettier on*.mdonly)- optional
.prettierrc({})
Root package.json scripts:
{
"scripts": {
"format:code": "biome format --write .",
"check:code": "biome check .",
"format:md": "prettier --write \"**/*.md\"",
"check:md": "prettier --check \"**/*.md\""
}
}3) Lefthook integration (pre-commit)
⚠️ TODO
4) CI (GitHub Actions snippet)
⚠️ TODO
5) Editor settings (optional, not enforced)
For a smoother local DX, an extra workspace .vscode/settings.json:
{
"editor.formatOnSave": true,
"prettier.requireConfig": true,
"[markdown]": { "editor.defaultFormatter": "esbenp.prettier-vscode" },
"[javascript]": { "editor.defaultFormatter": "biomejs.biome" },
"[typescript]": { "editor.defaultFormatter": "biomejs.biome" },
"[json]": { "editor.defaultFormatter": "biomejs.biome" },
"[css]": { "editor.defaultFormatter": "biomejs.biome" }
}Describe alternatives you've considered
Moving over to Prettier completely.
Additional context
No response
Will you send a PR to implement it?
No
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request