WTS Report is a VS Code extension that automatically detects your git changes and generates AI-powered timesheet reports. Collect work items, track hours, and submit reports directly from VS Code.
Features
- Automatic Git Detection — Scans your working directory for uncommitted changes
- AI-Powered Summaries — Uses LLM to generate work summaries and descriptions
- Timesheet Tracking — Add work items with hours worked and model information
- Easy Report Generation — Submit formatted timesheet reports from the webview
- VS Code Integration — Access directly from the command palette
Demo
Watch a quick demo of WTS Report in action:
Your browser does not support the video tag.
📋 Documentation
Executive Summary (Quick Read)
WTS_REPORT_EXECUTIVE_SUMMARY.md — 2-minute overview of the most important parts: what it is, core features, advantages, and impact.
Comprehensive Report (Full Deep Dive)
WTS_REPORT_COMPREHENSIVE_REPORT.md — Detailed analysis of WTS Report's features, architecture, AI integration, and benefits.
This report covers:
- What is WTS Report — Extension purpose and target users
- Core Features — Detailed breakdown of all capabilities
- How It Works — Architecture and data flow diagrams
- AI/LLM Integration — How AI enhances accuracy and intelligence
- Advantages — Benefits for developers, teams, and organizations
- Technical Architecture — Stack, project structure, type systems
- Use Cases — Real-world applications and value propositions
- Development Status — Current version and roadmap
�👤 Using WTS Report (End Users)
Installation
-
Download the VSIX file from the GitHub Releases page:
- Go to Releases
- Download the latest
wts-report-X.X.X.vsixfile
-
Install the extension:
code --install-extension wts-report-X.X.X.vsixOr right-click the
.vsixfile and select "Install Extension":
Quick Start
- Open the Command Palette (
Ctrl+Shift+P) - Run WTS Report command
- The webview opens with your git changes detected
- Add work items or let AI generate summaries
- Select your model and hours worked
- Submit your timesheet report
👨💻 Development (For Contributors)
Prerequisites
- Node.js >= 20
- pnpm >= 9 (install)
# Verify
node --version
pnpm --version
Quick setup
Install dependencies for both the extension and the UI in a single command:
pnpm install
cd ui && pnpm install && cd ..
The root
.npmrcusesshamefully-hoist=trueso the VS Code extension host can resolve runtime dependencies likemochaandglob.
Run the extension in VS Code (development)
- Build the UI and compile the extension:
pnpm run compile
This runs tsc + copies the UI bundle into out/.
-
Launch the Extension Development Host:
- Open the project in VS Code and press
F5. - In the new window, open the Command Palette (
Ctrl+Shift+P) and run WTS Report (orextension.startExtension).
- Open the project in VS Code and press
-
Iterate:
- Extension code: edit
.tsfiles → re-runpnpm run compile→ reload in the dev host. - UI code: edit files in
ui/src/→ rebuild withcd ui && pnpm run build→ re-runpnpm run compile.
- Extension code: edit
Run the UI standalone (browser)
The UI is a React app powered by webpack-dev-server. Useful for rapid UI iteration without reloading the extension host.
cd ui
pnpm install
pnpm start:dev
This opens http://localhost:8080 with Hot Module Replacement. Note that VS Code APIs (acquireVsCodeApi) are not available in the browser — some features will be stubbed.
Generate the VSIX installer
Package the extension into a .vsix file for installation into your normal VS Code:
pnpm vsce package
This runs the vscode:prepublish script (compile + UI build) and produces wts-report-<version>.vsix.
To install directly:
code --install-extension wts-report-0.0.9.vsix
Note: The VSIX excludes
node_modules/,.atl/,pnpm-lock.yaml, andpnpm-workspace.yamlvia.vscodeignore. License file is not bundled — a warning appears during packaging but is safe to ignore for local use.
Troubleshooting
- Webview blank: confirm
out/index.htmlandout/main.jsexist (created bypnpm run compile). Cannot find module 'mocha': runpnpm installfrom the root —mochaandglobare direct devDependencies hoisted to root byshamefully-hoist=true.- Debug the webview: with the webview focused, run Help → Toggle Developer Tools to inspect console/network errors.
- pnpm build scripts blocked: if you see
ERR_PNPM_IGNORED_BUILDS, runpnpm approve-builds @vscode/vsce-sign keytar. - Update UI only:
cd ui && pnpm run build && cd .. && pnpm run compile.
Useful commands
| Action | Command |
|---|---|
| Install all deps | pnpm install && cd ui && pnpm install |
| Build UI | cd ui && pnpm run build |
| UI dev server (browser) | cd ui && pnpm start:dev |
| Compile extension | pnpm run compile |
| Run tests | pnpm test |
| Package VSIX | pnpm vsce package |
| Install VSIX locally | code --install-extension wts-report-*.vsix |
Package manager
This project uses pnpm with the following configuration:
shamefully-hoist=true— hoists direct dependencies to root for VS Code extension host compatibilityconfirm-modules-purge=false— prevents interactive prompts in CIpnpm-workspace.yaml— tracks approved build scripts (@vscode/vsce-sign,keytar)
Thank you for using WTS Report.