Skip to content

CLI Command Reference

Complete reference for all Sage CLI commands, organized by category.


Wallet & Setup Commands

sage wizard

Interactive setup wizard to configure your Sage CLI environment.

sage wizard

What it does: - Prompts for wallet configuration (private key, mnemonic, or Cast integration) - Sets up RPC endpoints and network configuration - Configures IPFS worker URLs and API keys - Tests connectivity to all services

Options: - --network <name> - Specify network (base-mainnet, base-sepolia) - --skip-tests - Skip connectivity tests


sage wallet connect

Connect a wallet for signing transactions.

sage wallet connect --type cast
sage wallet connect --type private-key
sage wallet connect --type mnemonic

Options: - --type <method> - Wallet connection method (cast, private-key, mnemonic) - --path <derivation> - HD derivation path (for mnemonic) - --index <number> - Account index (for mnemonic)


sage doctor

Verify your Sage CLI configuration and connectivity.

sage doctor

What it checks: - Wallet configuration and connectivity - RPC endpoint accessibility - IPFS worker availability - Contract deployment verification - Subgraph sync status


Library Management Commands

When to Use Skills vs Library Commands

Use sage prompts commands when: - You have a workspace (prompts/skills/) and want the CLI to build + pin a manifest for you - You're iterating on skills locally and want integrated publishing

Use sage project commands when: - You already have a manifest.json or want to compose one manually - You need fine-grained control over the manifest structure

Both paths end at the same place: a proposal or scheduled update against the LibraryRegistry.


sage project template

Generate a template manifest.json for a new prompt library.

sage project template --type basic --out ./manifest.json

Options: - --type <type> - Template type (basic, mcp, agent) - --out <path> - Output file path (default: manifest.json)


sage project add-prompt

Add a prompt to an existing manifest.

sage project add-prompt \
  --manifest ./manifest.json \
  --file ./prompts/hello.md \
  --key examples/hello \
  --name "Hello World" \
  --upload

Options: - --manifest <path> - Manifest file to update - --file <path> - Prompt markdown file - --key <string> - Unique key for the prompt - --name <string> - Human-readable prompt name - --upload - Upload file to IPFS and add CID reference


sage project preview

Preview a manifest file before publishing.

sage project preview ./manifest.json

What it shows: - Prompt count and structure - IPFS references - Validation warnings - Estimated upload size


sage project status

Check the current status of a library in a DAO.

sage project status --dao 0xYourDAO

Returns: - Current library CID - Pending proposals - Role permissions (LIBRARY_ADMIN, PROPOSER, EXECUTOR) - DAO governance configuration


sage project push

Upload a library to IPFS and create governance proposal or execute directly.

# Team (Safe) - generates Safe transaction
sage project push ./manifest.json --dao 0xTeamDAO --pin --wait --warm --exec

# Community (Governor) - creates governance proposal
sage project push ./manifest.json --dao 0xCommunityDAO --pin --wait --warm

Options: - --dao <address> - DAO address (preferred; --subdao is a legacy alias) - --pin - Pin the uploaded content on IPFS - --wait - Wait for IPFS upload completion - --warm - Warm IPFS caches for faster retrieval - --exec - Execute directly (team/operator mode only)

Returns: - Manifest CID - Proposal ID (community mode) - Safe transaction JSON path (team mode) - Next steps instructions



Skills Management Commands

The sage prompts command group is the recommended workflow for managing AI skills and prompts locally before publishing.

sage prompts init

Initialize a new skills workspace.

sage prompts init

sage prompts list

List skills in the current workspace.

sage prompts list

sage prompts variant

Create a variant of an existing skill.

sage prompts variant <key> [suffix]

sage prompts agents-sync

Sync local skills to AGENTS.md for Claude/OpenSkills compatibility.

sage prompts agents-sync

sage prompts import

Import skills from external sources.

sage prompts import ./path/to/skill
sage prompts import owner/repo

sage prompts export

Export a skill to a specific target format.

sage prompts export <key> --as cursor --write

sage prompts publish

Publish skills to the on-chain library with governance checks.

sage prompts publish [key] --dao 0xYourDAO

