Command Reference
This file is auto-generated. Do not edit manually.
Complete reference for all CLI commands grouped by category.
common commands
- wseng commit (aliases:
wseng cm) - wseng completion
- wseng eval (aliases:
wseng e) - wseng fetch-context (aliases:
wseng fetchc,wseng context,wseng fc) - wseng finish (aliases:
wseng done) - wseng generate-changelog (aliases:
wseng changelog,wseng cl) - wseng git-sync (aliases:
wseng gs) - wseng init (aliases:
wseng i) - wseng record-demo (aliases:
wseng record,wseng demo,wseng upload-demo,wseng rd,wseng ud) - wseng start-ticket (aliases:
wseng ticket,wseng start)
cicd commands
qc commands
- wseng qc fail (aliases:
wseng qc f) - wseng qc pass (aliases:
wseng qc p) - wseng qc start (aliases:
wseng qc sq,wseng qc s)
tk commands
- wseng tk onboarding (aliases:
wseng tk ob,wseng tk generate-onboarding-tickets)
ws commands
- wseng ws build-completion-data
- wseng ws create-blank-plan (aliases:
wseng ws cbp) - wseng ws create-blank-rca (aliases:
wseng ws cbr,wseng ws cr,wseng ws new-rca) - wseng ws get-cli-metadata
- wseng ws load-context (aliases:
wseng ws lc) - wseng ws load-plan (aliases:
wseng ws lp) - wseng ws save-plan (aliases:
wseng ws sp) - wseng ws save-rca (aliases:
wseng ws sr)
common commands
wseng commit
Performs a commit; generates the commit message using AI.
Demo: https://www.loom.com/share/f511f1e3a9794574a11943ba3aa6acfe
Aliases:
wseng cm
Arguments:
type: The type of the commit (e.g., ai, feature, fix, etc.).message: The commit message to use. If provided, skips AI message generation.ticketId: The ticket ID. If not provided, the ticket ID will be read from the context.
Options:
--type <value>: The type of the commit (e.g., ai, feature, fix, etc.).--message <value>: The commit message to use. If provided, skips AI message generation.--ticket-id <value>: The ticket ID. If not provided, the ticket ID will be read from the context.--stage, --no-stage: Whether or not to stage all changes if there are no staged changes.--push, --no-push: Whether or not to push the commit to the remote repository.--tags <value>: The tags to apply to the commit.--feedback <value>: Optional feedback for the AI to consider when generating the commit message.--check, --no-check: Optional pre-commit checks (whether there are files not fully covered with tests, or modifications done only for debugging purposes)--empty, --no-empty: Create an empty commit with no changes--summary-only, --no-summary-only: Create a commit with only the summary
wseng completion
Install shell tab-completion for wseng. Auto-detects bash/zsh/fish/powershell; pass --shell to override.
Options:
--shell <value>: Override the detected shell. One of: bash, zsh, fish, powershell.
wseng eval
Evaluate arbitrary TypeScript code with access to the DI container.
Available utilities:
- getModule(path): Get an already-loaded module by its relative path from src/
- getService(path, exportName?): Get a service instance from the DI container by its relative path
Examples: wseng eval "const mod = getModule('constants/llm-models'); return Object.keys(mod);" wseng eval "const chat = getService('integrations/google/services/google-chat.service'); return chat.constructor.name;" wseng eval "const { LLMModel } = getModule('constants/llm-models'); return LLMModel.CLAUDE_SONNET;" wseng eval "const llm = getService('services/llm-service'); return await llm.complete({ model: 'claude-sonnet', messages: [{ role: 'user', content: 'Hi' }] });"
Aliases:
wseng e
Arguments:
code: TypeScript/JavaScript code to evaluate
Options:
--code <value>: TypeScript/JavaScript code to evaluate
wseng fetch-context
Fetch associated context and save as markdown
Demo: https://drive.google.com/open?id=10LhUHK2nZTKDLibLGtHWPemz6MxgrNO4&usp=drive_fs
Aliases:
wseng fetchcwseng contextwseng fc
Arguments:
url: Any URL that is supported
Options:
--url <value>: Any URL that is supported--save <value>: Save content as a file in the context folder--save-each, --no-save-each: Save content of the each document separately in the context folder--stdout, --no-stdout: Output result into the stdout
wseng finish
Push local .context/output.md to ticket output and transition to Review.
Aliases:
wseng done
Arguments:
ticketId: The ticket ID (optional if start-ticket was run)
Options:
--ticket-id <value>: The ticket ID (optional if start-ticket was run)--skip-transition, --no-skip-transition: Skip the prompt to transition the ticket to Review
wseng generate-changelog
Generate a changelog and summary for the current branch and update the ticket.
Demo: https://www.loom.com/share/f89896e670724515b66fa0bc53d99271
Aliases:
wseng changelogwseng cl
Arguments:
ticketId: The ticket IDdescription: Override for the ticket descriptionprUrl: Override for the pull request URL
Options:
--ticket-id <value>: The ticket ID--description <value>: Override for the ticket description--pr-url <value>: Override for the pull request URL--base-branch <value>: Override for the base branch used for generating diff--exclude <value>: Additional exclusion patterns for filtering vendored/generated code from PR diffs (e.g., 'src/generated/**')--source <value>: Diff source: 'pr' uses PR diff (default), 'commits' uses local branch diff against base
wseng git-sync
Syncs local branches with remote branches (if applicable).
Aliases:
wseng gs
Options:
--sd, --no-sd: Switch to the repository's default branch before syncing. Useful after a merged PR so the previously-current branch becomes eligible for cleanup.
wseng init
Initialize the CLI for a project with the default configuration.
Aliases:
wseng i
Options:
--validate, --no-validate: Validate the project configuration.--google, --no-google: Initialize Google authentication (Drive, Sheets).--truefoundry, --no-truefoundry: Store your personal TrueFoundry gateway token, used for every LLM call.--automation, --no-automation: Initialize the CLI for automation usage.
wseng record-demo
Record a demo video and upload it to Google Drive
Demo: https://drive.google.com/open?id=1sDjbosljvM4sr-1fWqdj0aBJSfmkKFJ5&usp=drive_fs
Aliases:
wseng recordwseng demowseng upload-demowseng rdwseng ud
Options:
--video-path <value>: Path to existing video file (skips recording if provided)--ticket-id <value>: JIRA ticket ID (or NO-TICKET for AI-generated summary)--subfolder <value>: Override subfolder name (will be used as the subfolder where to save the recording)--upload, --no-upload: Upload video to Google Drive after recording--link, --no-link: Link video to Jira ticket or PR--cleanup, --no-cleanup: Cleanup recording after upload--countdown, --no-countdown: Show countdown before recording starts--close-obs, --no-close-obs: Close OBS after recording (only if OBS was started by the CLI)
Example:
Setup (one-time):
1. OBS WebSocket: Tools -> WebSocket Server Settings -> Enable, set password
2. OBS Audio: Settings -> Audio -> select your audio device
3. OBS Sources: Add Display Capture for your recording screen
4. OBS Hotkeys (recommended): Settings -> Hotkeys -> Recording section:
- Pause Recording: Pause key (or Ctrl+Alt+P)
- Stop Recording: End key (or Ctrl+Alt+S)
- MacOS (optional): Grant Input Monitoring permission for global shortcuts to work:
System Settings -> Privacy & Security -> Input Monitoring -> Add OBS
5. OBS General (recommended): Settings -> General -> System Tray:
- Enable "Minimize to system tray when started"
6. Google OAuth: First run will prompt for authorization (interactive mode only)
Usage Examples:
wseng record-demo # Record + upload to your Drive wseng record-demo --no-upload # Record only (save locally, no upload) wseng record-demo --video-path ./video.mp4 # Upload existing video (skip recording) wseng record-demo --subfolder "Custom" # Upload to custom subfolder in Drive wseng record-demo --no-link # Upload but don't link to ticket wseng record-demo --cleanup # Delete local file after upload wseng record-demo --ticket-id NO-TICKET # Asks for a recording name instead of the ticket title wseng record-demo --no-countdown # Skip the countdown wseng record-demo --no-close-obs # Keep OBS open after recording (default: closes OBS)
wseng start-ticket
Start working on a ticket or create a no-ticket branch. Creates a new branch, empty commit, and pull request. Assigns the current user as the assignee on the GitHub PR. For tickets: Saves the PR URL in the ticket, downloads the ticket's description and specs locally. Use NEW to create a new ticket based on current repository.
Demo: https://www.loom.com/share/ae9d32bd191844efab3ad3c5798d76ba
Aliases:
wseng ticketwseng start
Arguments:
ticketId: The ticket ID or NO-TICKETbranchDescription: Description to use for the branch name
Options:
--ticket-id <value>: The ticket ID or NO-TICKET--branch-description <value>: Description to use for the branch name--current-branch-as-base, --no-current-branch-as-base: Use the current branch as the base branch for the new branch.--simple-branch, --no-simple-branch: Use a simple branch name for the new branch.--confirm-branch, --no-confirm-branch: Confirm the branch name before creating the branch.--type <value>: The type of branch to create (story, feature, bugfix, hotfix, ai, research, or manual).--description <value>: Description for the new ticket (only applies when creating NEW tickets).--skip-description-document-load, --no-skip-description-document-load: Skip loading documents from Jira ticket description.--refresh-context, --no-refresh-context: Reload the ticket context (plan, estimation, docs) even if it matches the current ticket.--git-sync, --no-git-sync: Sync local git branches first.--unique-branch-name, --no-unique-branch-name: Ensure a unique branch name for the new branch.--ticket-transition, --no-ticket-transition: Transition the ticket to In Progress status.--create-new-branch, --no-create-new-branch: Create a new branch even if one exists for the ticket.--unlink-closed-prs, --no-unlink-closed-prs: Remove closed pull requests from the ticket's code field.--yaml, --no-yaml: Whether to generate YAML files for the ticket (estimation, RCA) - if applicable.--force-assignment, --no-force-assignment: Override assignment checking and assign ticket to current user even if already assigned.--code, --no-code: Whether to generate branch/pull request for the ticket.--milestone <value>: Milestone title or number to attach to the ticket (GitHub only).
Example:
wseng start-ticket LAMBDA-1234 wseng start-ticket ws-eng-cli/898 wseng start-ticket 898 # Uses current repo or defaultGitHubRepo wseng start-ticket repo/issues/123 # Auto-strips /issues/ wseng start-ticket LAMBDA-1234 --force-assignment wseng start-ticket NO-TICKET "Fix minor bug" wseng start-ticket NEW "Implement new feature" --type story
cicd commands
wseng cicd publish-docs
Prepare and publish documentation to Scalar.
Options:
--config <value>: Path to base docs configuration file--overrides <value>: Path to config overrides file (.env or .json)--build-dir <value>: Directory where built docs will be written--dry-run, --no-dry-run: Prepare docs but skip publishing
qc commands
wseng qc fail
Fail QC for a ticket. Applies 'qc
Aliases:
wseng qc f
Arguments:
ticketId: The ticket ID
Options:
--ticket-id <value>: The ticket ID
Example:
wseng qc fail ws-eng-cli/123 wseng qc fail # Uses current context ticket
wseng qc pass
Pass QC for a ticket. Validates ticket is in 'Review' status and transitions to 'Done'. Supports rubberstamp: if no reviewer is assigned, auto-assigns current user. QC status is determined by computed fields based on qc
Aliases:
wseng qc p
Arguments:
ticketId: The ticket ID
Options:
--ticket-id <value>: The ticket ID
Example:
wseng qc pass ws-eng-cli/123 wseng qc pass ws-eng-cli/123 # Rubberstamp: auto-assigns reviewer if unset wseng qc pass # Uses current context ticket
wseng qc start
Start QC process for a ticket. Validates reviewer assignment, refreshes context, sets reviewer field to current user, adds reviewer to attached GitHub PRs, transitions ticket to 'In QC', and checks out ticket branch.
Aliases:
wseng qc sqwseng qc s
Arguments:
ticketId: The ticket ID
Options:
--ticket-id <value>: The ticket ID--ticket-transition, --no-ticket-transition: Transition the ticket to In Progress status.--force-review, --no-force-review: Force assign current user as reviewer even if already assigned to someone else--checkout, --no-checkout: Whether to skip branch checkout--output, --no-output: Display the output section
Example:
wseng qc start ws-eng-cli/123 wseng qc start ws-eng-cli/123 --force-review # Override existing reviewer assignment wseng qc start ws-eng-cli/123 --skip-branch-checkout # Skip branch checkout if needed wseng qc start ws-eng-cli/123 --no-output # Suppress output section display
tk commands
wseng tk onboarding
Generate onboarding tickets for a new team member from the onboarding tracker
Aliases:
wseng tk obwseng tk generate-onboarding-tickets
Arguments:
personName: Name of the person to generate onboarding tickets for.
Options:
--person-name <value>: Name of the person to generate onboarding tickets for.--dry-run, --no-dry-run: Preview what would be created without actually creating tickets.
ws commands
wseng ws build-completion-data
Generate the registry snapshot used by shell completion.
Options:
--output-file <value>: Where to write the JSON snapshot.
wseng ws create-blank-plan
Creates a blank plan locally at .context/plan/plan.md
Aliases:
wseng ws cbp
Arguments:
ticketId: The ticket ID
Options:
--ticket-id <value>: The ticket ID
wseng ws create-blank-rca
Creates a blank RCA.
Aliases:
wseng ws cbrwseng ws crwseng ws new-rca
Arguments:
ticketId: The ticket ID
Options:
--ticket-id <value>: The ticket ID--ticket-transition, --no-ticket-transition: Whether to transition the ticket to Planning status.
wseng ws get-cli-metadata
Get the metadata for the CLI.
Demo: https://www.loom.com/share/41ab6710bb3b4d828805af72606494a0
Options:
--format <value>: The output format--update-docs, --no-update-docs: Whether to update the documentation files (configuration-reference.md, global-options.md, command-reference.md)--output-file <value>: The file to output the metadata to
wseng ws load-context
Loads the full ticket context (description, plan, RCA, competencies, context packs, docs) without starting the ticket
Aliases:
wseng ws lc
Arguments:
key: Ticket key (e.g., repo/number). If not provided, infers from the current branch name.
Options:
--key <value>: Ticket key (e.g., repo/number). If not provided, infers from the current branch name.
wseng ws load-plan
Loads a plan from ws-eng-plans repository and saves it locally
Aliases:
wseng ws lp
Arguments:
key: The ticket KEY to load (e.g., LAMBDA-87600)
Options:
--key <value>: The ticket KEY to load (e.g., LAMBDA-87600)
wseng ws save-plan
Saves the plan to ws-eng-plans repository and creates/updates PR.
Aliases:
wseng ws sp
Options:
--project <value>: Project to use - accepts ID (e.g., 'WS-Engineering'), Short Name (e.g., 'WS-Eng'), or Friendly Name (e.g., 'WS'). Bypasses Team Roster repository lookup.--ticket-transition, --no-ticket-transition: Whether to transition the ticket to In Progress status.
wseng ws save-rca
Saves the current RCA to ws-eng-docs repository and creates/updates PR.
Aliases:
wseng ws sr
