VibTools Manifest (v1)
Official specification for vibtools.json manifests to automate project imports, catalogs, and GitHub repository synchronization.
VibTools Product Manifest Specification
Version: 1.0.0 (Stable)
The VibTools Product Manifest Specification defines the standard vibtools.json format placed in the root directory of applications, packages, and open-source tools.
Instead of manually typing product descriptions, download URLs, versions, categories, and image links into multiple website databases, placing vibtools.json in your repository enables 1-Click Import from GitHub.
Canonical Schema URL
Add this $schema property to your vibtools.json for IDE autocomplete and schema validation in VS Code, JetBrains, or automated CI tools:
{
"$schema": "https://schema.ygit.dev/vibtools/v1/vibtools.schema.json",
"schemaVersion": 1,
"name": "Session Manager Pro",
"slug": "session-manager-pro"
}
View the Schema Reference or Download Sample Manifest.
How GitHub Import Works
When managing a catalog website or app directory:
- Project Root: The developer places
vibtools.jsonat the root of the repository alongside the source code. - Import Trigger: In your catalog website admin panel, click “Import with GitHub Repo” and enter the repository name (e.g.
vibtools/session-manager-proor full GitHub URL). - Automated Fetch: Your website fetches
https://raw.githubusercontent.com/{owner}/{repo}/main/vibtools.json. - Instant Form Population: All form inputs—product name, slug, subtitle, description, category, tags, links, flags, and assets—fill automatically.
Field Specification
| Property | Type | Required | Description |
|---|---|---|---|
$schema |
string (URI) |
Yes | https://schema.ygit.dev/vibtools/v1/vibtools.schema.json |
schemaVersion |
integer |
No | Major version number (must equal 1). |
name |
string |
Yes | Product name (e.g. Session Manager Pro). |
slug |
string |
Yes | URL identifier (e.g. session-manager-pro). |
category |
string |
No | Catalog category (Desktop Apps, Web Apps & Scripts, Browser Extensions, etc.). |
status |
string |
No | Availability status (Available, In Development, Beta, Preview, Archived). |
version |
string |
No | Current release version (e.g. 1.0.0). |
subtitle |
string |
No | Primary tag or subtitle summary. |
repository |
string |
No | GitHub repository path (owner/repo). |
description |
string |
No | Markdown or plain text description. |
assets.logoUrl |
string (URI) |
No | Square logo or icon image URL. |
assets.thumbnailUrl |
string (URI) |
No | Banner or social preview thumbnail image URL. |
assets.screenshots |
array |
No | Array of screenshot image URLs. |
links.liveDemo |
string (URI) |
No | Web demo or preview URL. |
links.download |
string (URI) |
No | Release download or installer URL. |
links.docs |
string (URI) |
No | Documentation website URL. |
tags |
array |
No | Keywords and filter tags list. |
flags.isActive |
boolean |
No | Visible in public catalog (true/false). |
flags.isOpenSource |
boolean |
No | Open source repository flag (true/false). |
flags.isFeatured |
boolean |
No | Featured highlight toggle (true/false). |
Reference Manifest (vibtools.json)
{
"$schema": "https://schema.ygit.dev/vibtools/v1/vibtools.schema.json",
"schemaVersion": 1,
"name": "Session Manager Pro",
"slug": "session-manager-pro",
"category": "Desktop Apps",
"status": "Available",
"version": "1.0.0",
"subtitle": "Windows, Automation, Utility",
"repository": "vibtools/session-manager-pro",
"description": "A powerful session and workspace management utility for Windows power users. Automates window positioning, workspace state saving, and instant multi-monitor workspace restoration.",
"assets": {
"logoUrl": "https://raw.githubusercontent.com/vibtools/session-manager-pro/main/assets/logo.png",
"thumbnailUrl": "https://raw.githubusercontent.com/vibtools/session-manager-pro/main/assets/banner.png",
"screenshots": [
"https://raw.githubusercontent.com/vibtools/session-manager-pro/main/assets/screenshot-main.png"
]
},
"links": {
"liveDemo": "https://demo.vib.tools",
"download": "https://vib.tools/downloads/v1.0.0.exe",
"docs": "https://docs.vib.tools/session-manager-pro",
"github": "https://github.com/vibtools/session-manager-pro"
},
"tags": [
"Desktop",
"Automation",
"Free",
"Open Source"
],
"flags": {
"isActive": true,
"isOpenSource": true,
"isFeatured": false
}
}
Website Implementation Snippet
Here is an example client-side function to implement the “Import with GitHub Repo” feature in your catalog admin modal:
async function importFromGitHub(repoInput: string) {
// Normalize input: handles "vibtools/session-manager-pro" or "https://github.com/vibtools/session-manager-pro"
const cleanRepo = repoInput.replace(/^https?:\/\/github\.com\//, '').replace(/\/$/, '');
const url = `https://raw.githubusercontent.com/${cleanRepo}/main/vibtools.json`;
const response = await fetch(url);
if (!response.ok) {
throw new Error(`Could not find vibtools.json at ${url}`);
}
const manifest = await response.json();
// Auto-fill form fields
return {
name: manifest.name ?? '',
slug: manifest.slug ?? '',
category: manifest.category ?? 'Desktop Apps',
status: manifest.status ?? 'Available',
version: manifest.version ?? '1.0.0',
subtitle: manifest.subtitle ?? '',
repository: manifest.repository ?? cleanRepo,
description: manifest.description ?? '',
downloadUrl: manifest.links?.download ?? '',
liveDemoUrl: manifest.links?.liveDemo ?? '',
filterTags: Array.isArray(manifest.tags) ? manifest.tags.join(', ') : '',
isActive: manifest.flags?.isActive ?? true,
isOpenSource: manifest.flags?.isOpenSource ?? true,
isFeatured: manifest.flags?.isFeatured ?? false,
logoUrl: manifest.assets?.logoUrl ?? '',
thumbnailUrl: manifest.assets?.thumbnailUrl ?? '',
};
}