diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..d37e399 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,37 @@ +root = true + +[*] +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true + +[*.{ts,tsx,js,jsx,mjs,cjs,mts,cts}] +indent_style = space +indent_size = 2 + +[*.{json,jsonc}] +indent_style = space +indent_size = 2 + +[*.{css,html}] +indent_style = space +indent_size = 2 + +[*.{yaml,yml}] +indent_style = space +indent_size = 2 + +[*.py] +indent_style = space +indent_size = 4 + +[*.{toml}] +indent_style = space +indent_size = 4 + +[*.md] +trim_trailing_whitespace = false + +[Makefile] +indent_style = tab diff --git a/.gitattributes b/.gitattributes index 1bbd695..629ff9c 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,2 +1,24 @@ +* text=auto eol=lf + *.sh text eol=lf *.py text eol=lf +*.ts text eol=lf +*.tsx text eol=lf +*.js text eol=lf +*.jsx text eol=lf +*.mjs text eol=lf +*.cjs text eol=lf +*.mts text eol=lf +*.cts text eol=lf +*.css text eol=lf +*.html text eol=lf +*.json text eol=lf +*.jsonc text eol=lf +*.yaml text eol=lf +*.yml text eol=lf +*.toml text eol=lf +*.md text eol=lf +*.mdx text eol=lf +*.lock text eol=lf +*.env text eol=lf +*.env.* text eol=lf diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..08615cc --- /dev/null +++ b/.prettierignore @@ -0,0 +1,18 @@ +# Dependencies +node_modules/ +web/node_modules/ + +# Build outputs +web/.next/ +web/tsconfig.tsbuildinfo +web/next-env.d.ts + +# Python / server +server/ + +# Lock files +pnpm-lock.yaml +web/pnpm-lock.yaml + +# Generated +web/public/ diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..2aa8717 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,8 @@ +{ + "semi": true, + "singleQuote": false, + "tabWidth": 2, + "trailingComma": "es5", + "printWidth": 100, + "endOfLine": "lf" +} diff --git a/package.json b/package.json index 034f905..16d0345 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,12 @@ "dev:cpu": "bash dev.sh --cpu", "dev:server": "bash server/start.sh", "dev:server:cpu": "bash server/start.sh --cpu", - "dev:web": "pnpm --filter vibepod-web dev" + "dev:web": "pnpm --filter vibepod-web dev", + "format": "prettier --write .", + "format:check": "prettier --check ." + }, + "devDependencies": { + "prettier": "^3.5.3" }, "packageManager": "pnpm@10.33.2+sha512.a90faf6feeab71ad6c6e57f94e0fe1a12f5dcc22cd754db40ae9593eb6a3e0b6b12e3540218bb37ae083404b1f2ce6db2a4121e979829b4aff94b99f49da1cf8" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 07d0a9a..b89acfe 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -6,7 +6,11 @@ settings: importers: - .: {} + .: + devDependencies: + prettier: + specifier: ^3.5.3 + version: 3.8.3 web: dependencies: @@ -516,6 +520,11 @@ packages: resolution: {integrity: sha512-W62t/Se6rA0Az3DfCL0AqJwXuKwBeYg6nOaIgzP+xZ7N5BFCI7DYi1qs6ygUYT6rvfi6t9k65UMLJC+PHZpDAA==} engines: {node: ^10 || ^12 || >=14} + prettier@3.8.3: + resolution: {integrity: sha512-7igPTM53cGHMW8xWuVTydi2KO233VFiTNyF5hLJqpilHfmn8C8gPf+PS7dUT64YcXFbiMGZxS9pCSxL/Dxm/Jw==} + engines: {node: '>=14'} + hasBin: true + react-dom@19.1.0: resolution: {integrity: sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==} peerDependencies: @@ -917,6 +926,8 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.1 + prettier@3.8.3: {} + react-dom@19.1.0(react@19.1.0): dependencies: react: 19.1.0 diff --git a/web/package.json b/web/package.json index f5c4ca1..416b784 100644 --- a/web/package.json +++ b/web/package.json @@ -5,7 +5,9 @@ "scripts": { "dev": "next dev --turbopack", "build": "next build", - "start": "next start" + "start": "next start", + "format": "prettier --write .", + "format:check": "prettier --check ." }, "dependencies": { "next": "15.5.15",