https://github.com/nasa-ammos/slim-framework
A reusable framework for building an AI-native marketplace of best practices (skills, agents, MCP servers) installable into AI coding tools. De-branded fork of the SLIM marketplace website.
https://github.com/nasa-ammos/slim-framework
ai best-practices claude docusaurus framework marketplace mcp skills
Last synced: 21 days ago
JSON representation
A reusable framework for building an AI-native marketplace of best practices (skills, agents, MCP servers) installable into AI coding tools. De-branded fork of the SLIM marketplace website.
- Host: GitHub
- URL: https://github.com/nasa-ammos/slim-framework
- Owner: NASA-AMMOS
- License: apache-2.0
- Created: 2026-05-21T19:05:52.000Z (29 days ago)
- Default Branch: main
- Last Pushed: 2026-05-23T00:13:21.000Z (28 days ago)
- Last Synced: 2026-05-23T02:25:37.472Z (28 days ago)
- Topics: ai, best-practices, claude, docusaurus, framework, marketplace, mcp, skills
- Language: JavaScript
- Homepage: https://nasa-ammos.github.io/slim-framework/
- Size: 2.52 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Governance: GOVERNANCE.md
Awesome Lists containing this project
README
# Best Practices Marketplace Framework
A reusable, de-branded framework for running an **AI-native marketplace of best
practices** — skills, agents, and MCP servers that are discoverable on a website
and installable directly into AI coding tools (Claude Code, and others).
Fork it, change a handful of config values, fill out one JSON file, and you have
your own marketplace.
## What you get
- A [Docusaurus](https://docusaurus.io/) website that browses, searches, and
filters a catalog of best practices.
- A **multi-marketplace** browser: federate your own catalog with any number of
remote registries (the picker appears automatically when more than one is
configured).
- A **registry-driven build**: you hand-author one file, `static/data/registry.json`,
and the Claude Code plugin manifest (`.claude-plugin/marketplace.json`) is
generated from it automatically.
## Architecture
This repository follows a **single source of truth** philosophy:
- **`static/data/registry.json`** — the hand-authored source of truth. It
describes the marketplace identity and every skill / agent / MCP server.
- **`.claude-plugin/marketplace.json`** — **generated** from `registry.json` by
`src/conf/generate-marketplace.js`. This is what Claude Code reads when a user
runs `/plugin marketplace add `. It is committed so consumers can use it
without building the site.
- **`static/marketplace/`** — the actual content of each best practice
(`SKILL.md`, assets, scripts). One folder per entry.
- The Docusaurus website renders the registry into a searchable catalog.
```
registry.json ──(npm run prebuild)──▶ marketplace.json
(you edit) (generated, committed)
```
## Getting started
```bash
npm ci # install dependencies
npm start # local dev server
npm run build # production build (runs the generators first)
```
`npm run build` runs `prebuild`, which:
1. `generate-marketplace.js` — reads `registry.json`, hydrates derived fields,
and writes `.claude-plugin/marketplace.json`.
2. `generate-file-manifests.js` — indexes the `static/marketplace/` file trees.
3. `create-marketplace-zips.js` — packages each entry as a downloadable zip.
## Customize it for your project
1. **`docusaurus.config.js`** — edit the values under the `CUSTOMIZE ME` banner:
`title`, `tagline`, `url`, `baseUrl`, `organizationName`, `projectName`, the
navbar/footer links, and `marketplaceConfig.registries`.
2. **`static/data/registry.json`** — edit the top-level `marketplace` block
(`name`, `owner`, `metadata`) and add your entries to `skills` / `agents` /
`mcp`.
3. **`static/img/`** — replace `logo.svg` and `favicon.ico` with your own.
4. **`docs/`** — update the About / FAQ / Contribute pages.
## Adding a best practice
1. Create the content folder, e.g. `static/marketplace/skills//SKILL.md`
(plus any `assets/` and `scripts/`).
2. Add an entry to the `skills` array in `static/data/registry.json`:
```json
{
"name": "",
"displayName": "Human Readable Name",
"description": "What it does and when to use it",
"category": "documentation",
"tags": ["docs", "templates"],
"example": "Generate a README for this project",
"lastUpdated": "2026-01-01"
}
```
Derived fields (`type`, `skill_file_url`, `zip_file_path`) are filled in by the
build — you do not write them.
3. Run `npm run prebuild` to regenerate `.claude-plugin/marketplace.json`, then
commit both files.
See [`docs/contribute/submit-best-practice.md`](docs/contribute/submit-best-practice.md)
for the full guide.
## Federating other marketplaces
Add remote registry URLs to `marketplaceConfig.registries` in
`docusaurus.config.js`. The website loads each one and shows a registry picker:
```js
registries: [
"./static/data/registry.json", // your local catalog
"https://nasa-ammos.github.io/slim/data/registry.json", // a remote marketplace
],
```
## License
Apache 2.0 — see [LICENSE](LICENSE).
## Credits
- UI components adapted from [aitmpl.com](https://aitmpl.com) (MIT License).
- Derived from the open-source SLIM Best Practices marketplace
([NASA-AMMOS/slim](https://github.com/NASA-AMMOS/slim), Apache 2.0).