Skip to content

Editor Configuration

Scott Lopez edited this page Nov 3, 2025 · 7 revisions

Table of Contents


🛠 Recommended Toolchain

To streamline development and align with project conventions, we recommend the following setup — especially for contributors without a strong existing preference.

Tool Description
VSCodium Fully open-source alternative to VS Code (telemetry-free)
Prettier Code formatter for JS, TS, Svelte, Markdown, etc.
ESLint JavaScript/TypeScript linter with Svelte support
Stylelint Linting for CSS, SCSS, and inline styles in Svelte
markdownlint Markdown style checker and linter
markdownlint-cli2 Config-based CLI linter for Markdown
EditorConfig Consistent line endings, spacing, and indentation
Volta / nvm Node.js version manager for consistent tooling

The .vscode/ folder includes editor recommendations compatible with VSCodium. These are non-enforced and optional, but align with our formatter, linter, and language server configs.

Install dev tooling:

npm install --include=dev

Run all format and lint checks:

npm run lint:all
npm run format

To auto-fix issues:

npm run lint:fix
npm run format:fix

Back to top


⚙️ Tooling Configuration

All linting, formatting, and version settings are defined in versioned project config files:

File Purpose
.prettierrc Prettier formatting rules
.prettierignore Files that should be ignored by Prettier
eslint.config.mjs ESLint config with SvelteKit support
stylelint.config.js CSS/SASS/Svelte style rules
.stylelintignore Files that should be ignored by Stylelint
.editorconfig Base indentation and line ending settings
.nvmrc, .node-version Node.js version constraints for nvm, asdf, and Volta
.vscode/extensions.json Suggested extensions for VSCodium
.vscode/settings.json Default workspace settings (non-binding)
.vscode/customData.json Custom CSS data for FontAwesome classes
cspell.json Custom words and exclusions for spell checking

These are the same rules used by CI and automation, so aligning your local setup avoids surprises later.

Note: .vscode/extensions.json defines a minimal recommended dev stack for VSCodium / VS Code. These extensions are optional but thoughtfully curated to improve developer experience without introducing bloat.

Back to top


🔁 Automation & Pre-Push Hooks

To maintain consistent code quality before changes are pushed, developers may optionally enable local Git automation.

Tool Purpose
npm-run-all Runs multiple linting and formatting commands in parallel or sequence
simple-git-hooks Lightweight Git hook manager (no extra binaries or Git dependencies)

Optional: Lint-before-push workflow

Developers can enable an automatic lint and format check before pushing:

npm install --save-dev npm-run-all simple-git-hooks

Then, in package.json:

"scripts": {
  "lint:all": "npm-run-all --parallel lint lint:md lint:css format"
},
"simple-git-hooks": {
  "pre-push": "npm run lint:all"
}

Activate the hooks:

npx simple-git-hooks

This ensures all code passes lint and format checks locally before being pushed to remote branches.

⚙️ These tools are optional for contributors but help keep the local environment consistent with CI checks.

Back to top

Clone this wiki locally