How to Submit a Shot

A "shot" is a verified AI-powered code transformation. One prompt, one commit, fully reproducible. Here's how to submit yours:

1

Use an AI Coding Tool

Make a code change using one of the supported AI harnesses:

  • Claude Code - Anthropic's CLI coding assistant
  • Cursor - AI-powered code editor
  • Codex CLI - OpenAI's command-line tool
2

Commit Your Changes

Stage and commit the AI-generated changes to git:

git add . git commit -m "Your descriptive commit message"
3

Install the Oneshot CLI

Install our command-line tool globally via npm:

npm install -g oneshot-cli
4

Log In (Optional)

Authenticate with your GitHub account to get credited for your shots:

oneshot login
5

Connect Vercel (Optional)

If your project deploys to Vercel, connect it to auto-detect preview URLs:

oneshot vercel-login

You'll need a Vercel API token from vercel.com/account/tokens

Important: Vercel preview deployments must be public for viewers to see them. Go to Project Settings → Deployment Protection and set it to "Only Preview Deployments from a PR" or disable protection entirely.
6

Submit Your Shot

Run the submit command from your repo root:

oneshot submit --title "Your shot title" --type feature

The CLI auto-detects your AI session and extracts the prompt, model, and settings.

Shot Types

Choose the type that best describes your transformation:

  • feature - Adding new functionality
  • fix - Bug fixes, error handling
  • refactor - Restructuring without changing behavior
  • ui - Styling, layout, visual changes
  • test - Adding or improving tests
  • docs - Documentation generation
  • other - Anything else

CLI Options

oneshot submit [options]

Options:
  --title <title>           Shot title (required)
  --type <type>             Transformation type (default: feature)
  --tags <tags>             Comma-separated tags
  --harness <harness>       Override harness detection
  --before-preview-url      Override before preview URL
  --after-preview-url       Override after preview URL
  --api-url <url>           API base URL

How Verification Works

Each shot is verified through multiple mechanisms:

  • Git commit hashes - Anchor the before/after states immutably
  • Session extraction - Parse AI session data directly from harness logs
  • Timestamp correlation - Verify session timing aligns with commits
  • Content hashing - Prove session data hasn't been modified post-submission