Skip to content

actcore/actpkg.dev

Repository files navigation

actpkg.dev

Registry website for ACT components published at ghcr.io/actpkg/*.

How it works

At build time, scripts/crawl-components.sh pulls each known component from OCI, extracts metadata from the act:component custom section (no instantiation) and tool list via act info --tools, and writes one JSON file per component to src/data/components/. Astro reads those JSONs at build time and renders static HTML.

Deployment:

  • CI/CD: .github/workflows/deploy.yml runs on push to main and daily at 04:00 UTC. Fresh crawl → rebuild → GitHub Pages.
  • Manual refresh: gh workflow run deploy or ACT=act bash scripts/crawl-components.sh && npm run build.

Local development

npm install
ACT=/path/to/act bash scripts/crawl-components.sh  # populate src/data/
npm run dev                                        # preview at http://localhost:4321

Requires the act CLI on PATH (npm i -g @actcore/act or a local build).

Adding a component

  1. Publish to ghcr.io/actpkg/<name>:<version> (OCI artifact with the .wasm).
  2. Append the name to the COMPONENTS array in scripts/crawl-components.sh.
  3. Next daily build picks it up, or push a PR to accelerate.

When the list grows large, crawl-components.sh will be replaced with an API-driven query against the GitHub Packages listing for the actpkg org.

Architecture notes

  • Static site, dynamic data. SSG (Astro) with a crawl step. No runtime server, no database. Rebuild when the component set changes.
  • No component execution on the server. All surfaced metadata — name, version, description, capabilities, skill — comes from WASM custom sections readable without instantiation. Tool list requires instantiation but runs in the build sandbox, not at request time.
  • Single source of truth. Component metadata lives in the .wasm, not in this repo. This repo only caches it.

About

Registry website for ACT components at ghcr.io/actpkg/*

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors