Back to templates

Template details

Terminal Noir

An Astro starter for developer tools and open-source projects with Noir and Paper modes, English and Brazilian Portuguese pages, and an integration catalogue.

About this template

Terminal Noir is a static Astro starter for developer-tool sites and open-source project pages, packaging a dark Noir mode, a light Paper mode, bilingual English and Brazilian Portuguese pages, and a validated integration catalogue you replace with your own content.

What is Terminal Noir?

Terminal Noir is an Astro starter template distributed as a GitHub template repository for developer tools and open-source projects. Its inputs are your site name, domain, navigation and install commands in src/config/site.ts plus your integration records in src/data/integrations.json; its output is a static site built with npm run build and deployable to any static host, including under a GitHub Pages-style path prefix. The bundled example describes a fictional product called Noir CLI, and nothing in the example installs or runs a real program. The repository metadata lists Astro and Tailwind CSS among its topics and shows 5 stars.

Key Features

  • Noir and Paper modes — a dark and a light color mode, with the visitor's choice remembered in the browser between visits.
  • Bilingual pages — English and Brazilian Portuguese generated from a shared dictionary rather than duplicated page files.
  • Integration catalogue — cards rendered from src/data/integrations.json, with the entries validated against that file.
  • Install command blocks — commands displayed as text, with keyboard-accessible tabs and copy feedback.
  • Base-aware links — internal links resolve correctly at a domain root or beneath a GitHub Pages-style prefix.
  • Verification pipeline — npm run verify runs contract tests, unit tests, astro check, Prettier, an import scan, and a browser matrix for / and /toolkit/.
  • Documentation set — docs/customization.md covers the full configuration map and docs/deployment.md covers static-host deployment.

Who is it for?

  • Developer-tool maintainers: publish a landing page whose install command is a first-class element, complete with tabs and copy feedback.
  • Open-source maintainers targeting Brazil: serve the same site in English and Brazilian Portuguese without maintaining two content trees.
  • Astro developers: start from a repository that already ships a test, format and browser-matrix pipeline via one script.

What can you do with Terminal Noir?

  • Ship a CLI product page: rename the fictional Noir CLI in src/config/site.ts, set your domain, and publish install instructions as copyable text.
  • Host a categorized integration list: maintain your ecosystem entries in a single JSON file and let the catalogue render and validate them.
  • Deploy under a subpath: use the base-aware links to publish to a GitHub Pages-style prefix instead of a root domain.
  • Keep a bilingual site in sync: edit both dictionaries once and have English and Portuguese pages stay aligned.

How does Terminal Noir work?

Install Node.js 22.22.0 or newer (.nvmrc selects the 22 line and package.json sets engines.node to >=22.22.0). Once the public repository exists you scaffold with npm create astro@latest -- --template nandomoreirame/terminalnoir-astro-theme; until then you install from the lockfile with npm ci. You then run npm run dev, npm run build or npm run preview, and npm run verify before shipping.

Pros and cons

  • Proven: theme mode persistence, a shared bilingual dictionary, JSON-validated integrations, and an automated verify script covering tests, formatting, type checks and a browser matrix.
  • Not yet available: the scaffold command depends on a public repository that does not exist yet, so the candidate directory plus npm ci is the current path.
  • Asset gap: desktop, mobile, Noir and Paper screenshots of a deployed demo are pending, and public/og-image.svg is a self-authored placeholder that should be replaced with a 1200 by 630 PNG, since not every social platform accepts SVG.
  • Not an npm package: private stays true, and the intended distribution channel is a GitHub template repository.

FAQ

What Node.js version does Terminal Noir require?

Node.js 22.22.0 or newer. The .nvmrc file selects the 22 line and package.json declares engines.node as >=22.22.0, so installing with an older runtime is not supported.

Is Terminal Noir bilingual out of the box?

Yes. It ships English and Brazilian Portuguese pages driven by a shared dictionary, so the two language versions stay aligned when you edit the translation content rather than duplicating pages.

Can I publish Terminal Noir to npm?

The template instructs the opposite: private stays true and the starter is meant to be shared as a GitHub template repository. Only the npm create astro@latest -- --template ... scaffold path is documented.

Does the template include a real demo product?

No. The packaged example is a fictional product called Noir CLI, and nothing in it installs or runs a real program. Screenshots of a deployed demo are still pending, and the Open Graph image is a placeholder you should replace.

What does npm run verify check?

npm run verify runs the contract tests, unit tests, astro check, Prettier, the import scan, and the browser matrix for the / and /toolkit/ routes — a single command that covers typing, formatting, imports and rendering.

Screenshot of Terminal Noir