Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 50 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# EditorConfig helps maintain consistent coding styles across editors
# https://editorconfig.org

# Top-most EditorConfig file
root = true

# ── Defaults for all files ──────────────────────────────────────────
[*]
charset = utf-8
end_of_line = lf
indent_style = space
indent_size = 2
insert_final_newline = true
trim_trailing_whitespace = true

# ── Source files (JS / TS / JSX / TSX) ──────────────────────────────
[*.{js,jsx,ts,tsx}]
indent_size = 2
max_line_length = 100
Copy link

Copilot AI Feb 25, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The max_line_length setting is set to 100 for JavaScript/TypeScript files, but there's no existing ESLint or Prettier configuration in the repository that enforces this limit. This could create confusion if the EditorConfig suggests one line length but no other tooling enforces it. Consider either removing this setting or adding a corresponding ESLint rule (e.g., max-len) or Prettier's printWidth configuration.

Suggested change
max_line_length = 100

Copilot uses AI. Check for mistakes.

# ── Web markup & styles ────────────────────────────────────────────
[*.{html,css,scss}]
indent_size = 2

# ── Data / config (JSON, YAML, TOML) ───────────────────────────────
[*.{json,jsonc,yml,yaml,toml}]
indent_size = 2

# ── Markdown ────────────────────────────────────────────────────────
# Trailing whitespace is meaningful in Markdown (line breaks)
[*.md]
trim_trailing_whitespace = false

# ── Shell scripts ───────────────────────────────────────────────────
[*.{sh,bash,zsh}]
indent_size = 2

# ── Makefiles require tabs ──────────────────────────────────────────
[Makefile]
indent_style = tab

# ── GitHub Actions & CI workflows ───────────────────────────────────
[.github/**/*.yml]
indent_size = 2

# ── Minified files — do not touch ───────────────────────────────────
[*.min.*]
indent_style = ignore
insert_final_newline = ignore
trim_trailing_whitespace = ignore
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ dist-ssr
# Editor directories and files
.vscode/*
!.vscode/extensions.json
!.vscode/settings.json
.idea
.DS_Store
*.suo
Expand Down
26 changes: 26 additions & 0 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
{
// Recommended extensions for the Accord Project Template Playground.
// VS Code will suggest installing these when opening the project.
// See https://go.microsoft.com/fwlink/?LinkId=827846 for more info.
"recommendations": [
// ── Editor & Formatting ──────────────────────────────────────
"editorconfig.editorconfig", // EditorConfig support
"esbenp.prettier-vscode", // Prettier – code formatter
"dbaeumer.vscode-eslint", // ESLint – JS/TS linter
// ── Languages & Frameworks ───────────────────────────────────
"ms-vscode.vscode-typescript-next", // TypeScript nightly (better DX)
"bradlc.vscode-tailwindcss", // Tailwind CSS IntelliSense
"styled-components.vscode-styled-components", // Styled-components syntax
// ── React & JSX/TSX ──────────────────────────────────────────
"dsznajder.es7-react-js-snippets", // React/Redux/GraphQL snippets
// ── Testing ──────────────────────────────────────────────────
"ms-playwright.playwright", // Playwright Test runner
"vitest.explorer", // Vitest test explorer
// ── Developer Quality-of-Life ────────────────────────────────
"streetsidesoftware.code-spell-checker", // Spell checker for code
"mikestead.dotenv", // .env syntax highlighting
"csstools.postcss", // PostCSS language support
"yoavbls.pretty-ts-errors" // Human-readable TS errors
],
"unwantedRecommendations": []
}
58 changes: 58 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
{
// ── Editor Defaults ────────────────────────────────────────────
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode",
Copy link

Copilot AI Feb 25, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The VS Code settings reference Prettier as the default formatter ("esbenp.prettier-vscode"), but Prettier is not listed as a dev dependency in package.json. Contributors who install the recommended extensions will have the Prettier extension, but the project should include a local Prettier installation to ensure consistent formatting across environments and CI/CD pipelines. Consider adding "prettier" to devDependencies and creating a .prettierrc configuration file to explicitly define formatting rules.

Copilot uses AI. Check for mistakes.
"editor.tabSize": 2,
"editor.insertSpaces": true,
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit"
},
// ── File Handling ──────────────────────────────────────────────
"files.eol": "\n",
"files.trimTrailingWhitespace": true,
"files.insertFinalNewline": true,
"files.trimFinalNewlines": true,
"files.exclude": {
"**/node_modules": true,
"**/dist": true,
"**/.git": true
},
// ── TypeScript ─────────────────────────────────────────────────
"typescript.tsdk": "node_modules/typescript/lib",
"typescript.enablePromptUseWorkspaceTsdk": true,
// ── Tailwind CSS ───────────────────────────────────────────────
"tailwindCSS.includeLanguages": {
"typescriptreact": "html"
},
"tailwindCSS.experimental.classRegex": [
[
"className\\s*=\\s*[\"']([^\"']*)[\"']",
"([^\"'\\s]*)"
]
],
// ── ESLint ─────────────────────────────────────────────────────
"eslint.validate": [
"javascript",
"javascriptreact",
"typescript",
"typescriptreact"
],
// ── Search ─────────────────────────────────────────────────────
"search.exclude": {
"**/node_modules": true,
"**/dist": true,
"**/package-lock.json": true,
"**/playwright-report": true
},
// ── File Associations ──────────────────────────────────────────
"[markdown]": {
"editor.wordWrap": "on",
"files.trimTrailingWhitespace": false
},
"[json]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[jsonc]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
}
}
Loading