From 3c2544518a15140899625a6e0c0f72e2f635c831 Mon Sep 17 00:00:00 2001 From: Saksham Jain Date: Fri, 31 Jul 2026 09:20:27 +0530 Subject: [PATCH 1/8] refactor(branding,docs): relocate brand folder to public/brand and update bootstrap setup checklist - Move brand guidelines and assets to public/brand and public/brand/icons - Update asset paths across documentation, metadata, AI configs, and components - Refactor relative imports to use @/* path aliases across app routes - Add Devanagari font fallback and locale-aware layout metadata - Update README setup checklist to cover all TODO repository placeholders --- .coderabbit.yml | 4 +- .github/workflows/ci.yml | 11 ++- AGENTS.md | 6 +- COPYRIGHT.md | 2 +- Contributors.md | 6 +- README.md | 77 ++++++++++++-------- brand/logo.svg | 1 - package.json | 7 +- public/.well-known/ai-plugin.json | 14 ++-- public/.well-known/assetlinks.json | 4 +- public/assets/icons/aossie_logo.svg | 1 - public/assets/icons/favicon.ico | Bin 16166 -> 0 bytes {brand => public/brand}/Brand.md | 8 +- public/brand/icons/aossie_logo.svg | 7 ++ {brand => public/brand/icons}/favicon.ico | Bin public/brand/icons/stability_nexus_logo.svg | 17 +++++ public/file.svg | 1 - public/globe.svg | 1 - public/llms.txt | 6 +- public/next.svg | 1 - public/robots.txt | 2 +- public/stability.svg | 14 ---- public/vercel.svg | 1 - public/window.svg | 1 - src/app/[locale]/error.tsx | 1 + src/app/[locale]/globals.css | 14 +++- src/app/[locale]/layout.tsx | 31 +++++--- src/app/[locale]/not-found.tsx | 2 +- src/app/[locale]/page.tsx | 16 ++-- src/components/LanguageSwitcher.tsx | 4 +- src/components/ThemeToggle.tsx | 7 +- src/i18n/metadata.ts | 4 +- 32 files changed, 156 insertions(+), 115 deletions(-) delete mode 100644 brand/logo.svg delete mode 100644 public/assets/icons/aossie_logo.svg delete mode 100644 public/assets/icons/favicon.ico rename {brand => public/brand}/Brand.md (84%) create mode 100644 public/brand/icons/aossie_logo.svg rename {brand => public/brand/icons}/favicon.ico (100%) create mode 100644 public/brand/icons/stability_nexus_logo.svg delete mode 100644 public/file.svg delete mode 100644 public/globe.svg delete mode 100644 public/next.svg delete mode 100644 public/stability.svg delete mode 100644 public/vercel.svg delete mode 100644 public/window.svg diff --git a/.coderabbit.yml b/.coderabbit.yml index 8aaf7f9..b86a0a0 100644 --- a/.coderabbit.yml +++ b/.coderabbit.yml @@ -226,8 +226,8 @@ reviews: Review test files for: - Comprehensive coverage of contract behavior - # Asset files (images, fonts, etc.) - - path: "assets/**/*" + # Asset files (icons, assets, images, fonts, etc.) + - path: "public/brand/**/*" instructions: | Review asset files for: - Image optimization (appropriate size and format) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3c4ba2c..173e7c9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -6,6 +6,9 @@ on: pull_request: branches: [ "main" ] +permissions: + contents: read + jobs: build: runs-on: ubuntu-latest @@ -16,10 +19,10 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v4 - + uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + - name: Setup Node.js - uses: actions/setup-node@v4 + uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0 # v4.0.3 with: node-version: ${{ matrix.node-version }} cache: 'npm' @@ -31,4 +34,4 @@ jobs: run: npm run lint - name: Build project - run: npm run build + run: npm run build \ No newline at end of file diff --git a/AGENTS.md b/AGENTS.md index 907b1ad..a429bc3 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -4,9 +4,9 @@ This version has breaking changes — APIs, conventions, and file structure may all differ from your training data. Read the relevant guide in `node_modules/next/dist/docs/` before writing any code. Heed deprecation notices. -# AOSSIE Webpage Starter +# TODO: Project Title -Project specific context and directives for AI agents. +TODO: Project specific context and directives for AI agents. ## 🛠️ Stack & Commands @@ -35,5 +35,5 @@ Project specific context and directives for AI agents. ## 📦 Project Boundaries - **Config alias map:** Webpack & Turbopack alias resolvers are manually defined in [`next.config.ts`](next.config.ts) mapping `"next-intl/config"` to our local request setup. Do not import the native `@swc/core` compiler plugin wrapper `createNextIntlPlugin` directly to avoid security policy native module blocks. -- **Branding Assets:** The official branding logo, favicon, and style specifications reside inside [`brand/`](brand/). +- **Branding Assets:** The official branding logo, favicon, and style specifications reside inside [`public/brand/`](public/brand/). diff --git a/COPYRIGHT.md b/COPYRIGHT.md index d9467d0..471ccb9 100644 --- a/COPYRIGHT.md +++ b/COPYRIGHT.md @@ -1,4 +1,4 @@ -Copyright © 2025 The Stable Order
+Copyright © 2026 The Stable Order
All rights reserved. All works in this repository may be used according to the conditions diff --git a/Contributors.md b/Contributors.md index e0e23b1..54f2084 100644 --- a/Contributors.md +++ b/Contributors.md @@ -1,8 +1,8 @@ This file contains information about people who contribute to this project. Please do not contact these people directly. -Instead, join our [Discord](https://discord.gg/fuuWX4AbJt) and communicate about -this project in the [TODO channel](TODO). +Instead, join our [Discord AOSSIE](https://discord.gg/hjUhu33uAn) or join our [Discord Stability Nexus](https://discord.gg/fuuWX4AbJt) and communicate about +this project in the [TODO Channel](TODO). ## Contributors @@ -12,4 +12,4 @@ are made under the terms of the [Developer Certificate of Origin](DCO.md). | Name | Github Username | Discord Username | Email Address | | -------------------------------- | ------------------ | ------------------ | ---------------------------- | | Bruno Woltzenlogel Paleo | @Zahnentferner | @b.wp | zahnentferner@gmail.com | -| TODO | TODO | TODO | TODO | +| Saksham Jain | @reach2saksham | @theonlypro | reach2saksham2004@gmail.com | diff --git a/README.md b/README.md index 306284f..b9035af 100644 --- a/README.md +++ b/README.md @@ -3,8 +3,8 @@
- AOSSIE logo - Template project logo + AOSSIE logo + TODO project's logo
@@ -40,9 +40,9 @@    - Youtube Badge + Youtube AOSSIE Badge - Youtube Badge + Youtube Stability Nexus Badge

@@ -54,13 +54,11 @@ [TODO](https://TODO.aossie.org/) is a ... TODO: Project Description. -A high-performance, developer-friendly webpage starter kit built on **Next.js 16 (App Router)**, **React 19**, **Tailwind CSS v4**, and pre-configured for **Internationalization (i18n)** and **Localization (l10n)** using **next-intl**. - -This starter is designed for organizations looking to kickstart their web presence with a fully accessible, multi-lingual, and responsive architecture out-of-the-box. +A high-performance, developer-friendly webpage built on **Next.js 16 (App Router)**, **React 19**, **Tailwind CSS v4**, and pre-configured for **Internationalization (i18n)** and **Localization (l10n)** using **next-intl**. --- -## 🚀 Features +## 🚀 Project's Features TODO: List your main features here: @@ -81,13 +79,13 @@ TODO: Update based on your project In the checklist below, mark the items that have been completed for your project: -* [x] The project has a logo (`brand/logo.svg`). -* [x] The project has a favicon (`brand/favicon.ico`). +* [x] The project has a logo (`public/brand/icons/aossie_logo.svg`). +* [x] The project has a favicon (`public/brand/icons/favicon.ico`). * [x] The web frontend: - [x] Has proper title and metadata. - [x] Has proper open graph metadata, to ensure that it is shown well when shared in social media. - [x] Has a footer and header with AOSSIE logos and social handles. - - [x] Is client-side rendered (`"use client"` configured for pages). + - [x] Uses React Server Components by default, introducing Client Components (`"use client"`) only when interactivity or client hooks are required. - [x] Is deployed to GitHub Pages via a GitHub Workflow (`.github/workflows/nextjs.yml`). - [x] Has automated CI build and lint validation (`.github/workflows/ci.yml`). - [x] Has CodeRabbit automated AI code review (`.coderabbit.yml`). @@ -95,14 +93,14 @@ In the checklist below, mark the items that have been completed for your project --- -## 🚀 Key Features +## 🚀 Website's Features - **Next.js 16 & React 19:** Utilizing the latest Server Components, Client Actions, and async routing paradigms. - **Tailwind CSS v4:** Modern utility-first styling with native CSS variables and streamlined postcss integrations. - **Dual Theme System:** Flash-free light, dark, and system preferred themes using `next-themes` and Tailwind CSS v4 custom variants. - **Robust i18n & l10n:** Deeply integrated multi-language support: - Automatic locale detection based on browser preferences. - - Subpath routing (e.g., `/en`, `/hi`) with clean `as-needed` URL prefixing. + - Subpath routing (e.g., `/hi` for Hindi, and unprefixed `/` for English as default) with clean `as-needed` URL prefixing. - Sleek, interactive language switcher client component. - Zero-bundle-size footprint for static translations using Server Components & Client `useTranslations`. - **Developer Experience:** Strict TypeScript compilation and ES Lint setup. @@ -119,18 +117,24 @@ Here is a breakdown of the key i18n directories and files: ```text ├── .github/ │ └── workflows/ # GitHub Actions (CI, GitHub Pages deployment, merge conflict checks) -├── brand/ -│ ├── logo.svg # Vector logo -│ ├── favicon.ico # Browser tab icon -│ └── Brand.md # Official AOSSIE brand guidelines document ├── next.config.ts # Alias-wrapped Next configuration ├── public/ # Static assets, robots.txt, assetlinks.json, llms.txt +│ ├── .well-known/ +│ ├── llms.txt +│ ├── robots.txt +│ └── brand/ +│ ├── Brand.md # Official AOSSIE brand guidelines document +│ └── icons/ +│ ├── aossie_logo.svg # AOSSIE Vector logo +│ ├── stability_nexus_logo.svg # Vector logo +│ └── favicon.ico # Browser tab icon ├── src/ │ ├── config/ │ │ └── languages.ts # Central registry of supported languages & locales │ ├── i18n/ │ │ ├── routing.ts # Core i18n routing parameters (locales, defaults) │ │ ├── request.ts # Server-side translation dictionary loading configuration +│ │ ├── metadata.ts # Configuration data, SEO values, or reflection data for a project │ │ └── navigation.ts # Type-safe navigation helpers (Link, useRouter, etc.) │ ├── messages/ │ │ ├── en.json # English translation dictionary @@ -245,6 +249,9 @@ router.replace(pathname, { locale: 'hi' }); The starter kit uses `next-themes` combined with Tailwind CSS v4's class-based custom variants to provide a responsive and flash-free theme experience. #### Customizing Colors + +**Preferred Method** + Tailwind v4 is configured via CSS custom properties in [`src/app/[locale]/globals.css`](src/app/[locale]/globals.css). To adjust the default light and dark theme background or text colors, edit the root variables: ```css @@ -309,7 +316,7 @@ Start the development server: npm run dev ``` -Open [http://localhost:3000](http://localhost:3000) to view it. The application will automatically detect your browser's language preferences and route you to `/en` or `/hi` (or fall back to the default language, English). +Open [http://localhost:3000](http://localhost:3000) to view it. The application will automatically detect your browser's language preferences and route you to `/hi` for Hindi or `/` for English (the default locale, which omits the prefix). ### Building for Production @@ -331,23 +338,29 @@ npm run start ## ⚙️ Initial Project Setup Checklist -When bootstrapping a new project from this starter repository, update the following configurations to align with your project's branding, package naming, and hosting domains: +When bootstrapping a new project from this starter repository, complete the following `TODO` setup checklist to align the repository with your project's branding, metadata, AI agent guidelines, and hosting configurations: + +### 1. Project Identity & Header Details +- **Project Title & Logo ([`README.md`](README.md))**: Update the main project header logo (`public/todo-project-logo.svg`), title `

TODO: Project Name

`, project description, feature list, and tech stack. +- **AI Agent Context ([`AGENTS.md`](AGENTS.md))**: Replace `# TODO: Project Title` and add project-specific directives and rules for AI coding agents. +- **LLM Manifest ([`public/llms.txt`](public/llms.txt))**: Update `# TODO: Project Title` in the root LLM crawler policy. +- **Community & Social Links ([`Contributors.md`](Contributors.md))**: Replace the `[TODO Channel](TODO)` placeholder with your project's Discord, Telegram, or chat channel link. -### 1. Domain Names & Sitemap URL -- **Sitemap Generator ([`src/app/sitemap.ts`](src/app/sitemap.ts))**: Replace the default fallback domain `https://project.aossie.org` with your project's production domain, or set the `NEXT_PUBLIC_SITE_URL` environment variable in your production hosting panel. -- **Search Crawler Rules ([`public/robots.txt`](public/robots.txt))**: Replace the sitemap URL domain `https://project.aossie.org/sitemap.xml` with your production URL. +### 2. Domain Names & Search Engine Crawlers +- **Sitemap Generator ([`src/app/sitemap.ts`](src/app/sitemap.ts))**: Replace the default fallback domain `https://project.aossie.org` with your project's production domain in the source code or set the `NEXT_PUBLIC_SITE_URL` environment variable at build time (e.g., in `.github/workflows/nextjs.yml` or build pipeline settings). +- **Search Crawler Rules ([`public/robots.txt`](public/robots.txt))**: Replace the sitemap URL placeholder domain `TODO:'project.aossie.org'` with your actual production domain. -### 2. Branding Guidelines & Assets -- **Logo & Favicons ([`brand/`](brand/))**: Replace `logo.svg` and `favicon.ico` with your organization's custom logos. Copy these updated assets to the [`public/assets/icons/`](public/assets/icons/) directory as well (`public/assets/icons/aossie_logo.svg` and `public/assets/icons/favicon.ico`). -- **Brand Documentation ([`brand/Brand.md`](brand/Brand.md))**: Document your custom color hex codes, typography selections, and asset paths here to guide future developers and AI coding agents. +### 3. Branding Guidelines & Assets +- **Logo & Favicons ([`public/brand/icons/`](public/brand/icons/))**: Replace `aossie_logo.svg` and `favicon.ico` with your organization's custom logos. +- **Brand Documentation ([`public/brand/Brand.md`](public/brand/Brand.md))**: Document your custom color hex codes, typography selections, and asset paths here to guide future developers and AI coding agents. -### 3. SEO Structured Data -- **Schema.org JSON-LD ([`src/app/[locale]/page.tsx`](src/app/[locale]/page.tsx))**: Locate the `jsonLd` object inside the `Home` component. Replace the default publisher URLs and name fields with your specific project metadata. +### 4. SEO & i18n Localization Metadata +- **Schema.org JSON-LD ([`src/app/[locale]/page.tsx`](src/app/[locale]/page.tsx))**: Locate the `jsonLd` object inside the `Home` component. Update the `publisher.name`, `publisher.url`, and `publisher.logo` fields from `TODO` placeholders to your project metadata. +- **Translation Catalogs ([`src/messages/en.json`](src/messages/en.json), [`src/messages/hi.json`](src/messages/hi.json))**: Update the `heading`, `metaTitle`, and `metaDescription` keys with your project's localized titles and descriptions. -### 4. Mobile & AI Platform Configurations -- **Android App Links ([`public/.well-known/assetlinks.json`](public/.well-known/assetlinks.json))**: Change the package name `org.aossie.starter` and insert your Android application certificate SHA-256 fingerprint to handle incoming domain links on mobile. -- **AI Agent Plugins ([`public/.well-known/ai-plugin.json`](public/.well-known/ai-plugin.json))**: Update the host URLs, contact emails, and description text to describe your final website's features to AI agents. -- **LLM Crawler Rules ([`public/llms.txt`](public/llms.txt))**: Serves the root crawlers policy indicating allowing LLM bot indexing. Update if you wish to block specific AI search engines. +### 5. Mobile & AI Platform Configurations +- **Android App Links ([`public/.well-known/assetlinks.json`](public/.well-known/assetlinks.json))**: Update the package name `TODO:org.aossie.starter` and insert your Android application certificate SHA-256 fingerprint (`TODO:...`). +- **AI Agent Plugins ([`public/.well-known/ai-plugin.json`](public/.well-known/ai-plugin.json))**: Replace all `TODO` placeholders for `name_for_human`, `name_for_model`, `description_for_human`, `description_for_model`, host URLs, contact emails, and legal info links. --- @@ -364,4 +377,4 @@ We welcome contributions of all kinds! To contribute: 4. Push your branch (`git push origin feature/AmazingFeature`). 5. Open a Pull Request for review. -© 2025 AOSSIE. Released under the Apache 2.0 / Open Source License. +© 2026 AOSSIE. Released under the Apache 2.0 / Open Source License. diff --git a/brand/logo.svg b/brand/logo.svg deleted file mode 100644 index 0fecb94..0000000 --- a/brand/logo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/package.json b/package.json index b31b065..f9dd8ff 100644 --- a/package.json +++ b/package.json @@ -2,6 +2,9 @@ "name": "webpage-starter", "version": "0.1.0", "private": true, + "engines": { + "node": ">=20.9.0" + }, "scripts": { "dev": "next dev", "build": "next build", @@ -11,14 +14,12 @@ "dependencies": { "@swc/helpers": "^0.5.23", "lenis": "^1.3.25", - "next": "16.2.11", "next-intl": "^4.13.4", "next-themes": "^0.4.6", "react": "19.2.4", "react-dom": "19.2.4" }, - "devDependencies": { "@tailwindcss/postcss": "^4", "@types/node": "^20", @@ -29,4 +30,4 @@ "tailwindcss": "^4", "typescript": "^5" } -} +} \ No newline at end of file diff --git a/public/.well-known/ai-plugin.json b/public/.well-known/ai-plugin.json index fa93aef..926cb91 100644 --- a/public/.well-known/ai-plugin.json +++ b/public/.well-known/ai-plugin.json @@ -1,18 +1,18 @@ { "schema_version": "v1", - "name_for_human": "AOSSIE Webpage Starter", - "name_for_model": "aossie_webpage_starter", - "description_for_human": "Starter template for AOSSIE web portals showing internationalization and custom theme toggles.", - "description_for_model": "Retrieve settings, theme configuration, and supported locales from the AOSSIE webpage starter.", + "name_for_human": "TODO Project name (AOSSIE Webpage Starter)", + "name_for_model": "todo_project_name (aossie_webpage_starter)", + "description_for_human": "TODO Project description (AOSSIE Webpage Starter)", + "description_for_model": "Retrieve settings, theme configuration, and supported locales from the TODO: Project (AOSSIE webpage starter).", "auth": { "type": "none" }, "api": { "type": "openapi", - "url": "https://aossie.org/openapi.yaml", + "url": "https://TODO.project.aossie.org/openapi.yaml", "is_user_authenticated": false }, - "logo_url": "https://aossie.org/assets/icons/aossie_logo.svg", + "logo_url": "https://TODO.project.aossie.org/brand/icons/aossie_logo.svg", "contact_email": "admin@aossie.org", - "legal_info_url": "https://aossie.org/legal" + "legal_info_url": "https://TODO.project.aossie.org/legal" } diff --git a/public/.well-known/assetlinks.json b/public/.well-known/assetlinks.json index 1cc9bc4..60c5bd9 100644 --- a/public/.well-known/assetlinks.json +++ b/public/.well-known/assetlinks.json @@ -3,9 +3,9 @@ "relation": ["delegate_permission/common.handle_all_urls"], "target": { "namespace": "android_app", - "package_name": "org.aossie.starter", + "package_name": "TODO:org.aossie.starter", "sha256_cert_fingerprints": [ - "14:6D:E9:83:C5:E9:9D:03:7F:10:97:DF:A6:45:12:26:1F:EE:3A:84:14:6D:E9:83:C5:E9:9D:03:7F:10:97:00" + "TODO:14:6D:E9:83:C5:E9:9D:03:7F:10:97:DF:A6:45:12:26:1F:EE:3A:84:14:6D:E9:83:C5:E9:9D:03:7F:10:97:00" ] } } diff --git a/public/assets/icons/aossie_logo.svg b/public/assets/icons/aossie_logo.svg deleted file mode 100644 index 0fecb94..0000000 --- a/public/assets/icons/aossie_logo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/public/assets/icons/favicon.ico b/public/assets/icons/favicon.ico deleted file mode 100644 index 4a56c0adc8ecbb7bf557f3e80966cbce59e43909..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16166 zcmd^`2Y6Lgw#Uy+fCSVKM3I(zBSNrZib_);+(g8J@_+;s`zQ(u2sk1tMnKfD3l{7m zDx`oSf}kLR1qGFMa}%1N4h~{r#!;idIrIDPb53%Jp$NS9KEJtsf7dQ+uf5hTYp=ae zu&e<8bveW0|EX4TXUl42S=O~Q=dp(J=K%0o!7Uo%2gH*>Y8%#sU5rqYU`%!LF;%j)kgiqBSU3sBUyFmOLA)U zmVCE7!K1Y)^L3GKwe#KnYav6tbyY_DdR|)X44?FrOxXm)69=jc_fqi4{vgPwZ6DBs zJ~~3r0(q4813gT=%X2z%RDK3H3!D$%X@)mHzc2ZIq{|m{t0X5nWUsEv1G?pWQs3ANdf%FlS zxjcFKt@HBxrjkFBb}gZ;=vZx9qkk*<)Z8BlRM(pENu&O_{66_X&1mNjIRK+J@+p{_~qaTYzKHt-17|PCBHj45X2lE=l=)e{X+i ztz!k(7z7$`bOMdOcC4fR?wD~(jXG9psbi&-JAr2FDgWFFG=^8mdZU|_HK&_((!1GK z=FD*5j3>^w(&u)uPJTPvYO$rG!7hXCG_g)8Jj*)v-A=VnoSmI?;+*VyEthr(q%G;V z3tQTU?X0F-(ybHU?2>TOtn8!{=5=G5*y(F$Y~=XA&@3O@i|&L|EKYrm+s1wF^)i^7vKi*tHsmgFP=i?onL zn`@|_l~EX83Ko-|Kw0_;Pg6e~6dAte8AUmxsec_>KVVBM$p+c z@Hmvu%`6T#PJ3@AYruZM=(F11iN1Y8=mE@-`|$U>K~F*=qr?;|@b>!sd=zfeS%D%1gYyY}QHtMqfCx|3y!yZ_&A<)vl#=(zLGDX>-ohTsNkE ziB}(CtsG8%n3vxP|1j2i0#sx2wO789xj!mKuEwZ4d>XsU;rZ3@6@{k`&9nmefIZp2 zoi%%9u-rZ>SY|hiL0!_nw|^D(YyU(l$5iXbt_GF;i2bK8LjpR@@boD)db7Xvquk1R zEm!+sif7jb#-kbeyS@C6p>BpE#EM9FK1eYpE%D$!tT}w_f@DcF)#H z*sJ{!`vUFVefb4f8Gj=C2YT}?TYm=sGB#_Exqjgb)=7)@Pg`}+mtv=f}PJ&5Tb=_U&NoSPmA!-^TNaEy%ljpeVc+87;7RB4sN;3G1UFRQ8{Vte=g% z!tfg%AGK;7O#7v`>*t)au+#T*W0~tL(2H@|;@ST(zQ6t{g{K~hP9J#syoa8Ll9m`_ zfBMv}()m8G{yWm?nbX5{uq_$X&zK&LZ#(N;t&yAIarZjDjd7|+{UIJ-QhIStfN`n^ z-%Fk>`M`TyEq-Hf`+qw+@ALdiZ`XeNMB07h**c1}%1=Y`Ic*G-rLQ~r9P(*_1}0r+u`S&2wUlet{k&I zO0@TLZh@!5Zz{foMBcW19>%osHen}~Fx@Ju~O>xRc=%)Gqne=t(tXs{k|1&le<+P{% zOQ1R4$a=Vp@~)))H6hz);}?(7c#)RfR>m`(l)etWU%a;38x!G47GDbS>^|79`QHrI zfVCik{b%gae)s&7{lnqc_-&z0Ci$5rAF=n|psRuftZAAuHFY1Ft`B!@YJIqj}hV1gKQm*sqv8V&4cNU?u2YE<% z{$CwnpOA&U-veSj`(EfK&;D8L|2oGlcue+df9h@`9hYU4w)jC|mG*sd5z=?N*zcUo;;yHfYGTIl7+e-Y-g zk=Cw$(l=|SiU0ignE21caaH%Cq8!CSR_2V{+KkJq-Z-sg3{pu?_3Y>F6z(iO@=Zb1 zE1!MxjDCsi#Z%DfZEQa;w8pNN^4USMKWZO>T%8?$4Cu#xLnt?EH0$+lid}sBwlXj6 z(qGE9!tb18wV9G_u@;V`-j9zWq!s^P;pwk6Gs&zWt&76&DzE%A#zK4(y}a%TgED67 zyv)g_?0dJo>y*?L-yF`K9)LdYF%IL*Sjd0vI{%kq!{MM&42YZea0X&u$|fg(+~?to zJwtv&_IdPUr4z@Xhvr%5leeD3t68JNIxaQ$Ki&TqQsLR~lB7npTg)Bl3Jsi+=#w?Sj=|CWBzffbx`wt1sK&vxkKpKsE?ru)C*qiX?Ydk$+o zET8Dc4*uA=wy$OXoT@zp6!XvY>~+W2=Pe2^$ePx^F>h6=p)#jEKA8W2ht}K)4f?07o`{GvVXd1juWYGh@JJJ;*Aw+#(}ZW z*>H&XvZkJPNXw5##HFlp>N4j|nTPhw`N^OsIwk_E@pAMob>bL{_&tEVz2_KU7e#8w zXnaD;0xJV}4|kiHQej^J(_U_ACw(%#vyQ+u%i z@-GZUouQY2e?$LJzkh^T zvP0{&&wh7C>dg6(@=w95U<`JoLydphTOX-qX8&qmrO{?NSOw-G^C#f@@aj~33U0aX ztWhUfAK>yqWZZP?R^+GJ7mOYX}&O{bv)OCNr<`tsL~?8&dTj?eu*q z4!wILYYc6!1;eoENl*xug6DwVupb4VBkx}ELdRkMyU_9E3qXIyy^-eWVE)j@YP!Vi z`-b#!2mQ(37wP9=^0NOX^0TmiEM;S`{d(Fk2KGR3Ir+1ot)U4?OC0MMzDc!aJet05 z##CnsZ|%rLHtn=-ZotmRk*P8G06Yj*fV)A2{_lWS_KzVy)6l4MEA$cC$TwM`8oqVy z&zOYD6kD17dA!l5l(nc>%bl0Ep!3O3fJUKnz;vKB{5;V2v?oCc5RYsc1c;~khE-~h zrc5?y&(9@41*pvvQ$t-&nVLXQ;`isVtVaI?wL%Rc+)yOP!GB?LdAZzL$U`)>?P$ ze-G%)lW*48Zvez1X6|M{wN76Lngh+(JTI*>onh<2N>B`RmPwBGw%=wxcIzzDyOsLU zd~5FY{_gjqZ&BY;ra6~BejCYs14swyrt>flSg9-aa}DqfT)q@^#{L^v1AhbaNZ;k< zr;?Zd8}IIQ=W1`yU&}tfj`VdY-CndW9x zsC+vy|NhOt#x7;K9furzJ?D++|^iDDTVtm9*qL*u9kTXbASpe$H~@abg#DO@59{ zy{Y^Q5P#v%Ogv`G?`$@C*Eh;fZKQ4;_=&XqS=6-AyQ;pg$?v&sMSmgx50A>vsm-_0 zf5!0Y``cE-=eGUXOUpmX&k54)pFq6o=R53voPAh_y}5t(%XhA}Yq8cY16srPg9WT- z#XQ5<%fq094J|YD2GT>=%R^a%+NU3im;Oi4Uh8}&^$)W@-8O0~9(P}@hdxhUXF>`1 zfOhm_i$`aRVomux`L-pog58lCke5*47J@RQ^o4Wn7UyYD$A*%tj zCvxrsb4m88eu_pU(K0?+^58d^hq6Ls!^cLBDJV-1bL|0xD4!hXeyw6U)s zul=gHMX}Tx=p?B2`c$w8zHyY@;pLyl7WqHr7eLwPCgvS(#y>(Fy4sw7Z$a^`CXUQV ziP(V@-bN4Phfn7WwCkWtK9IkE2&ms1p+le}TxyRXJrv$y@D%`^758C>=3oA568T4f z=HG4O-dp7NKBE3H=v&a2p(V6aKSM~%2a-0iw$=l89sFvkv41E$y8CPXUj&Lf7;C3r zXtf<5IzZd~aYH`qfVc6elL>v8J`}HNPik*#kC#Ce)2sp7i}Dx#US3OjE70EjuCk3{ z8h8JzPJTf9UcT}NAU`8s$<@C84*30vS8cw8Dh3nuw_86#x1rx?#+SD;{MVU8dIj6;&?%beZZ{}kK0_m_vE_mE!! z4}YIWtQ0lz%8iuie18>u4z$k|=W4xw0pDbxI6!`Y{h&C*mRz+V?obRsKT+Z&H&%>L zKAo{(&A}V7FQXjWc?&$ixPNbBpnCe%+hjazEtkEj{qElXqqgEOe3iWr|A)V`#~I%k zB`zy9aoMxzT1HxaZv%7!bRBKfj@Z(?>CN^0UjcR6|HRoQRve9AzZ(0-QKtCl8T431 z{3lJKS>SPCjl0RK88I)H`4)(Eca| zuLHHw{ZUX}vUE3)zvb>@k7Ruv#u)3nMXY-N>uKhMHNcy%{&v{^J1O^0ub5QW-CaGl zJeDsuEgnDb)2en_Go^M1#=nl{;s4{O@lMgVp)%)C#^7wAd!F9Hb>2TkUcOFiKy#;i ztmbkt(A>?3XC~0OuUK{-X~lqQQ%br7D2^%uiV@1ee8z;e;t(e|gUt7;{k-2C%<)1e zi#4dXlJ2aDajeC`K>PiEFdO)Hd9Cf|fc)PC@nVPWtBYAjy2Ep)=lm|k*OfU9+0#vs z(~EJ|oo+UG9O(V?9_qS)gK5SA$qKGvFO=I&@K2Yb^9_L5+|1u|*z+oo-~Rym5L9O+ z{>+>ew~~L;^=(cMXbS!;5jj@sS|^TJ`CRP086MpO?gi!8-wmF+;DB^Kn2j|T*dr+R zx`6q+2DHGA6l~S`EZ?Rzta+4w)7sa20_V9il(XYd_~WtPsHHV^G~fToYaKlZzkI9w z-Rf`MBo0Z)^mvQ2=VW6sDA7-TG1XP-oqJPuE7-0K& zFbQARN8fZ*_GkR1=nfsVHGlj&4DOIob9b+l)tb_P6JX_~QJKGpr(-4VgHPBN&h z|8GcWJz#%x)=wT|rn}aEgV~if${!e%@s7pcUmncgMpszE?&yzOf7sDE + + + + + + diff --git a/brand/favicon.ico b/public/brand/icons/favicon.ico similarity index 100% rename from brand/favicon.ico rename to public/brand/icons/favicon.ico diff --git a/public/brand/icons/stability_nexus_logo.svg b/public/brand/icons/stability_nexus_logo.svg new file mode 100644 index 0000000..4b4349f --- /dev/null +++ b/public/brand/icons/stability_nexus_logo.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/public/file.svg b/public/file.svg deleted file mode 100644 index 004145c..0000000 --- a/public/file.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/public/globe.svg b/public/globe.svg deleted file mode 100644 index 567f17b..0000000 --- a/public/globe.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/public/llms.txt b/public/llms.txt index bf89df9..13b552e 100644 --- a/public/llms.txt +++ b/public/llms.txt @@ -1,6 +1,6 @@ -# AOSSIE Webpage Starter Template +# TODO: Project Title (AOSSIE Webpage Starter Template) -This repository is a high-performance webpage starter template built on **Next.js 16 (App Router)**, **React 19**, and **Tailwind CSS v4**. It is pre-configured with **next-intl** for internationalization (i18n) and **next-themes** for semantic dark/light theme tokens. +This repository is a high-performance webpage built on **Next.js 16 (App Router)**, **React 19**, and **Tailwind CSS v4**. It is pre-configured with **next-intl** for internationalization (i18n) and **next-themes** for semantic dark/light theme tokens. --- @@ -8,7 +8,7 @@ This repository is a high-performance webpage starter template built on **Next.j - **`src/app/[locale]/`**: Localized dynamic route group. All pages and layouts live here. - **`src/app/sitemap.ts`**: Dynamically generates localized sitemaps. -- **`brand/`**: Repository branding folder containing the logo, favicon, and brand specifications (`Brand.md`). +- **`public/brand/`**: Repository branding folder containing the logo, favicon, and brand specifications (`Brand.md`). - **`src/config/languages.ts`**: Supported languages configuration list. - **`src/i18n/`**: Configurations for translation lookups and custom navigation helpers. - **`src/messages/`**: Directory containing translation catalogs (e.g., `en.json`, `hi.json`). diff --git a/public/next.svg b/public/next.svg deleted file mode 100644 index 5174b28..0000000 --- a/public/next.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/public/robots.txt b/public/robots.txt index c066013..43d580f 100644 --- a/public/robots.txt +++ b/public/robots.txt @@ -4,5 +4,5 @@ Disallow: /api/ Disallow: /_vercel/ -# Replace the placeholder domain 'project.aossie.org' below with your actual project production domain. +# Replace the placeholder domain TODO:'project.aossie.org' below with your actual project production domain. Sitemap: https://project.aossie.org/sitemap.xml diff --git a/public/stability.svg b/public/stability.svg deleted file mode 100644 index cd2d3a7..0000000 --- a/public/stability.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/public/vercel.svg b/public/vercel.svg deleted file mode 100644 index 7705396..0000000 --- a/public/vercel.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/public/window.svg b/public/window.svg deleted file mode 100644 index b2b2a44..0000000 --- a/public/window.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/app/[locale]/error.tsx b/src/app/[locale]/error.tsx index 30911e6..ebb50b3 100644 --- a/src/app/[locale]/error.tsx +++ b/src/app/[locale]/error.tsx @@ -47,6 +47,7 @@ export default function ErrorBoundary({