AstroStarter

astro-sci-fi-ui — Astro Starter Template

By jonnysmillie

An Astro-first sci-fi interface kit offering cockpit-style frames, panels, HUD and terminal components, with optional charts, tactical maps and browser-side object detection example pages.

Explore the design

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

2 previews
Desktop homepage1 / 2
Desktop captureTop of page

Actual screenshot captured by the server browser.

All pages & views 2

Screenshots show visual appearance; interactive behavior may differ.

Recorded 2026-10-03View source

What stands out

A quick read of the recorded project description.

01

Primarily Astro static output, paired with Tailwind v4 and shared design tokens

02

Provides composable components such as cockpit-style frames, panels, HUD, terminals and radar

03

AppShell and AppNav uniformly handle backgrounds, vignettes, scanlines and global settings

04

Charts, tactical maps and browser-side object detection are enabled on demand via environment variables

05

Built-in themes (synthwave, nebula, ember, matrix, void) with high-contrast and light appearance options

Template Details

This project is a sci-fi interface kit for Astro, primarily built with static HTML and CSS, combined with Tailwind v4 and shared design tokens, for building cockpit-style pages. Components cover frames and panels, HUD elements (corner brackets, crosshairs, status bars, scrollbars), terminal stacks and passive radar, and provide shell effects such as backgrounds, vignettes and scanlines through AppShell and AppNav. Global settings (theme, overlays, motion, sound) are stored in the browser's localStorage under sf:settings.

React is introduced only in specific scenarios: uPlot charts, MapLibre tactical maps, Framer Motion border animations, and an optional TensorFlow.js panel on the /intel route. These features are controlled by environment variable switches, such as PUBLIC_FEATURE_INTEL_ML and PUBLIC_FEATURE_MAP, making it easy to trim demo content as needed.

The repository includes component documentation, architecture notes, token and settings explanations, as well as licensing and privacy notices for third-party assets. The demo map uses public raster tile endpoints; actual deployments must provide their own tiles or a paid solution and comply with the respective terms of service; the camera or file detection on /intel runs in the browser, and YouTube iframes cannot be read by scripts for computer vision.

AstroLauncher

Is it right for your project?

Use Cases

  • Building sci-fi or cockpit-style Astro static site interfaces
  • Previewing HUD, panel, terminal and radar components in component documentation or showcase pages
  • Integrating uPlot charts into dashboard pages and displaying Open-Meteo sample data
  • Running MapLibre tactical maps or COCO-SSD object detection demos in the browser

Suitable For

  • Developers using Astro who want to quickly build sci-fi style interfaces
  • Interface prototypes that need composable HUD, panel and terminal components
  • Teams that want to trim chart, map or machine learning demos via environment variables

Getting started & customization

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

  1. 1

    Requires Node ≥ 22.12; install dependencies with npm install and start the dev server with npm run dev (default port 4321)

  2. 2

    You can set PUBLIC_FEATURE_INTEL_ML=false or PUBLIC_FEATURE_MAP=false in .env to disable the corresponding features

  3. 3

    The map demo uses public raster tile endpoints; for production deployment, replace with your own tiles or a paid solution and comply with the terms of service

  4. 4

    Third-party assets such as demo images, fonts and icons require separate license verification; they cannot be judged solely by the code's MIT license

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 mean 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

  • The demo map uses public raster tile endpoints; production deployment requires providing your own tiles or using a paid solution, and complying with each tile provider's terms.
  • YouTube embedded iframes in the /intel route cannot be read by scripts, so they cannot be used for computer vision processing.
  • The COCO-SSD feature on /intel and the MapLibre feature on /map are controlled by environment variable switches; when disabled, the corresponding pages only show placeholder content.
  • Project materials mention optional paid versions or features; this entry only covers the public free code and does not include paid upgrades.
  • Demo images, fonts, icons and other third-party assets must be checked against their respective licenses; they cannot be judged solely by the code's MIT license.
  • External services such as domains, hosting, databases, payments or AI may incur additional charges.
View Original Text Basis

Permission is hereby granted, free of charge

Original License Text

demo uses public raster endpoints; ship your own tiles or a paid plan and follow each provider’s terms

Original README

YouTube iframes are not script-readable for CV

Original README

Set **`PUBLIC_FEATURE_INTEL_ML=false`** to drop COCO-SSD on `/intel`, or **`PUBLIC_FEATURE_MAP=false`** for a map placeholder without MapLibre.

Original README
https://github.com/jonnysmillie/astro-sci-fi-ui/blob/main/LICENSEhttps://github.com/jonnysmillie/astro-sci-fi-ui/blob/main/README.md

Compiled by DeepSeek based on repository license and README ·2026-10-03. 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 · 83 / 100
Technologies
Astro
Website type
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-04-15
Screenshot last checked
2026-10-03

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-04

