Ark

This site is private. Enter the password to continue.

docs / cli / init

ark init

Scaffold an ark.json manifest in the current directory, or edit an existing one. Run this at the start of every new package, or anytime you need to update your manifest.

Syntax

Usage
ark init [--yes] [--type <type>] [--category <category>]

Flags

FlagDefaultDescription
--yes, -yfalseSkip interactive prompts, use defaults
--type(prompt)Package type: skill, agent, bundle, system, os
--category(prompt)Category: creative, business, research, engineering, personal, domain
--namedir namePackage name (defaults to current directory name)

Interactive mode

Running ark init without flags launches an interactive prompt:

Terminal
$ ark init

  Package name: my-agent
  Type (skill/agent/bundle/system/os): agent
  Category: business
  Description: Automates weekly report generation
  Author name: Jane Doe
  Author email: jane@example.com
  Author URL (optional): https://janedoe.dev
  Sale model (one-time/subscription): one-time

   Created ark.json
   Created CLAUDE.md (template)
   Created bin/install.sh (template)
   Created bin/verify.sh (template)
   Created README.md (template)

Non-interactive mode

Terminal
$ ark init --yes --type skill --category creative

   Created ark.json with defaults

Generated files

FilePurpose
ark.jsonPackage manifest — required for all Ark operations
CLAUDE.mdInstructions loaded by Claude Code — your skill/agent logic goes here
bin/install.shSetup script run after download — copies files, sets permissions
bin/verify.shPost-install verification — checks the install succeeded
README.mdHuman-readable docs — shown on the marketplace page

Edit mode (v1.1.1)

If ark.json already exists, ark init shows the current values and lets you edit field by field. Press Enter to keep the current value.

Terminal
$ ark init

  Ark — ark.json found

  name:        my-agent
  version:     1.0.0
  type:        agent
  category:    business
  description: Automates weekly reports
  author:      Jane Doe <jane@example.com>
  license:     proprietary

  Edit? (y/n) y

  Press Enter to keep current value.

  name: my-agent 
  version: 1.0.0  1.1.0
  type: agent 

   Updated ark.json
Non-destructive. Only the fields you change are updated. All other values in ark.json (structure, setup, tags, etc.) are preserved.

Example output (ark.json)

ark.json
{
  "name": "my-agent",
  "version": "1.0.0",
  "type": "agent",
  "category": "business",
  "description": "Automates weekly report generation",
  "author": {
    "name": "Jane Doe",
    "email": "jane@example.com",
    "url": "https://janedoe.dev"
  },
  "sale": {
    "model": "one-time",
    "preferred_price": null
  },
  "platforms": ["claude-code"],
  "requirements": {
    "node": ">=18.0.0"
  },
  "setup": {
    "installer": "bin/install.sh",
    "post_install_check": "bin/verify.sh"
  },
  "tags": [],
  "license": "proprietary"
}