Command Reference

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

Complete reference for all CLI commands grouped by category.

common commands

competencies commands

athena commands

cat 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: Whether or not to stage all changes if there are no staged changes.
  • --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: Optional pre-commit checks (whether there are files not fully covered with tests, or modifications done only for debugging purposes)
  • --empty: Create an empty commit with no changes
  • --summary-only: Create a commit with only the summary

wseng context-tree

Generate a context tree for specified files, showing dependencies and related files

Demo: https://www.loom.com/share/f596ab819e814720972867179e803085

Aliases:

  • wseng ct

Options:

  • --files <value>: File paths or glob patterns separated by semicolons
  • --no-include-self: Include the input files in the output
  • --include-tests: Include corresponding test files in the output
  • --output-type <value>: Output type: simple (exact paths only) or extended (all glob patterns)
  • --max-depth <value>: Maximum depth of the dependency tree

Example: wseng context-tree --files="path/to/your/file.ts"

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: Save content of the each document separately in the context folder
  • --stdout: Output result into the stdout

wseng fetch-pr-review

Fetch PR review comments and save them in the context folder

Aliases:

  • wseng prc

Arguments:

  • prUrlOrTicketId: Pull request URL or ticket ID (if not provided, will be inferred)

Options:

  • --pr-url-or-ticket-id <value>: Pull request URL or ticket ID (if not provided, will be inferred)
  • --implement: Fix unresolved review comments automatically

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

wseng get-backlog

Fetch and select from highest priority unassigned tickets in the backlog

Demo: https://drive.google.com/file/d/1RKBfNkB1j6LkR041UV_o6Mnr06MznD0s/view?usp=drivesdk

Aliases:

  • wseng gb
  • wseng backlog
  • wseng my-backlog
  • wseng mb

Options:

  • --ai: Get AI backlog tickets
  • --self-reported: Show tickets reported by you
  • --self-assigned: Show tickets assigned to you

wseng get-status

Get the status of the current user from JIRA.

Aliases:

  • wseng status
  • wseng my-status

wseng git-sync

Syncs local branches with remote branches (if applicable).

Aliases:

  • wseng gs

wseng how-to-test

Generate 'How to Test' instructions and update the ticket.

Demo: https://www.loom.com/share/0ae58b46155f450f916d0d6ad8de12d0

Aliases:

  • wseng ht
  • wseng htt

Arguments:

  • ticketId: The ticket ID

Options:

  • --skip-preparation-steps: Skip the preparation steps (optional, default is false)
  • --ticket-id <value>: The ticket ID
  • --type <value>: The type of the ticket - backend or frontend (optional, default is empty)
  • --pr-url <value>: Override for the pull request URL (optional, by default is taken from ticket)
  • --include <value>: The glob patterns to include files to the context (optional, default is empty)
  • --prompt <value>: A path to a file containing the requirements for the 'How to Test' instructions (optional, default is empty)
  • --skip-prompt: Skip the entering prompt in editor if prompt is not provided (optional, default is false)
  • --simplified-output: Use simplified prompt for 'How to Test' instructions (optional, default is false)
  • --use-postman: Use Postman to generate 'How to Test' instructions (optional, default is false)
  • --postman-workspace-id <value>: The Postman workspace ID (optional, default is CoachBot workspace if --use-postman is used)
  • --postman-collection-id <value>: The Postman collection ID (optional, default is TeachTap collection if --use-postman is used)
  • --no-include-acceptance-tests: Include ticket acceptance tests (optional, default is true)
  • --no-include-git-diff: Include git diff in the prompt (optional, default is true)
  • --include-sql: Include helpful SQL queries (optional, default is false)

wseng ingest-data

Ingest data into the WSEng vector DB (Pinecone).

Aliases:

  • wseng ingest

Arguments:

  • provider: Specify data provider to ingest data from.

Options:

  • --provider <value>: Specify data provider to ingest data from.
  • --jql <value>: JQL query to filter tickets

wseng init

Initialize the CLI for a project with the default configuration.

Aliases:

  • wseng i

Options:

  • --validate: Validate the project configuration.
  • --aws: Initialize the AWS configuration.
  • --default-aws-account <value>: The default AWS account to use.
  • --automation: Initialize the CLI for automation usage.

wseng mcp-http

Run MCP server over HTTP that exposes various tools, prompts, and resources.

Aliases:

  • wseng mcp-server-http
  • wseng mcph

