{"id":25841265,"url":"https://github.com/egarrisxn/xostarter","last_synced_at":"2026-04-06T21:35:47.664Z","repository":{"id":279863574,"uuid":"940185655","full_name":"egarrisxn/xostarter","owner":"egarrisxn","description":"A modern, optimized Next.js starter template built for performance and flexibility. Technologies: Next.js, React, TypeScript, Tailwind CSS, Radix-UI, Vercel, \u0026 more.","archived":false,"fork":false,"pushed_at":"2026-02-13T15:03:48.000Z","size":851,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-13T23:49:11.358Z","etag":null,"topics":["javascript","next","nextjs","nextjs15","react","react19","reactjs","shadcn-ui","shadcnui","tailwind","tailwindcss","tailwindv4","typescript"],"latest_commit_sha":null,"homepage":"https://xostarter.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/egarrisxn.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-02-27T18:48:56.000Z","updated_at":"2026-02-13T15:03:52.000Z","dependencies_parsed_at":"2025-03-14T19:31:28.933Z","dependency_job_id":"9d20fac2-7d5f-4d7a-85e1-5db9a461867e","html_url":"https://github.com/egarrisxn/xostarter","commit_stats":null,"previous_names":["egarrisxn/egxo-starter"],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/egarrisxn/xostarter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/egarrisxn%2Fxostarter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/egarrisxn%2Fxostarter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/egarrisxn%2Fxostarter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/egarrisxn%2Fxostarter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/egarrisxn","download_url":"https://codeload.github.com/egarrisxn/xostarter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/egarrisxn%2Fxostarter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31491097,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-06T17:22:55.647Z","status":"ssl_error","status_checked_at":"2026-04-06T17:22:54.741Z","response_time":112,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["javascript","next","nextjs","nextjs15","react","react19","reactjs","shadcn-ui","shadcnui","tailwind","tailwindcss","tailwindv4","typescript"],"created_at":"2025-03-01T05:22:54.551Z","updated_at":"2026-04-06T21:35:47.656Z","avatar_url":"https://github.com/egarrisxn.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# **XOStarter**\n\n![opengraph-image](https://github.com/user-attachments/assets/a49fec98-b71b-4f67-8dbd-9c77156effb0)\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) ![GitHub repo size](https://img.shields.io/github/repo-size/egarrisxn/xostarter) ![GitHub last commit](https://img.shields.io/github/last-commit/egarrisxn/xostarter)\n\n## **Overview**\n\nThis is an easy-to-deploy [Next.js](https://nextjs.org) starter template created by [Ethan G.](https://egxo.dev). It is designed to streamline development with modern tools, ensuring a fast and efficient workflow from setup to deployment.\n\n## **Technologies**\n\nThis template leverages a modern tech stack for a smooth developer experience:\n\n- **Programming Language**: [TypeScript](https://www.typescriptlang.org/) – Ensures type safety and better maintainability.\n- **Framework**: [Next.js](https://nextjs.org/) – The leading React framework for hybrid static \u0026 server-side rendering.\n- **Deployment**: [Vercel](https://vercel.com) – Optimized for seamless, serverless deployment.\n- **Styling**: [Tailwind CSS](https://tailwindcss.com/) – Utility-first CSS for rapid styling.\n- **UI Components**: [shadcn/ui](https://ui.shadcn.com/) – A flexible, customizable UI component library.\n- **Animations**: [Motion](https://motion.dev) – Powerful animations with an intuitive API.\n- **Icons**: [lucide-react](https://lucide.dev/) – Crisp, open-source React icons.\n- **Linting \u0026 Formatting**:\n  - [ESLint](https://eslint.org/) – Enforces code quality and best practices.\n  - [Prettier](https://prettier.io/) – Automatic code formatting for consistency.\n\n## **Before You Begin**\n\nThis template uses [pnpm](https://pnpm.io) as the default package manager for faster dependency resolution and disk space efficiency. However, you can switch to `npm`, `yarn`, or `bun` if preferred.\n\n### Updataing Package Manager\n\nBy default, this template enforces `pnpm`. To use another package manager, follow these steps:\n\n#### 1. Remove `pnpm` Enforcement\n\nOpen `package.json` and modify or remove the following lines:\n\n```json\n\"preinstall\": \"npx only-allow pnpm\",\n\"prebuild\": \"pnpm run lint\"\n```\n\n#### 2. Install Dependencies Using Your Preferred Manager\n\nRun one of the following commands:\n\n```bash\nnpm install  # or yarn install, bun install\n```\n\nNow you're ready to start building! 🚀\n\n## **Getting Started**\n\n#### 1. Clone the Template\n\nFirst, clone the repository onto your local machine:\n\n```bash\ngit clone https://github.com/egarrisxn/xostarter.git\ncd xo-starter\n```\n\n#### 2. Install Dependencies\n\nRun the following command to install dependencies:\n\n```bash\npnpm install\n```\n\n#### 3. Start the Development Server\n\nLaunch the local development server:\n\n```bash\npnpm dev\n```\n\n#### 4. Open in Your Browser\n\nOnce the server is running, open [http://localhost:3000](http://localhost:3000) with your browser to see the result.\n\nYou can start editing the page by modifying `app/page.tsx`. The page will auto-update as you edit the file. Now, get to building! 🚀\n\n## **Configuration**\n\nEasily customize your project by updating `utils/config.ts`. This file centralizes important settings, allowing for quick adjustments without modifying multiple files.\n\n## **Styling**\n\nThis project utilizes [shadcn/ui](https://ui.shadcn.com/) alongside [Tailwind CSS v4](https://tailwindcss.com/blog/tailwindcss-v4).\n\nWe will use the `shadcn/ui` CLI to add components. To install a UI component, run the following command, replacing `[component]` with the actual component name:\n\n```bash\npnpm dlx shadcn@latest add [component]\n```\n\n### Updating UI\n\nTo customize the base UI colors, you'll need to reconfigure your CSS variables. Run:\n\n```bash\npnpm dlx shadcn@latest init\n```\n\n## **Fonts**\n\nThis project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) for optimized font loading. By default, it includes [Geist](https://vercel.com/font), a modern typeface by Vercel.\n\nYou can easily swap out the font for another one. I recommend using `next/font` for built-in optimization or self-hosting fonts for better performance. Be mindful of font file sizes if sourcing them locally.\n\n## **Metadata**\n\nSince we are using the app router in **Next.js 15**, many metadata-related assets no longer need to be manually defined in the `\u003cHead\u003e` of your layout. Instead, Next.js automatically picks them up when they are placed in the `app` folder.\n\nFor example, the following files are already recognized by Next.js:\n\n- **OpenGraph \u0026 Twitter images**: `opengraph-image.png` \u0026 `twitter-image.png` + alt. txt files.\n- **Icons**: `favicon.ico`, `apple-icon.png`, `icon.svg`, \u0026 `icon.png`.\n- **Manifest**: `manifest.ts`, `manifest.json`, `manifest.webmanifest`, OR `site.webmanifest`.\n- **SEO \u0026 Crawler files**: `robots.ts` OR `robots.txt` \u0026 `sitemap.ts` OR `sitemap.xml`.\n\nBecause of this, metadata properties like `robots`, `icons`, `manifest`, and OpenGraph/Twitter images are **commented out** in `layout.tsx`. They are left in the code for reference, but they are not necessary unless you want to override the default behavior.\n\nIf you need to customize metadata on a **per-page basis**, you can still define it manually inside a `metadata` object in the corresponding page or layout file. Otherwise, Next.js will handle it automatically.\n\n### Quick Note\n\nFor generating favicons, icons, and a `manifest.json`, I **highly** recommend visiting [Real Favicon Generator](https://realfavicongenerator.net) and using their open-sourced tools.\n\n## **Analytics**\n\nThis template includes [Vercel Analytics](https://vercel.com/docs/analytics) for basic site tracking. After deployment, you can enable analytics through your Vercel dashboard.\n\nIf you prefer another analytics solution or are deploying elsewhere, simply uninstall the package and remove the import from `layout.tsx`.\n\n## **Deployment**\n\nFor a seamless deployment experience, use the **Deploy** button below to launch your project on Vercel.\n\nNote: You are not limited to Vercel and may deploy this template on any platform that supports Next.js. However, in my experience, Vercel provides the fastest and most convenient setup.\n\n[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fegarrisxn%2Fxostarter)\n\n## **Learn More**\n\nTo explore more about Next.js, check out these resources:\n\n- 📖 [Next.js Documentation](https://nextjs.org/docs) – Official docs covering features and best practices.\n- 🛠️ [Next.js GitHub](https://github.com/vercel/next.js) – Browse the source code and contribute.\n\n## **License**\n\nThis project is licensed under the [MIT license](https://opensource.org/licenses/MIT).\n\n## **Contact**\n\nIf you have any questions or need further assistance, feel free to reach out to me at [github.com/garrisxn](https://github.com/egarrisxn) or send an email to [egarrisxn@gmail.com](mailto:egarrisxn@gmail.com) and I'll get back to you as soon as possible!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fegarrisxn%2Fxostarter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fegarrisxn%2Fxostarter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fegarrisxn%2Fxostarter/lists"}