{"id":15386674,"url":"https://github.com/zerodevx/sveltekit-starter","last_synced_at":"2025-07-06T13:04:00.547Z","repository":{"id":93487767,"uuid":"293753873","full_name":"zerodevx/sveltekit-starter","owner":"zerodevx","description":"Opinionated starter template for SvelteKit","archived":false,"fork":false,"pushed_at":"2024-09-05T08:09:34.000Z","size":191,"stargazers_count":6,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-06T01:54:42.302Z","etag":null,"topics":["eslint","fontsource","iconify","jsdoc","prettier","starter-template","sveltekit","tailwindcss"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zerodevx.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-09-08T08:49:50.000Z","updated_at":"2025-01-02T05:20:43.000Z","dependencies_parsed_at":"2024-10-18T18:54:40.112Z","dependency_job_id":null,"html_url":"https://github.com/zerodevx/sveltekit-starter","commit_stats":{"total_commits":34,"total_committers":1,"mean_commits":34.0,"dds":0.0,"last_synced_commit":"eabd730fa67993985fed5d72da22b5892946d4b9"},"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/zerodevx/sveltekit-starter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zerodevx%2Fsveltekit-starter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zerodevx%2Fsveltekit-starter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zerodevx%2Fsveltekit-starter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zerodevx%2Fsveltekit-starter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zerodevx","download_url":"https://codeload.github.com/zerodevx/sveltekit-starter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zerodevx%2Fsveltekit-starter/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262085881,"owners_count":23256536,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["eslint","fontsource","iconify","jsdoc","prettier","starter-template","sveltekit","tailwindcss"],"created_at":"2024-10-01T14:50:09.869Z","updated_at":"2025-06-26T14:36:24.119Z","avatar_url":"https://github.com/zerodevx.png","language":"JavaScript","readme":"# sveltekit-starter\n\n\u003e Opinionated starter template for SvelteKit\n\nThe Svelte ecosystem is akin to the fiery aftermath when the worlds of\n[Mad Max](https://en.wikipedia.org/wiki/Mad_Max:_Fury_Road) and\n[Split](\u003chttps://en.wikipedia.org/wiki/Split_(2016_American_film)\u003e) collide - full of peril, violent\nsandstorms and new beginnings with a touch of dissociative identity disorder.\n\nTo help navigate through this madness, just like how Moses parted the Red Sea, behold the emergence\nof this repo. Cue angels singing. The best way to describe this is it's like a brick-layer - but\ninstead of bricks are Svelte's somewhat arbitrary building blocks. And instead of cement are my\nopinions.\n\nSo let's get started.\n\n## Usage\n\n### Step 1: Create Svelte\n\nGenerate the base template using `create-svelte` with these recommended options:\n\n- [x] Skeleton or Library project\n- [x] JavaScript with JSDoc comments\n- [x] Include ESLint, Prettier and Playwright\n\n```\n$ npm create svelte@latest my-app\n```\n\n### Step 2: Run the combo-patcher\n\nThen, layer the patches based on the last-known SvelteKit decisions. This uses\n[`zx`](https://github.com/google/zx), so make sure that's installed.\n\n```\n$ zx https://cdn.jsdelivr.net/gh/zerodevx/svelte-starter@2/index.mjs my-app\n```\n\n### Step 3: Update dependencies\n\nFinally, apply the finishing touches.\n\n```\n$ cd my-app\n$ npm update --save\n$ npm run format\n```\n\n## Opinions\n\n### SvelteKit\n\nBase `create-svelte` skeleton template with `jsdoc`, `prettier`, `eslint` and `playwright`.\n\n### Tailwind CSS\n\nAdds `tailwindcss` and `prettier-plugin-tailwindcss` using `svelte-add`, then adds\n`tailwindcss/typography`.\n\n### Prettier config\n\nNo semicolons; because they're redundant. Also use spaces over tabs - modern code editors handle\nboth well, but spaces display better outside IDEs (I'm looking at you Github).\n\n```json\n{\n  //...\n  \"printWidth\": 100,\n  \"useTabs\": false,\n  \"semi\": false,\n  \"singleQuote\": true,\n  \"trailingComma\": \"none\",\n  \"proseWrap\": \"always\",\n  \"svelteSortOrder\": \"options-scripts-markup-styles\",\n  \"svelteIndentScriptAndStyle\": false\n}\n```\n\n### ESLint config\n\nAdd defence against `no-semi`:\n\n```json\n{\n  //...\n  \"rules\": {\n    \"no-tabs\": \"error\",\n    \"no-unexpected-multiline\": \"error\"\n  }\n}\n```\n\n### Static site setup\n\nSeriously, don't use SSR unless you really need to. Installs `adapter-static` and adds sensible\ndefaults.\n\n### Versioning\n\nUse the `version` from `package.json` in SvelteKit's native versioning system, like so:\n\n```js\nimport { version } from '$app/environment' // `version` string from `package.json`\n```\n\n### Fonts\n\nUse `@fontsource-variable` for self-hosted open-source fonts.\n\n### Icons\n\nUse `@iconify/tailwind` plugin for high-performance css-only icons. Apply icon classes using\n`iconify {prefix}--{name}`. Install icon sets at `@iconify-json/{prefix}`. Set icon size using\nstandard tailwind classes like `text-lg` or `w-6 h-6`. Only icons you use will be included in your\nbuild. Read more at [Iconify](https://github.com/iconify/iconify/tree/main/plugins/tailwind).\n\n## License\n\nISC\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzerodevx%2Fsveltekit-starter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzerodevx%2Fsveltekit-starter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzerodevx%2Fsveltekit-starter/lists"}