Options:

  • --port <value>: Port to run the HTTP server on
  • --host <value>: Host to bind the HTTP server to
  • --no-stateless: Run in stateless mode (suitable for Lambda deployment)

Example:

Running the HTTP MCP server: wseng mcp-http --port 3000 --host localhost

Running in stateless mode (for Lambda deployment): wseng mcp-http --stateless

Configuring in Claude Desktop or other MCP clients: "mcpServers": { "WSEng": { "url": "http://localhost:3000/mcp" } }

Testing with MCP Inspector: npx -y @modelcontextprotocol/inspector http://localhost:3000/mcp

wseng mcp-server

Run MCP server that exposes various tools, prompts, and resources.

Aliases:

  • wseng mcp

Options:

  • --resources: Include resources in the server
  • --prompts: Include prompts in the server
  • --only-tools <value>: Glob-like patterns for including specific tools (e.g., ['qa', 'commit*'])

Example:

Configuring the MCP server in Claude Desktop or other MCP clients:

"mcpServers": { "WSEng": { "command": "wseng", "args": ["mcp"] } }

Running with MCP Inspector: npx -y @modelcontextprotocol/inspector wseng mcp

wseng otp-generator

Generate an OTP using a profile's secret.

Aliases:

  • wseng otp

Arguments:

  • profile: Profile name to generate OTP for

Options:

  • --profile <value>: Profile name to generate OTP for

wseng postman-e2e-tests

Create E2E workflows for Postman

Demo: https://www.loom.com/share/789bee235fa642699d8f1bbe5a31d5ac

Aliases:

  • wseng postman-e2e

Options:

  • --include <value>: The glob pattern to include schema files. Multiple ones can be included, separated by semicolon
  • --exclude <value>: The glob pattern to exclude schema files. Multiple ones can be included, separated by semicolon
  • --collection-id <value>: The Postman collection ID to add the tests to

wseng prompt-with-files

Prompt an LLM to perform specific changes to the matched files

Demo: https://www.loom.com/share/0b9b8ee82ac24b5e8aed956d26ef2a03

Aliases:

  • wseng prompt
  • wseng prompt-files

Arguments:

  • prompt: The prompt to use for the LLM.

Options:

  • --prompt <value>: The prompt to use for the LLM.
  • --include <value>: A glob pattern to match files to process
  • --exclude <value>: A glob pattern to exclude files from processing
  • --read <value>: A glob pattern to match read-only files
  • --one-by-one: Prompt the AI one by one for each file
  • --parallel: Process files in parallel when using one-by-one mode
  • --include-deps: Automatically include dependencies of matched files
  • --max-depth <value>: Maximum depth for dependency resolution (1-5)
  • --max-parallel-concurrency <value>: Maximum number of simultaneous Aider instances that can run in parallel

wseng question

Answer questions about the codebase.

Demo: https://www.loom.com/share/4293d854bfd24a0db09015e96e30c16d?sid=5fac5abd-6e28-4c3b-9312-10fe24e32656

Aliases:

  • wseng qa

Arguments:

  • question: The question to answer
  • include: The glob pattern to include files to the context for the question. Multiple ones can be included, separated by semicolon

Options:

  • --question <value>: The question to answer
  • --include <value>: The glob pattern to include files to the context for the question. Multiple ones can be included, separated by semicolon
  • --exclude <value>: The glob pattern to exclude files from the context for the question. Multiple ones can be included, separated by semicolon
  • --include-context: Include all .md files from the .context folder (except qa-codebase-dump.md)
  • --use-metadata: Use files from the currently selected module metadata - this will ignore/override the provided/default glob patterns
  • --include-git-diff: Include git diff in the prompt (optional, default is false)
  • --auto-include: Experimental: Let the LLM decide what to include
  • --auto-include-iterations <value>: Experimental: How many iterations to run the auto-include algorithm
  • --preset <value>: Use a preset for the question

Example: wseng qa "What is the purpose of the wseng QA command?" "*/.ts"

wseng rca-fix

Fix a bug using an already preformed RCA

Demo: https://www.loom.com/share/b6e387a15e8b4d95b6df2297b812b88d

Arguments:

  • ticketId: The ticket ID

