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..3ae5a88 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@1e60f620b9541d16bece96c5465dc8ee9832be0b # 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..24be58b 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 @@ -28,6 +28,7 @@ Project specific context and directives for AI agents. - **Dynamic segment:** All localized pages and layouts must be nested inside [`src/app/[locale]/`](src/app/[locale]/). - **Awaiting params:** Layout and Page `params` props are Promises in Next.js 15/16. Always `await params` before accessing `locale`. +- **Static Export:** Call `setRequestLocale(locale)` in layout and page server components, and export `generateStaticParams()` to support static HTML export (`output: 'export'`). - **Navigation:** Never import `Link`, `useRouter`, or `usePathname` from standard `next/link` or `next/navigation`. Always import them from local configuration helpers in [`src/i18n/navigation.ts`](src/i18n/navigation.ts). --- @@ -35,5 +36,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..07cca28 100644 --- a/COPYRIGHT.md +++ b/COPYRIGHT.md @@ -1,4 +1,5 @@ -Copyright © 2025 The Stable Order
+# Copyright +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 deleted file mode 100644 index e0e23b1..0000000 --- a/Contributors.md +++ /dev/null @@ -1,15 +0,0 @@ -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). - -## Contributors - -By having yourself in the table below, all your contributions to this project -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 | diff --git a/MAINTAINERS.md b/MAINTAINERS.md new file mode 100644 index 0000000..8c0e0a5 --- /dev/null +++ b/MAINTAINERS.md @@ -0,0 +1,23 @@ +# Maintainers, Mentors and Ideators + +This document lists the individuals fulfilling the key roles of [Maintainer](https://github.com/AOSSIE-Org/Info/blob/main/Roles/Maintainer.md), [Mentor](https://github.com/AOSSIE-Org/Info/blob/main/Roles/Mentors.md) and [Ideator](https://github.com/AOSSIE-Org/Info/blob/main/Roles/Ideator.md) for this repository, in accordance with [AOSSIE's Role Definitions](https://github.com/AOSSIE-Org/Info/tree/main/Roles). + +--- + +## Ideators + +| Name | GitHub Username | Discord Username | Project / Feature Idea | Area / Focus | Proposal / Discussion Link | +| ---- | --------------- | ---------------- | ------------------------------- | -------------------- | ------------------------------------------- | +| TODO | @username | @discord_user | Context-First AI Infrastructure | AI Workflow & Skills | [Discussion](https://github.com/AOSSIE-Org) | + +## Mentors + +| Name | GitHub Username | Discord Username | Area / Focus | +| ---- | --------------- | ---------------- | ----------------------------------- | +| TODO | @username | @discord_user | whole Project Guidance & PR Reviews | + +## Maintainers + +| Name | GitHub Username | Discord Username | Area / Focus | +| ---- | --------------- | ---------------- | -------------------------------- | +| TODO | @username | @discord_user | Repository Maintenance & Merging | \ No newline at end of file diff --git a/README.md b/README.md index 306284f..dac027b 100644 --- a/README.md +++ b/README.md @@ -3,8 +3,8 @@
- AOSSIE logo - Template project logo + AOSSIE logo + TODO: project's logo
@@ -13,7 +13,7 @@
-[![Static Badge](https://img.shields.io/badge/AOSSIE-Webpage--Starter-228B22?style=for-the-badge&labelColor=FFC517)](https://aossie.org/) +[![Static Badge](https://img.shields.io/badge/TODO:(Project--NAME)AOSSIE-TODO:Webpage-228B22?style=for-the-badge&labelColor=FFC517)](https://TODO:project.aossie.org/)
@@ -21,7 +21,7 @@

-Telegram Badge +Telegram Badge    @@ -29,20 +29,22 @@    -Discord AOSSIE +Discord AOSSIE -Discord Stability Nexus +Discord Stability Nexus    - LinkedIn Badge + LinkedIn Badge    - Youtube Badge + Subscribe to AOSSIE + - Youtube Badge + Subscribe to Stability Nexus +

@@ -52,15 +54,13 @@

TODO: Project Name (AOSSIE Webpage Starter)

-[TODO](https://TODO.aossie.org/) is a ... TODO: Project Description. +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 +81,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 +95,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. +- **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 `/en` for English as default) with clean 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,37 +119,43 @@ 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 │ │ └── hi.json # Hindi translation dictionary │ ├── app/ -│ │ ├── sitemap.ts # Dynamically generated localized sitemaps +│ │ ├── page.tsx # Root page redirecting to default locale (/en) for static export +│ │ ├── sitemap.ts # Statically generated localized sitemaps │ │ └── [locale]/ # Localized route group │ │ ├── layout.tsx # Multi-lingual layout injecting client context & translations │ │ ├── page.tsx # Localized Landing Page ("use client") │ │ ├── globals.css # Global styles for the app segment │ │ ├── error.tsx # Localized Error Boundary page fallback │ │ └── not-found.tsx # Localized 404 page fallback -│ ├── components/ -│ │ ├── LanguageSwitcher.tsx # Dropdown element to switch interface locales interactively -│ │ ├── ThemeToggle.tsx # Multi-state theme switch with micro-animations -│ │ └── providers/ -│ │ ├── theme-provider.tsx # Next-themes client wrapper component -│ │ └── lenis-provider.tsx # Lenis smooth scrolling provider wrapper -│ └── proxy.ts # Next.js 16 Proxy Middleware for route and locale redirection +│ └── components/ +│ ├── LanguageSwitcher.tsx # Dropdown element to switch interface locales interactively +│ ├── ThemeToggle.tsx # Multi-state theme switch with micro-animations +│ └── providers/ +│ ├── theme-provider.tsx # Next-themes client wrapper component +│ └── lenis-provider.tsx # Lenis smooth scrolling provider wrapper ├── .coderabbit.yml # Automated AI Code Review configuration ├── COPYRIGHT.md # Copyright terms ├── Contributors.md # Project contributors list @@ -245,6 +251,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,45 +318,50 @@ 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 `/en` for English (the default locale). + +### Building for Production (Static Export) -### Building for Production +Compile and export the project into static HTML/CSS/JS assets for hosting on GitHub Pages: -Compile and optimize the project: ```bash npm run build ``` -This compiles optimized static pages under the `/[locale]` path and checks all TypeScript configurations. - -### Running in Production - -Start the optimized server: -```bash -npm run start -``` +This generates an optimized static export in the `./out` directory, fully configured for client-side rendering and hosting on GitHub Pages. --- ## ⚙️ 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/brand/icons/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. + +### 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. + +### 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. -### 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. +### 4. SEO & i18n Localization Metadata -### 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. +- **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. -### 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. +### 5. Mobile & AI Platform Configurations -### 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. +- **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 +378,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/Brand.md b/brand/Brand.md deleted file mode 100644 index db55752..0000000 --- a/brand/Brand.md +++ /dev/null @@ -1,40 +0,0 @@ -# AOSSIE Brand Guidelines - -This document details the visual identity guidelines for **AOSSIE** (Australian Open Source Software Innovation and Education). - ---- - -## 🎨 Color Palette - -The AOSSIE color scheme is inspired by Australia's national colors and reflects the organization's roots. - -| Color Name | Color Sample | HEX Code | RGB Code | Role | -| :--- | :--- | :--- | :--- | :--- | -| **Golden Wallet** | 🟡 | `#FFCD00` | `rgb(255, 205, 0)` | Primary Brand Color | -| **Baggy Green** | 🟢 | `#00843D` | `rgb(0, 132, 61)` | Secondary Brand Color | -| **Neutral Dark** | ⬛ | `#121212` | `rgb(18, 18, 18)` | Dark Layouts & Text | -| **Neutral Light** | ⬜ | `#FFFFFF` | `rgb(255, 255, 255)` | Light Layouts & Text | -| **Neutral Muted** | 🔘 | `#7A7A7A` | `rgb(122, 122, 122)` | Borders & Muted Text | - ---- - -## 👁️ Visual Assets - -### 1. Brand Logo -The official vector logo is stored in the repository in **SVG** format: -- **Project Folder:** [logo.svg](brand/logo.svg) -- **Web App Asset:** [aossie_logo.svg](public/assets/icons/aossie_logo.svg) - -### 2. Favicons & Icons -The standard web browser tab icon is stored as a multi-resolution ICO file: -- **Project Folder:** [favicon.ico](brand/favicon.ico) -- **Web App Asset:** [favicon.ico](public/assets/icons/favicon.ico) - ---- - -## ✍️ Typography - -- **Default Font Family:** **Inter** -- **Fallback Stack:** `ui-sans-serif, system-ui, sans-serif` -- **Configuration:** Set globally via Tailwind CSS v4 custom theme bindings inside [`globals.css`](src/app/[locale]/globals.css) and loaded asynchronously in the root layout via Next.js Google Font optimizer. - 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/next.config.ts b/next.config.ts index 97700d8..ef8ec19 100644 --- a/next.config.ts +++ b/next.config.ts @@ -2,14 +2,12 @@ import type { NextConfig } from "next"; import path from "path"; const nextConfig: NextConfig = { - webpack: (config) => { - config.resolve.alias["next-intl/config"] = path.resolve( - process.cwd(), - "./src/i18n/request.ts" - ); - return config; + output: "export", + images: { + unoptimized: true, }, turbopack: { + root: path.resolve(process.cwd()), resolveAlias: { "next-intl/config": "./src/i18n/request.ts", }, diff --git a/package-lock.json b/package-lock.json index fc0019b..b441a81 100644 --- a/package-lock.json +++ b/package-lock.json @@ -25,6 +25,9 @@ "eslint-config-next": "16.2.11", "tailwindcss": "^4", "typescript": "^5" + }, + "engines": { + "node": ">=20.9.0" } }, "node_modules/@alloc/quick-lru": { 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..0301ffd 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/brand/Brand.md b/public/brand/Brand.md new file mode 100644 index 0000000..5083492 --- /dev/null +++ b/public/brand/Brand.md @@ -0,0 +1,61 @@ +# Brand Guidelines + +This document details the visual identity guidelines for **TODO: Project Name** as well as the parent **AOSSIE** organization. + +--- + +## 🎨 TODO: Project Color Palette + +Define your project's custom color palette below: + +| Color Name | Color Sample | HEX Code | RGB Code | Role | +| :--- | :--- | :--- | :--- | :--- | +| **TODO: Primary Color** | 🟦 | `#000000` | `rgb(0, 0, 0)` | Primary Project Color | +| **TODO: Secondary Color** | 🟩 | `#000000` | `rgb(0, 0, 0)` | Secondary Project Color | + +--- + +## 👁️ TODO: Project Visual Assets + +### 1. Project Logo + +The official vector logo for this project: + +- **Branding Asset:** [todo-project-logo.svg](icons/todo-project-logo.svg) +- **Web App Asset Path:** `/brand/icons/todo-project-logo.svg` + +### 2. Project Favicon & Icons + +The browser tab favicon for this project: + +- **Branding Asset:** [todo-project-favicon.ico](brand/icons/todo_project_favicon.ico) +- **Web App Asset Path:** `/brand/icons/favicon.ico` + +--- + +## ✍️ Typography + +- **Default Font Family:** **Inter** +- **Fallback Stack:** `ui-sans-serif, system-ui, sans-serif` +- **Configuration:** Set globally via Tailwind CSS v4 custom theme bindings inside [`globals.css`](src/app/[locale]/globals.css) and loaded asynchronously in the root layout via Next.js Google Font optimizer. + +--- + +## 🏛️ AOSSIE Organization Branding + +The parent organization (AOSSIE - Australian Open Source Software Innovation and Education) branding guidelines: + +### Color Palette + +| Color Name | Color Sample | HEX Code | RGB Code | Role | +| :--- | :--- | :--- | :--- | :--- | +| **Golden Wallet** | 🟡 | `#FFCD00` | `rgb(255, 205, 0)` | Primary Brand Color | +| **Baggy Green** | 🟢 | `#00843D` | `rgb(0, 132, 61)` | Secondary Brand Color | +| **Neutral Dark** | ⬛ | `#121212` | `rgb(18, 18, 18)` | Dark Layouts & Text | +| **Neutral Light** | ⬜ | `#FFFFFF` | `rgb(255, 255, 255)` | Light Layouts & Text | +| **Neutral Muted** | 🔘 | `#7A7A7A` | `rgb(122, 122, 122)` | Borders & Muted Text | + +### Organization Assets + +- **AOSSIE Logo:** [aossie_logo.svg](brand/icons/aossie_logo.svg) (`/brand/icons/aossie_logo.svg`) +- **Stability Nexus Logo:** [stability_nexus_logo.svg](brand/icons/stability_nexus_logo.svg) (`/brand/icons/stability_nexus_logo.svg`) diff --git a/public/brand/icons/aossie_logo.svg b/public/brand/icons/aossie_logo.svg new file mode 100644 index 0000000..2b66763 --- /dev/null +++ b/public/brand/icons/aossie_logo.svg @@ -0,0 +1,7 @@ + + + + + + + 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/assets/icons/favicon.ico b/public/favicon.ico similarity index 100% rename from public/assets/icons/favicon.ico rename to public/favicon.ico 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..c20107f 100644 --- a/public/llms.txt +++ b/public/llms.txt @@ -1,6 +1,7 @@ -# 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. +TODO: Project Description +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 +9,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`). @@ -35,4 +36,4 @@ This repository is a high-performance webpage starter template built on **Next.j ## 📦 Build Commands - **Build:** `npm run build` -- **Develop:** `npm run dev` +- **Develop:** `npm run dev` \ No newline at end of file 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..47cb468 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. -Sitemap: https://project.aossie.org/sitemap.xml +# Replace the placeholder domain TODO:'project.aossie.org' below with your actual project production domain. +Sitemap: https://TODO: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({