AstroReactPortfolioBlogDocumentationStarter

Cooper — Astro Portfolio Template

By GladTek

Cooper is an open-source Astro template by GladTek that uses a single codebase to support blogs, documentation, changelogs and portfolio cases, with a built-in Tailwind CSS and React component layer, plus i18n and testing configuration.

Explore the design

Compare the page layouts and mobile experience. Open any screenshot for a closer look.

3 previews
Desktop homepage1 / 3
Desktop captureTop of page

Actual screenshot captured by the server browser.

All pages & views 3

Screenshots show visual appearance; interactive behavior may differ.

Recorded 2026-10-05View source

What stands out

A quick read of the recorded project description.

01

A single Astro project hosts blogs, documentation, changelogs and portfolio cases simultaneously

02

Components are layered into UI, Sections, Layout, Blog and Common for easy replacement and reuse

03

MDX documentation engine with a sidebar that automatically groups by folder, anchor links and sticky header alignment

04

Type-safe i18n dictionaries, supporting RTL mirrored layouts and preserving the current path when switching languages

05

Preconfigured Playwright end-to-end tests and Vitest unit/component tests

06

Build commands and deployment entries for Cloudflare, Vercel, Netlify and Node.js

Template Details

Cooper is an Astro template for content-driven sites, placing blogs, documentation, changelogs and portfolio cases within a single project structure. The repository organizes components into UI, Sections, Layout, Blog and Common layers; common modules such as page structure, SEO components, breadcrumbs, theme switching, language selection and cookie consent are already separated for easy content replacement.

The documentation section is based on MDX, with a sidebar that automatically groups by folder and provides anchor links and sticky header alignment. Multilingual support is managed through type-safe .ts and .properties dictionaries, supports RTL layout mirroring, and preserves the current page path when switching languages.

For testing, Playwright end-to-end tests and Vitest unit/component tests are preconfigured, covering flows such as form submission, search indexing, language switching and responsive layout. Deployment provides build commands for Cloudflare, Vercel, Netlify and Node.js, along with one-click deployment entries for the corresponding platforms.

Note that third-party assets such as demo images, fonts and icons in the repository require separate license verification; external services such as domains and hosting may incur additional costs. The template is released under the MIT license, and copyright and license notices must be retained when using and distributing it.

AstroReactPortfolioBlogDocumentationStarter

Is it right for your project?

Use Cases

  • Building a content site that includes both a blog and product documentation
  • Maintaining changelogs and portfolio case pages for an open-source project or product
  • Marketing or documentation sites that need multilingual support (including RTL languages)
  • Astro projects that want ready-made layered components and testing configuration as a starting point

Suitable For

  • Developers using Astro who need a mixed structure for content, documentation and cases
  • Teams that need i18n and RTL support
  • Teams that want end-to-end and unit testing configuration included in the project
  • Projects planning to deploy to Cloudflare, Vercel, Netlify or Node.js

Getting started & customization

Use these recorded setup notes alongside the repository instructions for your chosen version.

  1. 1

    Manual dependency installation requires pnpm 10 or higher

  2. 2

    Copy .env.example to .env before starting the development server

  3. 3

    New projects can be initialized with npx @gladtek/launch-cooper@latest

  4. 4

    Choose the build command according to the target platform: build:cloudflare, build:vercel, build:netlify or the default build

  5. 5

    Third-party assets such as demo images, fonts and icons require separate license verification; external services such as domains and hosting may incur additional charges

Read repository instructions

License & source material

Usage conditions & limitations

Free to use · keep license notice

This entry covers the free version under the MIT license in the public repository; the free scope is the code of this version and does not imply that external services or third-party assets are free.

Must comply with when using

  • Free use, modification, commercial use and distribution of this version's code are permitted.
  • When distributing copies or substantial portions of the code, retain the original author's copyright notice and the full MIT license notice.
  • The code is provided as is; warranties and limitations of liability are governed by the original license and applicable law.