Options:

  • --ticket-id <value>: The ticket ID
  • --include <value>: The glob pattern to include files to the context pack. Multiple ones can be included, separated by semicolon
  • --exclude <value>: The glob pattern to exclude files from the context pack. Multiple ones can be included, separated by semicolon

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)
  • --no-upload: Upload video to Google Drive after recording
  • --no-link: Link video to Jira ticket or PR
  • --cleanup: Cleanup recording after upload
  • --no-countdown: Show countdown before recording starts
  • --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       # Uses AI summary instead of 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 release-notes

Generate release notes from commits since last successful deployment

Aliases:

  • wseng rn

Options:

  • --workflow-name <value>: Name of the deployment workflow (defaults to current GitHub workflow or default deployment workflow)
  • --candidate: Generate release candidate notes instead of release notes (defaults to false)
  • --environment-url <value>: Environment URL to include in the release notes (optional)
  • --chat-space <value>: Name of the Google Chat space to post release notes to (optional)

wseng rules

Manage Cursor Rules for the workspace

Arguments:

  • action: Action to perform (pull, clean)

Options:

  • --action <value>: Action to perform (pull, clean)
  • --branch <value>: Branch to pull rules from (default: repo's default branch)

wseng send-feedback

Provide feedback for the last executed command.

Aliases:

  • wseng sf

wseng start-ticket

Start working on a ticket or create a no-ticket branch. Creates a new branch, empty commit, and pull request. 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
  • --clear-context: Clear the context folder before starting the ticket.
  • --current-branch-as-base: Use the current branch as the base branch for the new branch.
  • --simple-branch: Use a simple branch name for the new branch.
  • --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: Skip loading documents from Jira ticket description.
  • --no-git-sync: Sync local git branches first.
  • --unique-branch-name: Ensure a unique branch name for the new branch.
  • --no-ticket-transition: Transition the ticket to In Progress status.
  • --create-new-branch: Create a new branch even if one exists for the ticket.
  • --unlink-closed-prs: Remove closed pull requests from the ticket's code field.
  • --no-yaml: Whether to generate YAML files for the ticket (estimation, RCA) - if applicable.
  • --force-assignment: Override assignment checking and assign ticket to current user even if already assigned.
  • --no-code: Whether to generate branch/pull request for the ticket.

Example:

wseng start-ticket LAMBDA-1234
wseng start-ticket LAMBDA-1234 --force-assignment  # Override assignment if ticket is assigned to someone else
wseng start-ticket NO-TICKET "Fix minor bug"
wseng start-ticket NEW "Implement new feature" --type story

wseng subtask

Create a subtask for a given ticket

Demo: https://drive.google.com/open?id=10Gva1gWGnHJMfSwBL-Z8qi_V7OzlzpMe&usp=drive_fs

Aliases:

  • wseng st

Arguments:

  • parentId: The parent ticket ID
  • title: Custom title for the subtask
  • type: Type of subtask (Backend,Frontend)
  • workType: Type of work (feature,bugfix)

Options:

  • --parent-id <value>: The parent ticket ID
  • --title <value>: Custom title for the subtask
  • --type <value>: Type of subtask (Backend,Frontend)
  • --work-type <value>: Type of work (feature,bugfix)
  • --no-include-parent-title: Whether to include parent ticket title in subtask title
  • --no-include-type-in-title: Whether to include subtask type in subtask title
  • --prompt-for-description: Whether to open editor for subtask description
  • --start: Whether to start the subtask immediately

Example:

wseng subtask COACHBOT-4012 frontend

This will create a frontend subtask for COACHBOT-4012.

wseng subtask COACHBOT-4012 frontend --start

This will create a frontend subtask for COACHBOT-4012 and start it immediately.

wseng subtask COACHBOT-4012 frontend --promptForDescription

This will create a frontend subtask for COACHBOT-4012 and open editor for description.

wseng sync-context-documents

Fetches specified document types (context packs, playbooks, etc.) from repositories listed in the team roster and updates the 'Context Documents' Google Sheet in the Team Roster.

Aliases:

  • wseng scd

Options:

  • --project <value>: Filter by project ID ('all' for all projects, default: 'all')
  • --production <value>: Use production roster sheet instead of test sheet

wseng task

Define and execute reusable tasks

Aliases:

  • wseng t

Arguments:

  • action: Action to perform (list, create, run)
  • taskName: Name of the task to run or create

Options:

  • --action <value>: Action to perform (list, create, run)
  • --task-name <value>: Name of the task to run or create
  • --parameters <value>: Parameters for the task in JSON format
  • --use-aider: Use Aider for code generation tasks instead of direct LLM calls
  • --output <value>: File path to save the task result

wseng validate-estimation

Validate an estimation sheet based on a ticket or estimation sheet.

Aliases:

  • wseng ve

Arguments:

  • urlOrTicket: The ticket ID or estimation sheet URL.

Options:

  • --url-or-ticket <value>: The ticket ID or estimation sheet URL.
  • --breakdown-feedback: Whether to provide breakdown feedback in the validation
  • --check-code: Whether to check if the implementation is covered by the breakdown
  • --detect-architecture-changes: Whether to detect if the plan involves important architecture changes
  • --save-outliers: Whether to save the detected outliers to our leaderboard
  • --local: Whether to validate the local estimation file

Example:

wseng validate-estimation [LAMBDA-1234 or https://docs.google.com/spreadsheets/d/your-estimation-sheet-id]

This will validate the estimation sheet provided.

wseng verify-acceptance-video

Verify an acceptance video for a ticket.

Demo: https://drive.google.com/file/d/1H18_GStVUradlzac1kPlQxk9fEjJKwP-/view?usp=drive_link

Aliases:

  • wseng vv

Arguments:

  • ticketId: The ticket ID

Options:

  • --ticket-id <value>: The ticket ID
  • --video-url <value>: The URL of the video on Google Drive to verify. If missing, we'll try to extract it from the ticket. Make sure that the video is downloadable for the 'cpm-diligence@trilogy.com' service account.
  • --product <value>: The product to query ProductMind with. If missing, we'll use the product from the estimation

competencies commands

wseng dto

Competency: Defining In-Memory DTOs

Demo: https://www.loom.com/share/d3be173c9cdd4759a415b88af172b4bf

Arguments:

  • prompt: A path to a file containing the requirements to implement. If not provided, you will be asked to fill it in an editor. If you would prefer that the prompt is inferred from the ticket, use the --infer flag

Options:

  • --prompt <value>: A path to a file containing the requirements to implement. If not provided, you will be asked to fill it in an editor. If you would prefer that the prompt is inferred from the ticket, use the --infer flag
  • --include <value>: A glob pattern to match files to process
  • --exclude <value>: A glob pattern to exclude files from processing
  • --read <value>: A glob pattern to match files to read
  • --ticket-id <value>: The ticket ID - by default it is the context one
  • --infer: Indicates that task prompt should be inferred from the ticket instead of typed in manually
  • --resume: Use together with --infer to continue the task prompt from the previous run (if it exists) instead of inferring a new one.
  • --example <value>: A glob pattern to match example files that demonstrate similar functionality
  • --no-context-packs: Include context packs in the prompt. Can be disabled with --no-context-packs
  • --commit-mode <value>: The mode to use for committing changes (commit-and-push, only-commit or do-nothing)

wseng log

Competency: Logging and Monitoring

Arguments:

  • prompt: A path to a file containing the requirements to implement. If not provided, you will be asked to fill it in an editor. If you would prefer that the prompt is inferred from the ticket, use the --infer flag

Options:

  • --prompt <value>: A path to a file containing the requirements to implement. If not provided, you will be asked to fill it in an editor. If you would prefer that the prompt is inferred from the ticket, use the --infer flag
  • --include <value>: A glob pattern to match files to process
  • --exclude <value>: A glob pattern to exclude files from processing
  • --read <value>: A glob pattern to match files to read
  • --ticket-id <value>: The ticket ID - by default it is the context one
  • --infer: Indicates that task prompt should be inferred from the ticket instead of typed in manually
  • --resume: Use together with --infer to continue the task prompt from the previous run (if it exists) instead of inferring a new one.
  • --example <value>: A glob pattern to match example files that demonstrate similar functionality
  • --no-context-packs: Include context packs in the prompt. Can be disabled with --no-context-packs
  • --commit-mode <value>: The mode to use for committing changes (commit-and-push, only-commit or do-nothing)
  • --logger <value>: The name of the logger to use for the log command.

wseng naming-conventions

Competency: Refactoring

Aliases:

  • wseng naming

Arguments:

  • prompt: A path to a file containing the requirements to implement. If not provided, you will be asked to fill it in an editor. If you would prefer that the prompt is inferred from the ticket, use the --infer flag

Options:

  • --prompt <value>: A path to a file containing the requirements to implement. If not provided, you will be asked to fill it in an editor. If you would prefer that the prompt is inferred from the ticket, use the --infer flag
  • --include <value>: A glob pattern to match files to process
  • --exclude <value>: A glob pattern to exclude files from processing
  • --read <value>: A glob pattern to match files to read
  • --ticket-id <value>: The ticket ID - by default it is the context one
  • --infer: Indicates that task prompt should be inferred from the ticket instead of typed in manually
  • --resume: Use together with --infer to continue the task prompt from the previous run (if it exists) instead of inferring a new one.
  • --example <value>: A glob pattern to match example files that demonstrate similar functionality
  • --no-context-packs: Include context packs in the prompt. Can be disabled with --no-context-packs
  • --commit-mode <value>: The mode to use for committing changes (commit-and-push, only-commit or do-nothing)

wseng rca

Competency: Generating Root Cause Analysis

Demo: https://drive.google.com/file/d/1bB-IXIV8wV42H1TsdHrUMZYKvBKqtAsv/view?usp=sharing

Arguments:

  • prompt: A path to a file containing the requirements to implement. If not provided, you will be asked to fill it in an editor. If you would prefer that the prompt is inferred from the ticket, use the --infer flag

Options:

  • --prompt <value>: A path to a file containing the requirements to implement. If not provided, you will be asked to fill it in an editor. If you would prefer that the prompt is inferred from the ticket, use the --infer flag
  • --include <value>: A glob pattern to match files to process
  • --exclude <value>: A glob pattern to exclude files from processing
  • --read <value>: A glob pattern to match files to read
  • --ticket-id <value>: The ticket ID - by default it is the context one
  • --infer: Indicates that task prompt should be inferred from the ticket instead of typed in manually
  • --resume: Use together with --infer to continue the task prompt from the previous run (if it exists) instead of inferring a new one.
  • --example <value>: A glob pattern to match example files that demonstrate similar functionality
  • --no-context-packs: Include context packs in the prompt. Can be disabled with --no-context-packs
  • --commit-mode <value>: The mode to use for committing changes (commit-and-push, only-commit or do-nothing)
  • --demo-video-url <value>: The URL of the demo video for RCA generation. This will bypass the conversational analysis and use the video transcript directly.
  • --aws-profile <value>: AWS profile to use for accessing resources related to the ticket

wseng review-work

Review the work done for a ticket.

Demo: https://www.loom.com/share/e44e70f69ad846c3a961e515664e05f6

Aliases:

  • wseng review
  • wseng rw

Arguments:

  • ticketId: The ticket ID

Options:

  • --ticket-id <value>: The ticket ID
  • --include-subtasks: Include subtask details in the review
  • --output <value>: Output format for the review results. Possible values: markdown,console,github
  • --steps-to-review <value>: List of specific estimation steps to review. If provided, only these steps will be reviewed.
  • --force-review: Force a new review even if one already exists for this PR

wseng styling

Competency: Styling

Demo: https://www.loom.com/share/4926a4ee3c1448a1b61a9e03d36192bc

Aliases:

  • wseng style
  • wseng styles

Arguments:

  • prompt: A path to a file containing the requirements to implement. If not provided, you will be asked to fill it in an editor. If you would prefer that the prompt is inferred from the ticket, use the --infer flag

Options:

  • --prompt <value>: A path to a file containing the requirements to implement. If not provided, you will be asked to fill it in an editor. If you would prefer that the prompt is inferred from the ticket, use the --infer flag
  • --include <value>: A glob pattern to match files to process
  • --exclude <value>: A glob pattern to exclude files from processing
  • --read <value>: A glob pattern to match files to read
  • --ticket-id <value>: The ticket ID - by default it is the context one
  • --infer: Indicates that task prompt should be inferred from the ticket instead of typed in manually
  • --resume: Use together with --infer to continue the task prompt from the previous run (if it exists) instead of inferring a new one.
  • --example <value>: A glob pattern to match example files that demonstrate similar functionality
  • --no-context-packs: Include context packs in the prompt. Can be disabled with --no-context-packs
  • --commit-mode <value>: The mode to use for committing changes (commit-and-push, only-commit or do-nothing)

wseng unit-test

Competency: Creating and maintaining unit tests

Demo: https://www.loom.com/share/1c85a5d3243945caac8d219d2eb83fae

Aliases:

  • wseng ut

Arguments:

  • prompt: A path to a file containing the requirements to implement. If not provided, you will be asked to fill it in an editor. If you would prefer that the prompt is inferred from the ticket, use the --infer flag

Options:

  • --prompt <value>: A path to a file containing the requirements to implement. If not provided, you will be asked to fill it in an editor. If you would prefer that the prompt is inferred from the ticket, use the --infer flag
  • --include <value>: A glob pattern to match files to process
  • --exclude <value>: A glob pattern to exclude files from processing
  • --read <value>: A glob pattern to match files to read
  • --ticket-id <value>: The ticket ID - by default it is the context one
  • --infer: Indicates that task prompt should be inferred from the ticket instead of typed in manually
  • --resume: Use together with --infer to continue the task prompt from the previous run (if it exists) instead of inferring a new one.
  • --example <value>: A glob pattern to match example files that demonstrate similar functionality
  • --no-context-packs: Include context packs in the prompt. Can be disabled with --no-context-packs
  • --commit-mode <value>: The mode to use for committing changes (commit-and-push, only-commit or do-nothing)
  • --target-file <value>: Target file for unit test generation, which can accept either an implementation file or a test file.
  • --pr <value>: Override for the pull request number or URL (optional, by default it will use the current PR)
  • --skip-prompt: Skip prompt confirmation and use auto-generated prompt
  • --max-depth <value>: Maximum depth for dependency resolution (default: 1)
  • --auto-after-selection: Skip all confirmations after file selection in auto mode
  • --filter-examples-by-type: Filter example files to match the target file type (e.g., service examples for service files)
  • --max-parallel-concurrency <value>: Maximum number of simultaneous Aider instances that can run in parallel

athena commands

wseng athena expose-graphql-endpoint

Expose a new GraphQL endpoint

Demo: https://www.loom.com/share/28d3b0b7f080440cafacd3324c5d15ee

Aliases:

  • wseng athena graphql
  • wseng athena gql

Arguments:

  • endpointName: Name of the GraphQL endpoint
  • endpointDescription: A path to a file containing the description of the GraphQL endpoint

Options:

  • --endpoint-name <value>: Name of the GraphQL endpoint
  • --endpoint-description <value>: A path to a file containing the description of the GraphQL endpoint
  • --module <value>: The module to work with

wseng athena generate-story-output

Consolidate subtask outputs into a high-level story output and update ticket fields (output, code, demo URL).

Demo: https://drive.google.com/file/d/14iU-3tdX732tQpMMJQpD7dCnFARpjwxa/view?usp=drivesdk

Aliases:

  • wseng athena gso
  • wseng athena story-output
  • wseng athena so

Arguments:

  • ticketId: The story ticket ID

Options:

  • --ticket-id <value>: The story ticket ID
  • --revise: Whether to revise the existing story outputs

cat commands

wseng cat analyze-recordings

Analyze user recording videos to identify interaction patterns using AI

Aliases:

  • wseng cat ar

Arguments:

  • videosFolder: Path to folder containing video recordings to analyze

Options:

  • --videos-folder <value>: Path to folder containing video recordings to analyze
  • --output-spreadsheet <value>: Google Sheet ID or URL where results will be written
  • --output-sheet-name <value>: Name of the sheet tab to write results to
  • --output-csv <value>: Path to local CSV file where results will be written (relative to videos folder or absolute)
  • --batch-size <value>: Number of videos to process in parallel

qc commands

wseng qc pass

Pass QC for a ticket. Validates ticket is in 'In QC' status and transitions to 'Delivered'.

Aliases:

  • wseng qc p

Arguments:

  • ticketId: The ticket ID

Options:

  • --ticket-id <value>: The ticket ID

Example:

wseng qc pass LAMBDA-1234
wseng qc pass    # Uses current context ticket

wseng qc soft-push

Soft push a ticket from QC back to Ready for Work. Validates ticket is in 'In QC' status and transitions to 'Ready for Work'.

Aliases:

  • wseng qc sp
  • wseng qc push

Arguments:

  • ticketId: The ticket ID

Options:

  • --ticket-id <value>: The ticket ID

Example:

wseng qc soft-push LAMBDA-1234
wseng qc soft-push    # Uses current context ticket

wseng qc start

Start QC process for a ticket. Validates reviewer assignment, refreshes context, sets reviewer field to current user, 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
  • --no-ticket-transition: Transition the ticket to In Progress status.
  • --force-review: Force assign current user as reviewer even if already assigned to someone else
  • --no-checkout: Whether to skip branch checkout
  • --no-output: Display the output section

Example:

wseng qc start LAMBDA-1234
wseng qc start LAMBDA-1234 --force-review       # Override existing reviewer assignment
wseng qc start LAMBDA-1234 --skip-branch-checkout # Skip branch checkout if needed
wseng qc start LAMBDA-1234 --no-output         # Suppress output section display

wseng qc stop

Stop QC process for a ticket. Validates ticket is in 'In QC' status and transitions to 'Ready for QC'.

Aliases:

  • wseng qc st

Arguments:

  • ticketId: The ticket ID

Options:

  • --ticket-id <value>: The ticket ID

Example:

wseng qc stop LAMBDA-1234
wseng qc stop    # Uses current context ticket

tk commands

wseng tk accept

Accept a ticket

Aliases:

  • wseng tk a

Arguments:

  • ticketId: The ticket ID

Options:

  • --ticket-id <value>: The ticket ID

Example:

wseng tkt accept LAMBDA-1234

ws commands

wseng ws build-codemap

Builds a codemap for the current repository or all the known repositories if not in a repository.

Demo: https://www.loom.com/share/11001483c22046b3ab51ad01491cf836

Aliases:

  • wseng ws codemap
  • wseng ws cm

Options:

  • --no-push: Whether to push (save) the parsed codemap on GitHub
  • --production-sheet: Whether to update the modules production sheet

wseng ws clone-repositories

Clones and updates all WS.Eng repositories.

Aliases:

  • wseng ws clone
  • wseng ws clone-all

Options:

  • --clone-mode <value>: The clone mode: FULL, SHALLOW, or FIXED_DEPTH
  • --name <value>: The name of the repository to clone
  • --reset: Stash all changes and reset the repository state
  • --cache-path <value>: The path towards a directory where the repositories are cached.

wseng ws configure-command-defaults

Configure default parameter values for a command

Aliases:

  • wseng ws ccd

Arguments:

  • commandName: Command name to configure defaults for

Options:

  • --command-name <value>: Command name to configure defaults for
  • --scope <value>: Configuration scope (personal or project)

wseng ws create-blank-epic-design

Creates a blank Epic Design.

Aliases:

  • wseng ws cbed
  • wseng ws ced
  • wseng ws new-ed

Arguments:

  • ticketId: The ticket ID for the epic

Options:

  • --ticket-id <value>: The ticket ID for the epic

wseng ws create-blank-estimation

Creates a blank estimation.

Aliases:

  • wseng ws cbe
  • wseng ws ce
  • wseng ws new-estimation

Arguments:

  • ticketId: The ticket ID

Options:

  • --ticket-id <value>: The ticket ID
  • --no-ticket-transition: Whether to transition the ticket to Planning status.

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
  • --no-ticket-transition: Whether to transition the ticket to Planning status.

wseng ws data-api

Makes a call to the data API.

Demo: https://drive.google.com/file/d/1rGRFbGlOD5yuHn5dB30CXPJbkxWbXN/edit

Aliases:

  • wseng ws data
  • wseng ws da

Arguments:

  • method: HTTP method to use
  • path: API path to call
  • params: URL parameters in the format 'key1=value1&key2=value2'

Options:

  • --method <value>: HTTP method to use
  • --path <value>: API path to call
  • --params <value>: URL parameters in the format 'key1=value1&key2=value2'
  • --format <value>: Format to use(default: json). Possible values: json,markdown

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: Whether to update the documentation files (configuration-reference.md, global-options.md, command-reference.md)
  • --update-postman-collection <value>: Whether to update the given postman collection
  • --output-file <value>: The file to output the metadata to

wseng ws infer-breakdown

Infer estimation breakdown from delivered work and calculate Story Points.

Aliases:

  • wseng ws ib

Arguments:

  • ticketKey: Ticket key (e.g., LAMBDA-12345 or repo/number). If not provided, infers from the current branch name.

Options:

  • --ticket-key <value>: Ticket key (e.g., LAMBDA-12345 or repo/number). If not provided, infers from the current branch name.
  • --no-save-breakdown: Save breakdown to ws-eng-docs (creates PR with breakdown YAML)
  • --no-update-sp: Update Story Points in JIRA ticket
  • --force: Force update Story Points even if an estimation file exists

wseng ws load-epic-design

Loads an existing Epic Design from a ticket into the local context.

Aliases:

  • wseng ws led

Arguments:

  • ticketId: The ticket ID for the epic

Options:

  • --ticket-id <value>: The ticket ID for the epic

wseng ws load-estimation

Loads an existing estimation from a ticket into the local context.

Aliases:

  • wseng ws le

Arguments:

  • ticketId: The ticket ID

Options:

  • --ticket-id <value>: The ticket ID

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 load-rca

Loads an existing Root Cause Analysis (RCA) from a ticket into the local context.

Aliases:

  • wseng ws lr

Arguments:

  • ticketId: The ticket ID

Options:

  • --ticket-id <value>: The ticket ID

wseng ws project-updates

Generate project status updates for engineering team based on delivered tickets

Aliases:

  • wseng ws pu

Options:

  • --days <value>: Number of days to look back for delivered tickets (defaults to 14)
  • --space-name <value>: Name of the Google Chat space to post updates to
  • --only <value>: Only post updates for the specified project
  • --dry-run: Generate updates without posting to chat (defaults to false)
  • --series-start-date <value>: Start date for cycle checking (YYYY-MM-DD format, optional)
  • --stats-header: Include team-wide evolution stats in summary (only works with 7-day lookback, defaults to false)

wseng ws publish-schema

Publishes a schema to the remote repository.

Aliases:

  • wseng ws ps

Arguments:

  • type: The type of schema to publish (default: estimation). Possible values: estimation,rca,epic-design.

Options:

  • --type <value>: The type of schema to publish (default: estimation). Possible values: estimation,rca,epic-design.

wseng ws run-simple-stack-ai-workflow

Runs a simple Stack AI workflow.

Aliases:

  • wseng ws stack-ai

Arguments:

  • workflow: The workflow to run
  • ticketId: The ticket ID to write the output to.

Options:

  • --workflow <value>: The workflow to run
  • --ticket-id <value>: The ticket ID to write the output to.
  • --prompt <value>: The prompt to run the workflow with
  • --output-field <value>: The field to write the output to.
  • --clear-field: Whether to clear the field before writing the output to it.

wseng ws save-epic-design

Saves the current Epic Design (You need to run wseng init for the first time).

Aliases:

  • wseng ws sed

Options:

  • --keep-page: Whether to keep the existing Epic Design page, instead of re-creating it. This is useful if you want to keep the URL intact for some reason, however with Notion it is much slower than just re-creating the page. By default we are recreating the pages.

wseng ws save-estimation

Saves the current estimation (You need to run wseng init for the first time).

Demo: https://drive.google.com/file/d/10y4w0UVLvUi82aJuzdzzSVWh9IPgcaUD/view?usp=drive_link

Aliases:

  • wseng ws se

Options:

  • --subtasks: Whether to create subtasks
  • --keep-page: Whether to keep the existing estimation page, instead of re-creating it. This is useful if you want to keep the URL intact for some reason, however with Notion it is much slower than just re-creating the page. By default we are recreating the pages.
  • --no-plan-and-design-update: Whether to automatically update the plan and design
  • --no-cleanup-ai-improvements: Whether to clean up AI improvement steps with count 0
  • --no-ticket-transition: Whether to transition the ticket.
  • --no-production-sheet: Whether to update the stats production sheet
  • --draft: Save a draft estimation

wseng ws save-plan

Saves the plan to ws-eng-plans repository and creates/updates PR.

Aliases:

  • wseng ws sp

Options:

  • --no-ticket-transition: Whether to transition the ticket to In Progress status.

wseng ws save-rca

Saves the current rca (You need to run wseng init for the first time).

Aliases:

  • wseng ws sr

Options:

  • --keep-page: Whether to keep the existing RCA page, instead of re-creating it. This is useful if you want to keep the URL intact for some reason, however with Notion it is much slower than just re-creating the page. By default we are recreating the pages.

wseng ws test-infer-breakdown

Test breakdown inference on multiple tickets with statistics

Aliases:

  • wseng ws tib

Arguments:

  • ticketKeys: Comma-separated ticket keys to test (e.g., LAMBDA-12345,LAMBDA-12346 or repo/number)

Options:

  • --ticket-keys <value>: Comma-separated ticket keys to test (e.g., LAMBDA-12345,LAMBDA-12346 or repo/number)
  • --iterations <value>: Number of times to run inference per ticket (for variability analysis)
  • --max-parallel <value>: Maximum number of inference runs to execute in parallel (to avoid rate limits)