Welcome! This document is a high-level, human-friendly guide for contributing to Frame Codex.
For the full, step-by-step workflow, see docs/contributing/how-to-submit.md.
Frame Codex is a data-only, markdown-first knowledge fabric designed for AI systems:
- Fabric – The entire repository: a collection of weaves.
- Weave – Top-level knowledge universe (e.g.
weaves/frame/,weaves/wiki/). - Loom – Any subdirectory inside a weave (topic/module, inferred from folders).
- Strand – Individual markdown file at any depth inside a weave (atomic unit).
There is no UI in this repo. The primary viewer lives at:
- Frame.dev Codex UI: https://frame.dev/codex
- Repo: https://github.com/framersai/frame.dev (app that renders this Codex)
The easiest way to contribute is inside the Codex UI at frame.dev/codex:
- Open the Codex viewer and browse to the area you want to extend.
- Click “Contribute” in the toolbar (or use the contribution hotkey).
- Fill out:
- Title (required)
- Summary (20–300 chars, required)
- Content (markdown, required)
- Weave + Loom (optional – UI can suggest based on current path/content)
- Tags, Difficulty, Subjects, Topics (optional but encouraged)
- (Optional) Toggle AI Enhancement to let the pipeline refine tags and metadata.
- (Optional) Provide a GitHub Personal Access Token (PAT) to let the browser create a PR via API.
- Preview the generated markdown + frontmatter.
- Click “Create Pull Request”:
- With PAT → a PR is created via the GitHub API from your fork.
- Without PAT → GitHub’s web editor opens with the file pre-filled.
- PAT is entered only into the Codex contribution modal in your browser.
- It is stored only in memory in that tab while the modal is open.
- It is never written to:
localStoragesessionStorage- IndexedDB / SQL cache
- Any Frame.dev backend
- The token is sent only to GitHub’s API endpoints for:
- Forking
framersai/codex - Creating a branch + file
- Opening a pull request
- Forking
You can always skip the PAT and use the GitHub web editor flow instead.
If you prefer the CLI, follow the traditional flow:
-
Fork & Clone
gh repo fork framersai/codex --clone cd codex -
Create a Branch
git checkout -b add-my-content
-
Add Content
-
Place files under a weave:
weaves/ [weave]/ # e.g. frame/, wiki/, technology/ weave.yaml overview.md # Strand at weave root guides/ # Loom (folder inferred from path) loom.yaml # Optional intro.md # Strand deep-dive/notes.md # Nested loom/strand -
See
docs/contributing/submission-schema.mdfor required fields.
-
-
Validate & Index
npm install npm run validate npm run index -- --validate
-
Commit & Push
git add . git commit -m "feat: add [your content title]" git push origin add-my-content
-
Open a PR
gh pr create --title "Add: [Your Content Title]" --body "Description of your contribution"
You can reuse the Frame.dev Codex UI to render any Codex-style repository:
-
Fork
framersai/frame.dev. -
In your fork, create
.env.localunderapps/frame.dev:NEXT_PUBLIC_CODEX_REPO_OWNER=your-github-username-or-org NEXT_PUBLIC_CODEX_REPO_NAME=your-codex-repo NEXT_PUBLIC_CODEX_REPO_BRANCH=main
-
The viewer reads these in
components/codex/constants.tsviaREPO_CONFIG. -
Run the UI locally:
cd apps/frame.dev pnpm install pnpm dev -
Visit
http://localhost:3000/codexto browse your own fabric.
- Content: Clear, self-contained strands with real knowledge (no placeholders).
- Metadata: Fill in
title,summary,tags,difficulty,subjects,topics. - Structure: Use headings, lists, and code blocks for readability.
- Licensing: Contributions must be compatible with CC-BY-4.0.
For full details, examples, and schema reference, see: