Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.selftune.dev/llms.txt

Use this file to discover all available pages before exploring further.

Usage

selftune contribute --skill <name> [options]
Builds a sanitized community export bundle from local SQLite data and optionally submits it to the cloud or via GitHub. This is separate from selftune contributions, which manages creator-directed sharing preferences (relay signals).

Options

FlagDescriptionDefault
--skill <name>Skill to export (required)
--previewShow what would be shared without writingOff
--sanitize <level>conservative or aggressiveconservative
--since <date>Only include data from this date onwardAll data
--output <file>Write bundle to a specific path~/.selftune/contributions/
--submitSubmit bundle to the cloud endpointOff
--endpoint <url>Override the cloud API endpointFrom alpha identity config
--githubSubmit via GitHub Issue instead of the cloud endpointOff

How it works

  1. Assembles a bundle from local SQLite (session metrics, eval entries, grading summary, evolution summary)
  2. Applies privacy sanitization (conservative strips PII patterns; aggressive removes all query text)
  3. Writes the bundle JSON to ~/.selftune/contributions/
  4. If --submit: sends to POST /api/v1/community/bundles with auth and creator_id from the skill’s selftune.contribute.json
  5. If --github: creates a GitHub Issue via gh CLI with the bundle inlined or uploaded as a gist

Endpoint resolution

When using --submit, the endpoint is resolved in this order:
  1. --endpoint flag (if provided)
  2. cloud_api_url from your alpha identity config (if authenticated)
  3. Default: https://api.selftune.dev

Sanitization levels

LevelBehavior
conservativeStrips emails, paths, IPs, tokens via regex. Keeps query structure.
aggressiveRemoves all query text, keeping only category labels and counts.

Examples

# Preview what would be shared
selftune contribute --skill my-skill --preview

# Export bundle to default location
selftune contribute --skill my-skill

# Submit to cloud
selftune contribute --skill my-skill --submit

# Submit via GitHub instead
selftune contribute --skill my-skill --submit --github

# Only include recent data
selftune contribute --skill my-skill --since 2026-03-01 --submit