Command Reference

This file is auto-generated. Do not edit manually.

Complete reference for all CLI commands grouped by category.

common commands

cicd commands

qc commands

tk commands

ws commands

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 fetchc
  • wseng context
  • wseng 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 changelog
  • wseng cl

Arguments:

  • ticketId: The ticket ID
  • description: Override for the ticket description
  • prUrl: 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 record
  • wseng demo
  • wseng upload-demo
  • wseng rd
  • wseng 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 ticket
  • wseng start

Arguments:

  • ticketId: The ticket ID or NO-TICKET
  • branchDescription: 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 ' label, validates ticket is in 'Review' status, and transitions to 'Ready'. QC status is determined by computed fields from the transition and label.

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 label.

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 sq
  • wseng 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 ob
  • wseng 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 cbr
  • wseng ws cr
  • wseng 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