Skip to main content
The AI•Pkg Registry web UI is the browser-facing surface of the registry. This spec defines the URL map, page inventory, rendering behavior requirements, performance SLAs, and accessibility standards. It does not prescribe an implementation technology.

Rendering Requirements

Each page or feature area has a normative rendering requirement:
Page / FeatureRendering RequirementRationale
Home pageServer-side renderedSEO, CDN-cacheable
Browse / category pagesServer-side renderedSEO, performance
Search resultsServer-side rendered; reloads on filter changeNo JavaScript required for basic search
Package detail (read)Server-side renderedSEO critical
Package detail version selectorDynamically rendered without full-page reloadUser experience
Package upload wizardClient-interactiveMulti-step, validation-heavy
User profile / account settingsClient-interactiveAuthenticated
API key managementClient-interactiveAuthenticated
Admin panelClient-interactiveInternal tool
Login / OAuth callbackServer-side renderedStandard auth flow
The version selector on the package detail page must update without a full-page reload. All other behavior on the package detail page must be available without JavaScript.

URL Inventory

Public Pages

URLPageNotes
/HomeFeatured packages, new packages, stats
/searchSearch resultsQuery: ?q=, ?apm=, ?capability=, ?prerelease=, ?page=
/platformsPlatform listCards for each canonical APM
/platforms/{moniker}Browse by platformPackages compatible with given APM
/capabilities/{capability}Browse by capabilityPackages with given capability
/packages/{id}Package detailRedirects to latest listed version
/packages/{id}/{version}Package version detailREADME, manifest, version history
/statsStatisticsDownload stats, top packages

Authenticated Pages

URLPageNotes
/packages/uploadUpload wizardMulti-step push flow
/packages/manage/{id}Package managementUnlist, owners, stats
/accountUser profileDisplay name, email, linked accounts
/account/api-keysAPI key managementCreate, revoke, copy keys
/account/packagesOwned packagesAll packages for current user

Auth Endpoints

URLMethodAction
/auth/githubGETInitiates GitHub OAuth flow
/auth/github/callbackGETGitHub OAuth callback
/auth/logoutPOSTClears session cookie (CSRF-protected)

Admin Pages

URLPageAccess
/adminAdmin dashboardAdmin role only
/admin/packages/{id}Package adminAdmin role only
/admin/usersUser adminAdmin role only
All admin pages must return 403 Forbidden to non-admin authenticated users and 401 Unauthorized to unauthenticated users.

Page Details

Home (/)

  • Hero section with search bar
  • “Featured” packages (editorially curated or algorithmically ranked)
  • “New packages” — 6 most recently published
  • Platform quick-filters: buttons for each APM moniker
  • Stats: total packages, total downloads, total platforms supported

Search Results (/search)

  • Filter sidebar: capability checkboxes, APM checkboxes, prerelease toggle
  • Result cards: icon, id, title, description snippet, capabilities, download count, publish date
  • Pagination
  • Sort options: Relevance, Downloads, Recently Updated

Package Version Detail (/packages/{id}/{version})

┌─────────────────────────────────────────────────────┐
│  [icon]  git-helpers  1.0.0  ▼ (version selector)  │
│          Jane Developer · MIT · 8,432 downloads      │
├───────────────────────────────┬─────────────────────┤
│                               │ Install              │
│  [README content]             │ ─────────────────── │
│                               │ aipkg install       │
│                               │   git-helpers       │
│                               │                     │
│                               │ Capabilities        │
│                               │ skill               │
│                               │                     │
│                               │ Targets             │
│                               │ claude-code         │
│                               │ copilot-vscode      │
│                               │ cursor              │
│                               │                     │
│                               │ Dependencies        │
│                               │ (none)              │
│                               │                     │
│                               │ Versions            │
│                               │ 1.0.0 (current)     │
│                               │ 0.9.0               │
└───────────────────────────────┴─────────────────────┘
Tabs:
  • README tab: renders embedded README (sanitized HTML from Markdown)
  • Manifest tab: shows the .aispec JSON, syntax-highlighted
  • Version history tab: all versions with dates and download counts

Upload Wizard (/packages/upload)

Multi-step flow:
1

Select file

File drop / select .aipkg file.
2

Review manifest

Parsed fields shown for confirmation.
3

Additional metadata

Tags, project URL (if not in manifest).
4

Permissions review

Shows any permissions declared in the package.
5

Confirm and publish

Final confirmation; shows progress indicator during upload.

API Keys (/account/api-keys)

  • List of active keys (masked)
  • Create new key: name, scopes, expiry, package glob
  • Revoke key
  • Copy newly created key (shown once)

Performance Targets

PageTarget (p95 TTFB)Cache Strategy
Home< 200msCDN cache 60s
Search results< 300msNo cache (dynamic)
Package detail< 200msCDN cache 30s
Package downloadCDN cache forever (versioned URL)
API responses< 100msCDN cache varies

Accessibility

  • WCAG 2.1 AA target
  • All interactive elements keyboard-navigable
  • aria-label on icon-only buttons
  • Color contrast ratio ≥ 4.5:1 for normal text
  • Focus indicators visible

SEO

All public server-rendered pages must include:
  • <title>{Package ID} · AI•Pkg.org</title>
  • <meta name="description"> from package description
  • Open Graph tags: og:title, og:description, og:image (package icon)
  • Structured data (JSON-LD): schema.org/SoftwareApplication for package detail pages
  • Canonical URL
  • <link rel="alternate" type="application/json"> pointing to registration JSON
Sitemap: /sitemap.xml — generated endpoint listing all listed packages and platform pages; updated nightly by a background job.