{"id":31138754,"url":"https://github.com/bchainhub/sveltekit-starter","last_synced_at":"2025-09-18T10:59:31.520Z","repository":{"id":312411330,"uuid":"1047367480","full_name":"bchainhub/sveltekit-starter","owner":"bchainhub","description":"Starter for SvelteKit App","archived":false,"fork":false,"pushed_at":"2025-08-31T11:30:26.000Z","size":157,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-11T22:47:18.258Z","etag":null,"topics":["blockchain","boilerplate","core","corepass","dapp","starter","starterpack","sveltekit"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bchainhub.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-08-30T09:01:45.000Z","updated_at":"2025-08-30T15:01:59.000Z","dependencies_parsed_at":"2025-08-30T13:18:49.170Z","dependency_job_id":"dc98cdd6-4602-45e6-b7d9-903d715b21f2","html_url":"https://github.com/bchainhub/sveltekit-starter","commit_stats":null,"previous_names":["bchainhub/sveltekit-starter"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/bchainhub/sveltekit-starter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bchainhub%2Fsveltekit-starter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bchainhub%2Fsveltekit-starter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bchainhub%2Fsveltekit-starter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bchainhub%2Fsveltekit-starter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bchainhub","download_url":"https://codeload.github.com/bchainhub/sveltekit-starter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bchainhub%2Fsveltekit-starter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275756207,"owners_count":25522761,"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","status":"online","status_checked_at":"2025-09-18T02:00:09.552Z","response_time":77,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["blockchain","boilerplate","core","corepass","dapp","starter","starterpack","sveltekit"],"created_at":"2025-09-18T10:59:30.331Z","updated_at":"2025-09-18T10:59:31.511Z","avatar_url":"https://github.com/bchainhub.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SvelteKit Starter – Installer\n\nThis repository ships a one-shot installer that scaffolds a SvelteKit app, adds common deps, optionally merges a template, tweaks `.gitignore`, can copy shared assets from the starter repo, sets a license, and (optionally) makes a local git commit.\n\n## 🚀 Quick start (run via curl)\n\n\u003e **Assumes the script lives at** `https://raw.githubusercontent.com/bchainhub/sveltekit-starter/main/sv-starter.sh`.\n\u003e If you use a different path or branch, adjust the URL accordingly.\n\nUsing curl (recommended - maintains interactivity):\n\n**Option 1: jsDelivr CDN (faster, more reliable):**\n\n```bash\nbash -c \"$(curl -fsSL https://cdn.jsdelivr.net/gh/bchainhub/sveltekit-starter/sv-starter.sh)\"\n```\n\nWith a specific commit version:\n\n```bash\nbash -c \"$(curl -fsSL https://cdn.jsdelivr.net/gh/bchainhub/sveltekit-starter@beebeaf/sv-starter.sh)\"\n```\n\n**Option 2: GitHub Raw (original):**\n\n```bash\nbash -c \"$(curl -fsSL https://raw.githubusercontent.com/bchainhub/sveltekit-starter/main/sv-starter.sh)\"\n```\n\nOr with a custom template repo:\n\n```bash\nbash -c \"$(curl -fsSL https://cdn.jsdelivr.net/gh/bchainhub/sveltekit-starter/sv-starter.sh)\" -- --template https://github.com/your-org/your-template.git\n````\n\n**wget alternative:**\n\n```bash\nbash -c \"$(wget -qO- https://cdn.jsdelivr.net/gh/bchainhub/sveltekit-starter/sv-starter.sh)\"\n```\n\n**Run locally (if you cloned this repo):**\n\n```bash\nchmod +x sv-starter.sh\n./sv-starter.sh --template https://github.com/blockchainhub/sveltekit-mota.git\n```\n\n\u003e 💡 You can pass any extra flags after `--` and they will go straight to `sv create`.\n\u003e ⚠️ **Important**: The `bash -c \"$(curl ...)\"` approach maintains proper terminal interactivity, unlike piping with `| bash -s --` which can break interactive prompts.\n\n## ✅ Requirements\n\n* **Node.js** 18+ (20+ recommended) and `npx`\n* **git** (for cloning templates and committing)\n* One or more package managers available (the script auto-detects): `pnpm`, `bun`, `yarn`, or `npm`\n* **curl** (and optionally `rsync` for robust folder copies)\n\n## 🖥️ Platform Support \u0026 Testing\n\n### ✅ Tested Platforms\n\n* **macOS 14.6.0 (Sonoma)** - Primary testing platform, fully tested and supported\n* **macOS 13+ (Ventura)** - Compatible and tested\n* **Linux (Ubuntu 22.04+)** - Compatible with most distributions\n\n### 🔧 Cross-Platform Features\n\n* **Shell compatibility**: Uses POSIX-compliant bash features\n* **File operations**: Cross-platform `stat` commands (macOS `-f`, Linux `-c`)\n* **Package managers**: Auto-detects npm, yarn, pnpm, bun across platforms\n* **Git operations**: Standard git commands that work everywhere\n\n## 🧭 What the installer does (in order)\n\n1. **Runs SvelteKit creator**\n   Uses `npx sv create \"$@\"` to start a new project (your answers go to SvelteKit’s wizard).\n\n2. **Detects the created project directory**\n   Automatically `cd`’s into it (even if SvelteKit created a subfolder).\n\n3. **Installs base packages**\n   Installs a curated set of deps for this starter.\n\n4. **Auth picker (interactive)**\n   Choose:\n\n   * `0` None (default)\n   * `1` `@auth/sveltekit` (reminder: install your adapter)\n   * `2` `lucia` (reminder: install your adapter)\n\n   If you choose **Auth.js**, it also runs `npx auth secret`.\n\n5. **Database / data layer picker (interactive)**\n   Choose from Prisma, Drizzle ORM, Supabase, Neon, MongoDB, Redis, etc., or **None** (default).\n   Some options kick off a small init step (e.g., `prisma init`, `drizzle-kit init`).\n\n6. **(Optional) Merge a template repository**\n   By default, uses:\n   `https://github.com/blockchainhub/sveltekit-mota.git`\n   Override with `--template \u003crepo-url\u003e`.\n\n7. **Initialize git (if needed) \u0026 make a quiet scaffold commit**\n   Initializes a repository if none exists and captures the initial state.\n\n8. **Run npm-check-updates locally and clean up**\n   Updates package ranges to latest, reinstalls, then removes `npm-check-updates`.\n\n9. **Augment `.gitignore`**\n   Appends extra ignores to the end of your existing `.gitignore`:\n\n   * OS cruft: `._*`\n   * Logs: `*.log`, `*.log.*`, tool-specific debug logs, `logs`, `*.pid`, …\n   * Editor folders: `.idea/`, `.vscode/`, etc.\n   * **Optional:** ignore lockfiles (default **Yes**). If chosen, adds common lockfiles to `.gitignore`.\n\n10. **(Optional) Copy shared assets from this starter repo**\n\n    * **`.editorconfig`** (default **Yes**):\n      Pulled from `editors/.editorconfig` and placed at project root as `.editorconfig`.\n    * **`.github`** (default **No**):\n      Copies `providers/.github/` to your project root as `.github` (includes `ISSUE_TEMPLATE`).\n      If retrieval fails, the installer **prints a failure and skips**—no fallback files.\n\n11. **License selection (interactive)**\n    Default is **CORE** (your org’s license). You can also choose from common SPDX licenses or **None**:\n\n    * CORE (custom)\n\n      * Fetches from: `https://raw.githubusercontent.com/bchainhub/core-license/refs/heads/main/LICENSE`\n      * Writes to `LICENSE` and sets `package.json` → `\"license\": \"SEE LICENSE IN LICENSE\"` (npm-compliant for non-SPDX).\n    * SPDX licenses (MIT, Apache-2.0, GPL-3.0-or-later, AGPL-3.0-or-later, LGPL-3.0-or-later, BSD-2/3, MPL-2.0, Unlicense, CC0-1.0, ISC, EPL-2.0)\n\n      * Fetched from canonical text endpoints.\n      * Writes to `LICENSE` and sets `package.json` → `\"license\": \"\u003cSPDX-ID\u003e\"`.\n    * None\n\n      * Skips creating `LICENSE` and leaves `package.json` alone.\n\n    \u003e If the license text can’t be fetched, the script prints an error and **does not** modify `package.json`.\n\n12. **Final (optional) local commit**\n    Prompt: “Create a single git commit with all current changes (no push)?” Default **No**.\n    If **Yes**, it stages everything and commits locally. **It never pushes.**\n\n## 🧩 Options \u0026 flags\n\n* `--template \u003cgit-url\u003e`\n  Use a different template repository for the initial project structure.\n  Example:\n\n  ```bash\n  ./sv-starter.sh --template https://github.com/your-org/your-sveltekit-template.git\n  ```\n\n* Any additional arguments after `--` are forwarded to `sv create`.\n  Example:\n\n  ```bash\n  bash -c \"$(curl -fsSL https://raw.githubusercontent.com/bchainhub/sveltekit-starter/main/sv-starter.sh)\" -- --name my-app\n  ```\n\n## 📝 What to expect during prompts\n\n* **Auth:** pick none/Auth.js/Lucia.\n* **DB:** pick a data layer (or None).\n* **Ignore lockfiles:** default **Yes** (adds them to `.gitignore`).\n* **Copy `.editorconfig`:** default **Yes** (from `editors/.editorconfig`).\n* **Copy `.github` folder:** default **No** (from `providers/.github/`).\n* **License:** default **CORE**.\n\n  * For CORE (non-SPDX) we set `package.json` → `\"SEE LICENSE IN LICENSE\"`.\n  * For SPDX licenses we write the SPDX ID to `package.json`.\n* **Final commit:** default **No** (never pushes).\n\n## 🔐 Security note\n\nRunning remote scripts is convenient but sensitive. Review the script URL before running:\n\n```bash\ncurl -fsSL https://cdn.jsdelivr.net/gh/bchainhub/sveltekit-starter/sv-starter.sh | less\n```\n\nThen run it once you are comfortable using:\n\n```bash\nbash -c \"$(curl -fsSL https://raw.githubusercontent.com/bchainhub/sveltekit-starter/main/sv-starter.sh)\"\n```\n\n## 🧯 Troubleshooting\n\n* **“command not found: npx / pnpm / git / curl”**\n  Install the missing tool and rerun.\n* **Template/asset copy fails**\n  The script prints a ❌ message and skips that step—no fallbacks are written.\n  Check the URL/branch/path and your network access.\n* **License wasn’t set in `package.json`**\n  This only happens if fetching the license text failed. Fix the URL/network and rerun that step, or set `license` manually.\n\n## 🧱 Reproducible asset copies (optional)\n\nIf you want to pin the asset copy steps to an exact commit:\n\n* Replace the raw base:\n\n  ```bash\n  https://raw.githubusercontent.com/bchainhub/sveltekit-starter/\u003cCOMMIT_SHA\u003e\n  ```\n\n* After cloning the starter repo, check out the same SHA before syncing:\n\n  ```bash\n  git -C \"$STARTER_TMP\" checkout \u003cCOMMIT_SHA\u003e --quiet || true\n  ```\n\n## 📂 What gets created\n\n* A SvelteKit project with your selections.\n* `package.json` with updated dependencies and (optionally) `license`.\n* `.gitignore` with enhanced ignores (+ optional lockfile excludes).\n* Optional `.editorconfig` and `.github/ISSUE_TEMPLATE` from the starter repo.\n* `LICENSE` file per your selection.\n\nHappy hacking! ✨\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbchainhub%2Fsveltekit-starter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbchainhub%2Fsveltekit-starter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbchainhub%2Fsveltekit-starter/lists"}