Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions build-mcpb/references/CONVENTIONS.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,11 @@

Package names MUST be scoped: `@<github_owner>/<name>`

Name must match the registry regex: `/^@[a-z0-9][a-z0-9-]{0,38}\/[a-z0-9][a-z0-9-]{0,213}$/`
Name must match the registry regex: `/^@[a-zA-Z0-9][a-zA-Z0-9-]{0,38}\/[a-z0-9][a-z0-9-]{0,213}$/`

Registry rejects other formats (e.g., `ai.nimbletools/name`, uppercase, underscores in name).
The owner segment (before `/`) accepts mixed case — the registry normalizes it to lowercase. The package name (after `/`) must be lowercase.

Registry rejects other formats (e.g., `ai.nimbletools/name`, underscores in name).

## Naming

Expand All @@ -23,7 +25,7 @@ Registry rejects other formats (e.g., `ai.nimbletools/name`, uppercase, undersco

| Field | Required | Notes |
|-------|----------|-------|
| `name` | **Yes** | Must match `/^@[a-z0-9][a-z0-9-]{0,38}\/[a-z0-9][a-z0-9-]{0,213}$/` |
| `name` | **Yes** | Must match `/^@[a-zA-Z0-9][a-zA-Z0-9-]{0,38}\/[a-z0-9][a-z0-9-]{0,213}$/` |
| `version` | **Yes** | Valid semver (e.g., `0.1.0`) |
| `description` | **Yes** | Short description |
| `server.type` | **Yes** | `python`, `node`, or `binary` |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Check `manifest.json` against the mpak registry schema. See `references/CONVENTI

**Registry validation checklist** (read `manifest.json` and verify each):

1. **Name format** — must match `/^@[a-z0-9][a-z0-9-]{0,38}\/[a-z0-9][a-z0-9-]{0,213}$/` (e.g., `@<github_owner>/stripe`)
1. **Name format** — must match `/^@[a-zA-Z0-9][a-zA-Z0-9-]{0,38}\/[a-z0-9][a-z0-9-]{0,213}$/` (e.g., `@JoeCardoso13/stripe`). The registry normalizes the owner to lowercase.
2. **Version** — valid semver string (e.g., `0.1.0`)
3. **server.type** — must be one of: `python`, `node`, `binary`
4. **server.mcp_config** — required object with:
Expand Down
Loading