Skip to content

keroxlabs/product-template

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

KeroxLabs product template

A ready-to-deploy template for shipping a KeroxLabs product page to keroxlabs.github.io/<repo>. Every tool in the arsenal gets its own repo and its own page at a subpath of the lab's domain — no central routing, no shared build.

How GitHub serves it

GitHub Pages maps repos to URLs by convention:

Repo URL
keroxlabs/keroxlabs.github.io keroxlabs.github.io/ (the hub)
keroxlabs/<product> keroxlabs.github.io/<product>/ (this template)

So the URL is automatic — you only have to give the repo a page to serve and enable Pages once.

Spin up a new product (3 steps)

  1. Create the repo from this template. On GitHub: Use this template → Create a new repository under the keroxlabs org, named after the tool (e.g. glyph). Or with the CLI:

    gh repo create keroxlabs/<product> --public --template keroxlabs/product-template
  2. Fill in site/index.html. Replace every TODO / PRODUCT / L? placeholder: name, tagline, arsenal level, the real run command, and the capability cells. The styling already matches the hub — leave the design tokens alone so the ecosystem stays consistent.

  3. Enable Pages once, then push.

    gh api -X POST repos/keroxlabs/<product>/pages -f build_type=workflow
    git push origin main

    (Or in the UI: Settings → Pages → Source = "GitHub Actions".) Every push to main thereafter redeploys automatically via .github/workflows/pages.yml.

Live in ~1 minute at https://keroxlabs.github.io/<product>/.

What's in here

site/
  index.html         the product page (edit this)
  logo.jpg           the shared KeroxLabs cobra — keep for brand consistency
.github/workflows/
  pages.yml          builds ./site and deploys to Pages on push to main

The one rule: relative paths

The page lives under /<product>/, not the domain root. Reference assets relatively (./logo.jpg, ./screenshot.png) — never with a leading slash (/logo.jpg), which would resolve to the hub's root and 404. With relative paths the same site/ works at any subpath with zero config.

Going beyond static HTML

If a product needs a framework (Next.js, Vite, Astro), keep this same pages.yml shape but add a build step and tell the build its subpath — otherwise assets resolve to the domain root and 404:

  • Next.jsbasePath: '/<product>' + images: { unoptimized: true }, output out/, upload ./out.
  • Vitebase: '/<product>/', upload ./dist.
  • Astrobase: '/<product>', upload ./dist.

Derive the subpath from the repo name in CI (${{ github.event.repository.name }}) so it's never hardcoded.


Hub: https://keroxlabs.github.io · Org: https://github.com/keroxlabs

About

Template: ship a KeroxLabs tool to keroxlabs.github.io/<repo> in 3 steps

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages