Ark

This site is private. Enter the password to continue.

docs / format / ark-json

ark.json reference

The ark.json manifest describes your package to the Ark registry. It must exist at the root of your package directory.

Full example

ark.json
{
  "name": "agent-comptable",
  "version": "1.0.0",
  "type": "agent",
  "category": "business",
  "description": "Agent autonome de gestion comptable pour PME",
  "author": {
    "name": "Studio GinoFtn",
    "email": "hello@ginoftn.com",
    "url": "https://ginoftn.com"
  },
  "sale": {
    "model": "one-time",
    "preferred_price": 49
  },
  "platforms": ["claude-code"],
  "requirements": {
    "os": ["macos", "linux"],
    "node": ">=18.0.0"
  },
  "structure": {
    "agents": 1,
    "skills": 4,
    "scripts": 2
  },
  "setup": {
    "installer": "bin/install.sh",
    "estimated_time": "2-3 min",
    "interactive": true,
    "post_install_check": "bin/verify.sh"
  },
  "audit": {
    "report_id": "audit-2026-05-05-7f3a2b",
    "score": 87,
    "verdict": "certified",
    "price_range": { "min": 49, "max": 65 }
  },
  "tags": ["accounting", "finance", "autonomous"],
  "license": "proprietary"
}

Required fields

FieldTypeDescription
namestringUnique slug. Lowercase, hyphens only. Must not conflict with existing packages.
versionstringSemantic version (1.0.0). Increment on each publish.
typeenumskill, agent, bundle, system, or os. Determines price range.
categoryenumcreative, business, research, engineering, personal, or domain.
descriptionstringOne-line description shown in search results. Max 120 chars.
author.namestringCreator display name.
author.emailstringContact email. Not shown publicly.
platformsstring[]Supported platforms. Currently: claude-code.

sale object

FieldValuesDescription
modelone-time, subscription, freeHow the package is sold.
preferred_pricenumber or nullYour chosen price within the audit-determined range. null = Ark assigns the midpoint.
Price must be within range. The preferred_price must fall within the price_range returned by the audit. Setting it outside the range will cause ark publish to fail.

setup object

FieldRequiredDescription
installeryesPath to the setup script, relative to package root.
estimated_timenoHuman-readable install time shown to users.
interactivenotrue if the installer prompts for input.
post_install_checkrecommendedScript that verifies the install succeeded. Exit 0 = success.

audit object

Populated automatically by ark audit --save. Do not edit manually — the hash is verified by the registry.

tags

Up to 10 free-form tags used for search. Lowercase, no spaces. Examples: accounting, autonomous, claude-code.

license

Use proprietary for paid packages. Use an SPDX identifier (MIT, Apache-2.0, etc.) for open-source packages.