sage prompts doctor

Validate skill frontmatter and DAO governance readiness.

sage prompts doctor [key] --dao 0xYourDAO

DAO Commands

sage dao create-playbook

Deploy a new DAO using a versioned playbook (Creator/Squad/Community).

# Dry-run to generate plan
sage dao create-playbook \
  --playbook community-long \
  --name "Community UX Test" \
  --dry-run

# Apply the generated plan
sage dao create-playbook --apply dao-plan-*.json

Playbook Options: - creator - Solo operator (direct control, no voting) - squad - Small team (Safe multisig, 3-10 members) - community-long - Token voting (long delays, high quorum) - community - Token voting (standard parameters)

Options: - --playbook <type> - Playbook type (required) - --name <string> - DAO name - --dry-run - Generate plan without executing - --apply <path> - Apply a previously generated plan

What it does: - Generates deployment plan (contracts, roles, parameters) - Validates playbook configuration - Executes deployment (if not dry-run) - Returns DAO address and governance details


sage dao create

Deploy a new DAO with custom governance parameters (advanced).

sage dao create \
  --name "DeFi Intelligence" \
  --symbol "DEFI" \
  --token-type fork \
  --initial-supply 1000000 \
  --profile-cid QmYourProfileCID

Options: - --name <string> - DAO name - --symbol <string> - Governance token symbol - --token-type <type> - Token type (fork, stable) - --initial-supply <number> - Initial token supply - --voting-delay <blocks> - Blocks before voting starts - --voting-period <blocks> - Blocks for voting duration - --proposal-threshold <tokens> - Tokens required to propose - --quorum <percentage> - Quorum percentage required - --profile-cid <cid> - IPFS CID for DAO profile metadata (avatar, description, socials)

Note: For most use cases, dao create-playbook is recommended over this command.


sage dao list

List DAOs from the registry.

sage dao list

Options: - --filter <status> - Filter by status (all, active, inactive) - --creator <address> - Filter by creator address - --format <type> - Output format (json, table)


sage dao info

Get detailed information about a DAO.

sage dao info 0xDAOAddress

Returns: - DAO metadata - Governance parameters - Token information - Treasury balance - Active proposals count - Library count


sage dao profile get

Get the profile metadata for a DAO.

sage dao profile get 0xDAOAddress
sage dao profile get 0xDAOAddress --json

Returns: - Profile CID and gateway URL - DAO name, description, avatar - Social links


sage dao profile set

Update DAO profile metadata (requires GOVERNANCE_ROLE).

sage dao profile set 0xDAOAddress --cid QmNewProfileCID

Note: This creates a governance proposal to update the profileCID on-chain.


sage dao profile upload

Upload DAO profile JSON to IPFS.

sage dao profile upload 0xDAOAddress --file dao-profile.json
sage dao profile upload 0xDAOAddress --name "My DAO" --description "DAO description" --avatar ipfs://...

Options: - -f, --file <path> - Path to profile JSON file - --name <name> - DAO name - --description <desc> - DAO description - --avatar <url> - Avatar URL or IPFS CID - --website <url> - Website URL - --twitter <handle> - Twitter handle - --discord <url> - Discord invite URL - --apply - Also submit governance proposal to set the CID


Proposals & Governance Commands

sage proposals inbox

List pending and active proposals for a DAO.

sage proposals inbox --dao 0xCommunityDAO

Returns: - Proposal IDs - Proposal status (Pending, Active, Succeeded, Queued, Executed) - Voting period deadlines - Current vote counts


sage proposals preview

Preview the details of a specific proposal.

sage proposals preview <id> --dao 0xCommunityDAO

What it shows: - Proposal description - Calldata breakdown (which contracts/functions will be called) - Current voting status - Time remaining - Required quorum


sage proposals vote

Vote on an active proposal.

sage proposals vote <id> for --dao 0xCommunityDAO
sage proposals vote <id> against --dao 0xCommunityDAO
sage proposals vote <id> abstain --dao 0xCommunityDAO

Options: - <id> - Proposal ID (required) - Vote type: for, against, or abstain - --dao <address> - DAO address (preferred; --subdao is a legacy alias)