Inspect the recorded source material

SHA-256: 847b68703b09c12f521bd5c80135afc4b09b448b327a58019dd74e4543c3af74

2026-10-03T14:16:14.988Z

Source file / repository
# Sci‑Fi UI (Astro)

**Sci‑Fi UI** is an **Astro-first** interface kit for cockpit-style layouts: composable **frames and panels**, **HUD** primitives (corners, reticle, status bars, tickers), a **terminal** stack, and a passive **radar** — all biased toward **static HTML and CSS**, with **Tailwind v4** and shared **design tokens** (themes, glow, scanlines, optional sound). A thin **shell** (`AppShell`, `AppNav`) ties pages together with vignette, grain, and global **settings** persisted in the browser. **React** shows up only where it pays off: **charts** (uPlot), a **MapLibre** tactical map, **Framer Motion** for a few borders, and an optional **TensorFlow.js** panel on the intel route — each gated by env flags so you can ship a lighter fork without ripping out the whole demo.

**License:** [MIT](LICENSE) · **Contributing:** [CONTRIBUTING.md](CONTRIBUTING.md) · **Changelog:** [CHANGELOG.md](CHANGELOG.md)

## Docs

- [docs/architecture.md](docs/architecture.md) — layout and layers  
- [docs/components.md](docs/components.md) — component props  
- [docs/tokens-and-settings.md](docs/tokens-and-settings.md) — CSS variables and `sf:settings`  
- [docs/third-party.md](docs/third-party.md) — tiles, embeds, fonts — legal / privacy notes  

## Optional env flags

See [`.env.example`](.env.example). Set **`PUBLIC_FEATURE_INTEL_ML=false`** to drop COCO-SSD on `/intel`, or **`PUBLIC_FEATURE_MAP=false`** for a map placeholder without MapLibre.

## Stack

Astro 6, Tailwind v4 (`@tailwindcss/vite`), React where needed (uPlot, MapLibre, Framer Motion, TensorFlow.js on `/intel`).

## Routes

| Path | What it is |
|------|------------|
| `/` | Landing page |
| `/components` | Component documentation (nav + preview + snippets per primitive) |
| `/kit` | Component showcase (panels, HUD, radar, terminal) |
| `/settings` | Global shell preferences (theme, overlays, motion, sound) |
| `/dashboard` | uPlot charts + Open-Meteo sample |
| `/map` | MapLibre tactical map (env can disable) |
| `/intel` | YouTube embed + optional local COCO-SSD (env can disable ML block) |

## Layout (src)

`components/` — `core`, `effects`, `hud`, `terminal`, `radar`, `shell` (AppShell, AppNav), `charts`, `map`, `intel` · `layouts/` (ScifiLayout) · `lib/` · `styles/` · `plugins/` · `pages/` · `scripts/` · `data/`

Pages use [`AppShell`](src/components/shell/AppShell.astro) (background, vignette, scanlines) and [`AppNav`](src/components/shell/AppNav.astro). Pass `narrow` to `AppShell` for a centered max-width column.

## Usage

```astro
---
import ScifiLayout from "../layouts/ScifiLayout.astro";
import AppShell from "../components/shell/AppShell.astro";
import AppNav from "../components/shell/AppNav.astro";
import Panel from "../components/core/Panel.astro";
---

<ScifiLayout title="My HUD">
  <AppShell>
    <AppNav />
    <Panel variant="primary" glow>…</Panel>
  </AppShell>
</ScifiLayout>
```

**Sound:** wired from [`boot.ts`](src/scripts/boot.ts) via `AppShell`. Use `data-sf-sound-hover` / `data-sf-sound-click`, or `sound` on [`Button.astro`](src/components/core/Button.astro). Settings live under `sf:settings` in `localStorage` — see [`src/lib/settings.ts`](src/lib/settings.ts).

**Themes:** Default (no attribute) is **synthwave** cyan / magenta on violet-black. Optional `data-theme`: `nebula` (older cyan/violet look), `ember`, `matrix`, `void` — see [`tokens.css`](src/styles/tokens.css). **Appearance:** `data-sf-appearance` — `high-contrast`, `light`.

**Map tiles:** demo uses public raster endpoints; ship your own tiles or a paid plan and follow each provider’s terms (e.g. [OSM tile policy](https://operations.osmfoundation.org/policies/tiles/)).

**Intel:** webcam / file runs in-browser; YouTube iframes are not script-readable for CV.

## Commands

| Command | Action |
|---------|--------|
| `npm install` | Dependencies |
| `npm run dev` | Dev server (`:4321`) |
| `npm run build` | Production build |
| `npm run preview` | Preview build |

**Node ≥ 22.12** (Astro 6).
Report a correction

Explore similar templates

Compare previews and descriptions within the same stack and category.