Skip to main content
versuno push [file] [-m <description>]
Finds all modified asset files (via content hash comparison), then for each:
  • Existing asset (has an id in frontmatter) — creates a new version on the API and updates version and updated_at in the frontmatter.
  • New file (no id) — creates a brand-new asset, inferring the assetType from the directory name, and writes back id, type, title, version, created_at, and updated_at into the frontmatter.

Arguments

ArgumentRequiredDescription
filePositionalSpecific file to push. Omit to push all modified files.

Options

FlagDescription
-m <text>Version commit description (stored with the version).
--type <type>Asset type override (context, prompt, persona, system-prompt, skill). Defaults to the directory-inferred type.
--title <text>Asset title override. Defaults to the filename without extension.
--dry-runPrint what would be pushed without making any API calls.
--format jsonOutput a JSON array of push results instead of human-readable output.

Asset type inference

When pushing a new file (no id), the type is inferred from its parent directory:
DirectoryInferred type
contexts/context
prompts/prompt
personas/persona
system-prompts/system-prompt
skills/skill
projects/<slug>/<type>/from <type> subfolder

Examples

# Push all modified files
versuno push

# Push a specific file with a description
versuno push prompts/my-prompt.md -m "Improved tone"

# Preview what would be pushed
versuno push --dry-run

# Push a new file with an explicit type and title
versuno push notes/raw-draft.md --type prompt --title "Draft Intro Prompt"

# JSON output
versuno push -m "Update" --format json

See also