Requirements: - Must have voting power (delegated tokens) - Proposal must be in Active state - Can only vote once per proposal


sage proposals execute

Execute a successful proposal after timelock delay.

sage proposals execute <id> --dao 0xCommunityDAO

Requirements: - Proposal must have succeeded (quorum + majority reached) - Proposal must be queued in Timelock - Timelock delay must have passed

What it does: - Executes the proposal's on-chain actions - Updates library registry (for library update proposals) - Returns transaction hash


sage proposals status

Check the status of proposals and show recommended next action.

sage proposals status --dao 0xCommunityDAO

Returns: - Latest proposals with current state - Recommended next action: - "Vote on proposal #X" (if active) - "Queue proposal #X" (if succeeded) - "Execute proposal #X" (if queued and delay passed)


Profile Commands

The sage profile command group manages personal wallet profiles (off-chain, signature-verified).

sage profile get

Get profile for a wallet address.

sage profile get [address]
sage profile get --json

Options: - [address] - Wallet address (defaults to your connected wallet) - --json - Output as JSON


sage profile set

Set your wallet profile.

sage profile set --name "Alice" --bio "Web3 developer" --avatar ipfs://...
sage profile set --twitter aliceweb3 --github alice

Options: - --name <name> - Display name (max 50 chars) - --bio <bio> - Bio/description (max 160 chars) - --avatar <url> - Avatar URL or IPFS CID - --twitter <handle> - Twitter handle (without @) - --github <handle> - GitHub username - --farcaster <handle> - Farcaster handle - --website <url> - Website URL - --clear - Clear all profile fields


sage profile upload

Upload a profile JSON file to IPFS.

sage profile upload --file profile.json
sage profile upload --name "My DAO" --bio "Description" --type dao

Options: - -f, --file <path> - Path to profile JSON file - --name <name> - Display name (used if no file provided) - --bio <bio> - Bio/description - --avatar <url> - Avatar URL or CID - --type <type> - Profile type: personal or dao (default: personal)

Returns: - IPFS CID for use with DAO creation or profile updates


sage profile interactive

Interactive profile setup wizard.

sage profile interactive
sage profile wizard  # alias

Guides you through setting up your profile with prompts for name, bio, avatar, and social links.


Personal Premium Commands

The sage personal command group allows creators to monetize their prompts directly using the Personal Premium model.

sage personal sell

Publish a premium prompt with an encrypted component.

sage personal sell --file ./prompts/exclusive.md --price 5.0

Options: - --file <path> - Path to the prompt file (required) - --price <amount> - Price in USDC (required) - --name <string> - Name of the prompt (optional, defaults to filename) - --description <string> - Description (optional) - --preview <path> - Path to a preview file (optional) - --subdao <address> - SubDAO to endorse this prompt (optional)


sage personal buy

Purchase access to a premium prompt.

sage personal buy --id <prompt-id>

Options: - --id <number> - The ID of the premium prompt (required) - --amount <number> - Amount of USDC to pay (optional, defaults to current price)


sage personal access

Decrypt and view a purchased premium prompt.

sage personal access --id <prompt-id>

Options: - --id <number> - The ID of the premium prompt (required) - --out <path> - Output file path (optional, prints to stdout otherwise)


sage personal my-licenses

List all premium licenses you own.

sage personal my-licenses

sage personal list

List premium prompts available for sale.

sage personal list

Options: - --creator <address> - Filter by creator address - --subdao <address> - Filter by endorsing SubDAO


sage personal price

Update the price of your premium prompt.

sage personal price --id <prompt-id> --new-price 10.0

sage personal unlist

Unlist a premium prompt, preventing new purchases.

sage personal unlist --id <prompt-id>

IPFS Commands

sage ipfs credits

Check your IPFS credit balance.

sage ipfs credits

Returns: - Available credits (in bytes) - Used credits - Credit expiration dates - Pinned content count


sage ipfs buy-credits

Purchase IPFS storage credits.

sage ipfs buy-credits --amount 1000000000

Options: - --amount <bytes> - Credit amount in bytes - --payment-token <address> - ERC20 token for payment (default: ETH)


sage ipfs pin

Pin content to IPFS.

sage ipfs pin <cid>

Options: - --name <string> - Human-readable pin name - --metadata <json> - Additional metadata


sage ipfs unpin

Unpin content from IPFS.

sage ipfs unpin <cid>

sage ipfs fetch

Fetch content from IPFS by CID.

sage ipfs fetch <cid>
sage ipfs fetch <cid> --output file.json

Options: - --output <path> - Save to file instead of stdout - --timeout <seconds> - Request timeout (default: 30)


NFT Commands (Voting Multipliers)

The sage nft command group is the admin/operator surface for the VotingMultiplierNFT system. It manages contract configuration, tier definitions, minting, and roles for NFT‑based voting multipliers.

sage nft doctor

Check NFT contract configuration and your permissions.

sage nft doctor

Returns: - Contract status and address - Your roles (ADMIN, MINTER) - Total tiers configured


sage nft list-tiers

List all NFT tiers for a specific DAO.

sage nft list-tiers --dao 0xYourDAO

Returns: - Tier ID, name, multiplier - Supply (minted/max) - Price (ETH for public mint, or admin-only)


sage nft my-multiplier

Check your voting multiplier for a DAO.

sage nft my-multiplier --dao 0xYourDAO
sage nft my-multiplier --dao 0xYourDAO --account 0xOtherAddress

Returns: - Your current voting multiplier (e.g., 1.5x) - Effective voting power calculation


sage nft tier create

Create a new NFT tier (requires ADMIN role).

sage nft tier create \
  --dao 0xYourDAO \
  --name "Founding Member" \
  --multiplier 200 \
  --max-supply 100 \
  --price 0.1

Options: - --dao <address> - DAO this tier belongs to - --name <name> - Tier name - --multiplier <number> - Voting multiplier (100=1x, 150=1.5x, 200=2x) - --max-supply <number> - Maximum supply (0 = unlimited) - --price <eth> - Price in ETH for public mint (0 = admin-only)


sage nft mint

Mint an NFT to an address (requires MINTER role).

sage nft mint --tier 0 --to 0xRecipient --uri ipfs://...

sage nft public-mint

Public mint an NFT (requires tier to have price > 0).

sage nft public-mint --tier 1 --uri ipfs://...

sage nft grant-role

Grant MINTER role to an address (requires ADMIN).

sage nft grant-role --to 0xAddress --role MINTER

Multiplier Commands (End‑User Voting Multipliers)

The sage multiplier command group is the end‑user and DAO maintainer interface for multiplier‑aware voting. It works on top of MultipliedVotes wrappers and the shared VotingMultiplierNFT contract.

sage multiplier status

Check whether a DAO uses NFT voting multipliers and how its voting tokens are wired.

sage multiplier status --dao 0xYourDAO

Returns: - Whether multipliers are enabled.
- Governor voting token and base token addresses.
- Associated VotingMultiplierNFT contract and basic tier summary.


sage multiplier calculate

Show voting power breakdown for an account in a multiplier‑enabled DAO.

sage multiplier calculate 0xYourAddress --dao 0xYourDAO

Returns: - Base votes from the underlying ERC20Votes token.
- Effective multiplier for this DAO.
- Effective voting power after applying multipliers.
- Per‑NFT tier information where applicable.


sage multiplier describe

Show detailed multiplier configuration, tiers, and (optionally) auction information.

sage multiplier describe --dao 0xYourDAO --nft 0xVotingMultiplierNFT

Returns: - Global VotingMultiplierNFT configuration (max multiplier, total tiers).
- Tiers scoped to the selected DAO (name, multiplier, supply, price, DAO).
- Optional auction configuration if a SageAuctionHouse address is provided.


sage multiplier propose-tier

Create a governance payload to add a new multiplier tier for a DAO via createTierViaGovernance.

sage multiplier propose-tier \
  --name "Founding Member" \
  --multiplier 150 \
  --max-supply 100 \
  --price 0.1 \
  --nft 0xVotingMultiplierNFT \
  --dao 0xYourDAO

This command encodes a call to:

