Skip to main content
ContextForge

Registry

The official ContextForge registry is a public, static JSON and Markdown catalog hosted on GitHub Pages.

What the registry contains

  • index.jsonTop-level pack catalog — names, paths, topics, descriptions
  • topics.jsonTopic taxonomy for grouping packs
  • packs/<pack>/pack.jsonPack manifest — metadata and file list
  • packs/<pack>/rules.mdGeneral pack rules
  • packs/<pack>/agents.mdCodex / general agent adapted prompt
  • packs/<pack>/claude.mdClaude Code adapted prompt
  • packs/<pack>/skill.mdFull skill reference
  • packs/<pack>/cursor.mdcCursor adapted prompt
  • packs/<pack>/copilot.mdGitHub Copilot adapted prompt

index.json structure

index.json
{
  "version": "0.1.0",
  "updatedAt": "2026-05-21T00:00:00.000Z",
  "packs": {
    "verification-before-completion": {
      "title": "Verification Before Completion",
      "description": "Prevents agents from claiming success without observable evidence.",
      "topic": "agent-workflow",
      "classification": "always-active",
      "path": "packs/verification-before-completion/pack.json"
    },
    "nextjs-best-practices": {
      "title": "Next.js Best Practices",
      "description": "App Router patterns, server components, and performance guidance.",
      "topic": "nextjs",
      "classification": "task-triggered",
      "path": "packs/nextjs-best-practices/pack.json"
    }
  }
}

How the CLI uses the registry

  1. 1.Fetch index.json to get the pack list
  2. 2.Find the requested pack by name
  3. 3.Resolve the pack path relative to the registry base URL
  4. 4.Fetch pack.json for the manifest
  5. 5.Download listed pack files (agents.md, claude.md, etc.)
  6. 6.Write files into .contextforge/
The registry is versioned independently from the CLI. New packs are available immediately without a CLI release.

Registry source

The registry is open source. You can browse, contribute, or fork it:

github.com/Alone-Y154/ContextForge-registry

Using a custom registry

You can point ContextForge at your own registry. It must serve the same JSON structure.

bash
npx @contextforge/cli init --registry https://my-registry.example.com/index.json

The custom registry URL is saved in .contextforge/config.json and used for all future sync and add operations.