Additional costs & items to verify

  • Demo images, fonts, icons and other third-party assets must be checked against their respective licenses and cannot be judged solely by the code's MIT license.
  • External services such as domains, hosting, databases, payments or AI may incur additional charges.
  • Manual dependency installation requires pnpm 10 or higher; package managers below this version cannot complete installation as documented.
  • Before starting, you must copy .env.example to .env and configure environment variables, otherwise the development server will not run as expected.
  • Deploying to Cloudflare requires the dedicated build:cloudflare build command; using the default build directly may not be suitable for that platform.
  • Deploying to Vercel requires switching to the build:vercel build command and cannot reuse the default build process.
  • Deploying to Netlify requires switching to the build:netlify build command and cannot reuse the default build process.
  • Quick initialization relies on the @gladtek/launch-cooper scaffolding package published on npm, which requires an internet connection to fetch from npm.
View Original Text Basis

Permission is hereby granted, free of charge

Original License Text

1. **Install dependencies** (Requires **pnpm 10+**)

Original README

2. **Configure Environment** ```bash cp .env.example .env ```

Original README

- **Cloudflare**: `pnpm run build:cloudflare` (Recommended)

Original README

- **Vercel**: `pnpm run build:vercel`

Original README

- **Netlify**: `pnpm run build:netlify`

Original README

npx @gladtek/launch-cooper@latest

Original README
https://github.com/GladTek/Cooper/blob/main/LICENSEhttps://github.com/GladTek/Cooper/blob/main/README.md

Compiled by DeepSeek based on repository license and README ·2026-10-05. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.

Project checks & description sources

Template Information

Source platforms
Astro Themes
Documentation and maintenance reference score
More documented · 92 / 100
Technologies
Astro · React
Website type
Portfolio · Blog · Documentation · Starter
How this score is calculated

Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.

What to verify for this project

Repository update recorded
2026-09-22
Screenshot last checked
2026-10-05

A demo link is listed. Check it with your own content and viewport sizes; its presence does not confirm that forms, authentication or payments work.

The catalog identifies Astro as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.

Use a selection guide →

How this description was prepared

AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.

Review declaration: [email protected] · 2026-10-05

Inspect the recorded source material

SHA-256: a1de1cb8c3a6c637113ab9834c59d49b880b18631d047ebdd4faf0b9e3c4b31b

2026-10-05T00:45:48.263Z

Source file / repository
# Cooper - The Ultimate Astro Boilerplate

The advanced, batteries-included template for building blazing-fast modern web applications with **Astro 7**, **Tailwind CSS 4.2**, and **React 19**.

<p align="center">
  <img src="https://img.shields.io/github/v/release/gladtek/cooper?color=%231A81FA&label=Latest&logo=%20" alt="Latest Release" />
</p>

| Cloudflare | Netlify | Vercel |
| :--- | :--- | :--- |
| [![Deploy to Cloudflare Workers](https://deploy.workers.cloudflare.com/button)](https://deploy.workers.cloudflare.com/?url=https://github.com/GladTek/Cooper) | [![Deploy to Netlify](https://www.netlify.com/img/deploy/button.svg)](https://app.netlify.com/start/deploy?repository=https://github.com/GladTek/Cooper) | [![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2FGladTek%2FCooper) |

## Live Demos

| Platform   | URL                                      |
| :--------- | :--------------------------------------- |
| **Cloudflare** | [https://cooper.gladtek.com/](https://cooper.gladtek.com/) |
| **Netlify**    | [https://astro-cooper.netlify.app/](https://astro-cooper.netlify.app/) |
| **Vercel**     | [https://astro-cooper.vercel.app/](https://astro-cooper.vercel.app/) |

## Core Architectural Strategies

This boilerplate is built on several key architectural pillars designed for scale, performance, and developer experience.

### 1. Atomic Component Strategy
We categorize components into functional layers to ensure a clear separation of concerns:
- **UI (Atoms)**: Fundamental building blocks like `Button`, `Badge`, `Heading`, and `Card`.
- **Sections (Molecules/Organisms)**: Composed marketing sections like `Hero`, `FeaturesList`, `CTA`, and `PricingTable`.
- **Layout (Structure)**: Page-level structure including `Header`, `Footer`, `SEO`, and `Breadcrumbs`.
- **Blog (Contextual)**: Content-specific elements like `BlogCard`, `ChangelogItem`, and `TableOfContents`.
- **Common (Utilities)**: System-level utilities like `ThemeToggle`, `LanguagePicker`, and `CookieConsent`.

### 2. Documentation-First Approach
The project features a high-performance documentation engine powered by **MDX** and **Fuse.js**:
- **Categorized Sidebar**: Documentation is automatically grouped by folder (e.g., `ui`, `sections`, `layout`).
- **Premium Typography**: Custom-styled prose optimized for readability.
- **Deep Linking**: Automatic anchor links and perfect scroll alignment with a sticky header.

### 3. Type-Safe Internationalization (i18n)
- **Flat File Dictionary**: Localizations are managed via type-safe `.ts` and `.properties` files.
- **RTL Support**: Automatic layout mirroring for languages like Arabic (`/ar/`).
- **Path Persistence**: Switching languages preserves the current page path.

### 4. Robust Testing Suite
The boilerplate includes a pre-configured, production-ready testing infrastructure:
- **E2E Testing (Playwright)**: Automated flows for Form Submissions, Search Indexing, Language Switching, and Responsiveness.
- **Unit/Component Testing (Vitest)**: Fast, reliable testing for core logic and React islands using JSDOM.

---

## Features

### Core Stack
- **Astro 7**: The latest version of the web framework for content-driven websites.
- **Tailwind CSS 4.2**: Engine-integrated utility-first CSS using modern CSS variables.
- **React 19**: Powered by React 19 for modern concurrent rendering and optimized hydration.
- **TypeScript 6.0**: 100% type-safe codebase.

### Accessibility & Performance
- **WCAG AA/AAA Compliant**: Accessible color contrast and focus state management.
- **SSR/Hydration Optimized**: Production-grade Vite configuration resolving common hydration conflicts.
- **Core Web Vitals**: Precision optimization for LCP and CLS out of the box.

---

## Getting Started

### Quick Start
Initialize a new project instantly:
```bash
npx @gladtek/launch-cooper@latest
```

### Manual Setup
1. **Install dependencies** (Requires **pnpm 10+**)
   ```bash
   pnpm install
   ```
2. **Configure Environment**
   ```bash
   cp .env.example .env
   ```
3. **Start the dev server**
   ```bash
   pnpm run dev
   ```

---

## Testing

Cooper comes with a comprehensive testing suite to ensure stability across deployments.

### End-to-End (E2E)
We use **Playwright** for full browser testing of critical user journeys.
```bash
pnpm run test:e2e        # Run all E2E tests
pnpm run test:e2e:ui     # Open Playwright UI for debugging
```
The suite covers:
- **Contact Flows**: Form validation and submission states.
- **I18n**: Correct language rendering and RTL switching.
- **Search**: Real-time indexing and navigation results.
- **Responsive**: Mobile menu functionality and layout adjustments.

### Unit & Component
We use **Vitest** for fast testing of isolated logic and components.
```bash
pnpm run test:unit       # Run all unit tests
pnpm run test:unit:watch # Watch mode
```

---

## Performance Benchmarks 🚀

Cooper is engineered for speed and accessibility. We enforce these standards via **Lighthouse CI** as a mandatory quality gate for every build:

| Category | Minimum Score | Severity |
| :--- | :---: | :--- |
| ⚡ **Performance** | **90** | `Warn` |
| ♿ **Accessibility** | **95** | `Error` |
| 🛡️ **Best Practices** | **90** | `Error` |
| 🔍 **SEO** | **95** | `Error` |

*Automated audits are performed on the **Homepage** and **Key Blog Content** for every PR to ensure zero performance regression.*

---

## Deployment

The project supports multi-adapter deployment out of the box. Use the corresponding build command:

- **Cloudflare**: `pnpm run build:cloudflare` (Recommended)
- **Vercel**: `pnpm run build:vercel`
- **Netlify**: `pnpm run build:netlify`
- **Node.js**: `pnpm run build` (Default)

---

**Built by Gladtek with ❤️ and the help of AI agents**
Report a correction

Explore similar templates

Compare previews and descriptions within the same stack and category.