createTierViaGovernance(subdao, name, multiplier, maxSupply, price)

and prints the calldata and sage gov propose invocation so DAOs can add tiers permissionlessly via timelock‑executed governance.


sage multiplier auction ... (Multiplier‑Focused Auction UX)

The sage multiplier auction subcommands provide a multiplier‑focused view over the global Sage Auction House:

  • sage multiplier auction status – Show current multiplier NFT auction status and tier details.
  • sage multiplier auction bid <amount> – Place a bid on the current multiplier NFT.
  • sage multiplier auction settle – Settle the current auction and start the next one.

These commands share the same underlying SageAuctionHouse and VotingMultiplierNFT contracts documented in the Auction Commands section below, but present them in the context of voting multipliers for DAOs.


Auction Commands

The sage auction command group interacts with the global SageAuctionHouse contract for NFT auctions. Where voting multipliers are enabled, these auctions typically mint new multiplier NFTs from the shared VotingMultiplierNFT contract. For multiplier‑specific UX, see the sage multiplier auction commands above, which wrap the same auction house in a DAO‑centric view.

sage auction status

View current auction status.

sage auction status

Returns: - Current auction state (Active, Paused, Needs Settlement) - Current NFT ID and bid amount - Configuration (reserve price, duration, min increment)


sage auction bid

Place a bid on the current auction.

sage auction bid 0.5

sage auction settle

Settle the current auction and start a new one.

sage auction settle

Boost Commands (Vote Incentives)

The sage boost command group manages USDC governance boosts to incentivize voting.

sage boost create

Create a boost with USDC rewards for voters.

sage boost create \
  --proposal-id 123 \
  --governor 0xGovernor \
  --per-voter 5_000000 \
  --max-voters 100 \
  --kind direct

Options: - --proposal-id <id> - Proposal ID to boost - --governor <address> - Governor address - --per-voter <usdc> - USDC per voter (6 decimals, e.g., 5_000000 = 5 USDC) - --max-voters <count> - Maximum eligible voters - --kind <kind> - Eligibility: direct, merkle, or custom - --policy <address> - Eligibility policy contract (for merkle/custom) - --min-votes <amount> - Minimum voting power required - --payout-mode <mode> - fixed or variable - --support <support> - any or for (only For voters eligible) - --start-at <unix> - Start timestamp - --expires-at <unix> - Expiry timestamp


sage boost status

Show boost status for a proposal.

sage boost status --proposal-id 123

sage boost claim

Claim a boost rebate with Merkle proof.

sage boost claim \
  --proposal-id 123 \
  --amount 5_000000 \
  --proof '[\"0x...\", \"0x...\"]'

sage boost set-root

Set Merkle root for airdrop eligibility.

sage boost set-root --proposal-id 123 --root 0x... --policy 0xPolicyAddress

sage boost fund

Fund a Merkle boost pool.

sage boost fund --proposal-id 123 --amount 1000_000000

sage boost finalize

Finalize a boost and refund unclaimed to creator.

sage boost finalize --proposal-id 123

Bounty Commands

The sage bounty command group manages the enhanced bounty system for incentivizing contributions.

sage bounty doctor

Check bounty system configuration.

sage bounty doctor

sage bounty create

Create a new bounty.

sage bounty create \
  --title "Fix bug in parser" \
  --description "The markdown parser fails on..." \
  --reward 100

Options: - --title <title> - Bounty title - --description <desc> - Detailed description - --reward <amount> - Reward amount (in SXXX or specified token) - --token <address> - Reward token (default: SXXX) - --deadline <unix> - Submission deadline - --subdao <address> - DAO context for governance bounties


sage bounty list

List all bounties.

sage bounty list
sage bounty list --status open

sage bounty claim

Claim a bounty to start working on it.

sage bounty claim --id <bounty-id>

sage bounty submit

Submit work for a bounty.

sage bounty submit --id <bounty-id> --proof <cid-or-url>

sage bounty approve

Approve a bounty submission (operator/board).

sage bounty approve --id <bounty-id> --submission <submission-id>

sage bounty wizard

Interactive bounty creation wizard.

sage bounty wizard

sage bounty set-mode

Configure bounty winner selection mode.

sage bounty set-mode \
  --subdao 0xDAO \
  --mode auto \
  --governance-config 0x... \
  --bounty-system 0x...

Modes: - auto - Automatic approval based on fast-track limits - board - Board/operator approval required - token - Token holder voting


sage bounty fund

Fund a bounty via governance proposal.

sage bounty fund \
  --subdao 0xDAO \
  --bounty-system 0x... \
  --bounty-id 123 \
  --token 0xSXXX \
  --amount 1000000000000000000

sage bounty payout-eth

Payout bounty reward in ETH.

sage bounty payout-eth --bounty-id 123 --winner 0xWinner --amount 0.1

sage bounty payout-erc20

Payout bounty reward in ERC20 token.

sage bounty payout-erc20 --bounty-id 123 --winner 0xWinner --token 0x... --amount 100

SBT Commands (Soulbound Badges)

The sage sbt command group manages soulbound badges for reputation and achievements.

sage sbt doctor

Check SBT contract configuration.

sage sbt doctor

sage sbt mint

Mint a soulbound badge to an address.

sage sbt mint --to 0xRecipient --reason contributor --uri ipfs://...

sage sbt revoke

Revoke a soulbound badge.

sage sbt revoke --token-id 123

sage sbt propose-mint

Create governance proposal to mint a badge.

sage sbt propose-mint --to 0xRecipient --reason contributor --subdao 0xDAO

sage sbt list-reasons

List valid badge reasons.

sage sbt list-reasons

Council Commands

The sage council command group manages the approver council for fast-track governance.

sage council doctor

Check council configuration.

sage council doctor

sage council set-config

Configure council parameters.

sage council set-config --threshold 3 --members 5

sage council allow

Add an address to the council allowlist.

sage council allow --address 0xMember

sage council show

Show current council configuration.

sage council show

sage council exec

Execute an action as council.

sage council exec --target 0x... --data 0x...

Safe Commands (Multisig)

The sage safe command group manages Gnosis Safe multisig operations.

sage safe propose

Create a Safe transaction proposal.

sage safe propose \
  --safe 0xSafeAddress \
  --to 0xTarget \
  --data 0x... \
  --value 0

sage safe status

Check Safe transaction status.

sage safe status --safe 0xSafeAddress

sage safe doctor

Check Safe configuration.

sage safe doctor --safe 0xSafeAddress

sage safe propose-bounty

Create a bounty payout proposal via Safe.

sage safe propose-bounty \
  --safe 0xSafeAddress \
  --bounty-id 123 \
  --winner 0xWinner

Timelock Commands

The sage timelock command group manages governance timelock operations.

sage timelock doctor

Check timelock configuration and pending operations.

sage timelock doctor --subdao 0xDAO

sage timelock schedule

Schedule an operation in the timelock.

sage timelock schedule \
  --subdao 0xDAO \
  --target 0xTarget \
  --data 0x... \
  --delay 86400

sage timelock execute

Execute a ready timelock operation.

sage timelock execute \
  --subdao 0xDAO \
  --operation-id 0x...

sage timelock list

List pending timelock operations.

sage timelock list --subdao 0xDAO

sage timelock cancel

Cancel a pending timelock operation.

sage timelock cancel \
  --subdao 0xDAO \
  --operation-id 0x...

sage timelock fix-roles

Fix missing timelock roles.

sage timelock fix-roles --subdao 0xDAO

sage timelock execute-batch

Execute multiple timelock operations in batch.

sage timelock execute-batch \
  --subdao 0xDAO \
  --operations operations.json

SXXX Token Commands

The sage sxxx command group manages SXXX governance token operations.

sage sxxx balance

Check SXXX balance.

sage sxxx balance
sage sxxx balance --account 0xAddress

sage sxxx delegate

Delegate voting power.

sage sxxx delegate --to 0xDelegate
sage sxxx delegate --self

sage sxxx approve

Approve SXXX spending.

sage sxxx approve --spender 0xAddress --amount 1000

sage sxxx transfer

Transfer SXXX tokens.

sage sxxx transfer --to 0xRecipient --amount 100

Stake Status Commands

The sage stake-status command shows staking and voting power status.

sage stake-status --subdao 0xDAO
sage stake-status --account 0xAddress

Returns: - Staked amount - Voting power - Delegation status - Pending rewards


MCP Server Commands

sage mcp start

Start the HTTP MCP server for AI agents.

sage mcp start
sage mcp start --port 3000

Options: - --port <number> - Server port (default: 3000) - --host <address> - Bind address (default: localhost) - --cors-origin <url> - CORS origin for web clients

What it provides: - /mcp/search - Search libraries by keywords - /mcp/fetch - Fetch library by CID - /mcp/validate - Validate manifest structure


sage mcp stdio

Run MCP server in stdio mode for Claude Desktop.

node packages/cli/src/mcp-server-stdio.js

Available Tools:

Quick Workflow: - quick_create_prompt / quick_iterate_prompt / quick_test_prompt: Create, iterate, and test prompts - improve_prompt / rename_prompt / help: Prompt improvement and help

Discovery & Search: - search_prompts: Unified search across local and on-chain sources - search_onchain_prompts: Search from LibraryRegistry and per-DAO registries - trending_prompts / list_prompts / get_prompt: Browse and retrieve prompts - list_libraries / list_subdaos / get_library_manifests: DAO and library discovery

Publishing & Governance: - suggest_subdaos_for_library: Recommend DAOs for publishing - generate_publishing_commands: Generate CLI commands to publish - publish_manifest_flow: Validate → Push → Build governance payload (no signing) - list_proposals: List active proposals

Templates & Bulk Operations: - list_templates / get_template / create_from_template: Template workflows - bulk_update_prompts / analyze_dependencies / update_library_metadata: Library management

For the complete tool list, see the MCP configuration guide.

Usage in Claude Desktop config:

{
  "mcpServers": {
    "sage": {
      "command": "node",
      "args": ["/path/to/sage/packages/cli/src/mcp-server-stdio.js"]
    }
  }
}


Utility Commands

sage config show

Display current configuration.

sage config show

sage config set

Update configuration values.

sage config set rpc.url https://mainnet.base.org
sage config set ipfs.worker https://ipfs-worker.example.com

sage version

Show CLI version information.

sage version

sage help

Display help information.

sage help
sage help <command>

Advanced Workflows

Publishing a Complete Library

# 1. Initialize workspace
sage prompts init

# 2. Add prompts (multiple options)
# Write from scratch:
echo "# DeFi Analysis\n\nAnalyze this..." > prompts/defi-analyzer.md

# Or import existing skills:
sage prompts import-skill pdf
sage prompts init --preset cursor

# Or pull from registry to modify:
sage prompts pull

# 3. Check status
sage prompts status

# 4. Publish (builds manifest, uploads to IPFS, creates proposal)
sage prompts publish --dao 0xYourDAO --pin

# Preview first with --dry-run
sage prompts publish --dry-run

Setting Up a DAO

# Deploy DAO with governance parameters
sage dao create \
  --name "Research DAO" \
  --symbol "RSRCH" \
  --token-type fork \
  --initial-supply 10000000

Agent Integration via MCP

# 1. Start MCP server
sage mcp start --port 3000

# 2. In your agent code:
# - Query: POST http://localhost:3000/mcp/search
# - Fetch: POST http://localhost:3000/mcp/fetch
# - Validate: POST http://localhost:3000/mcp/validate

Environment Variables

The Sage CLI respects the following environment variables:

  • SAGE_RPC_URL - Blockchain RPC endpoint
  • SAGE_PRIVATE_KEY - Wallet private key (not recommended for production)
  • SAGE_IPFS_WORKER_URL - IPFS worker API endpoint
  • SAGE_IPFS_API_KEY - IPFS worker authentication
  • SAGE_NETWORK - Network name (base-mainnet, base-sepolia)
  • SAGE_SUBGRAPH_URL - Custom subgraph endpoint

Exit Codes

  • 0 - Success
  • 1 - General error
  • 2 - Configuration error
  • 3 - Network error
  • 4 - Validation error
  • 5 - Permission denied

Getting Help