Last Updated: 2026-05-23
Version: 0.1.0
Status: MVP complete — fully functional
Promptimize is a working VSCode/Cursor extension that records voice, transcribes with OpenAI Whisper, optionally transforms prompts with GPT-4, and inserts text into the active editor or chat.
| Phase | Status | Progress |
|---|---|---|
| Documentation | Complete | 100% |
| MVP Implementation | Complete | 100% |
| Testing | In progress | 12+ automated tests; expanding coverage |
| Publication | Pending | Not published |
Build: Successful (out/extension.js, ~579 KB)
TypeScript files: 43 in src/
| Layer | Files | Status |
|---|---|---|
| Domain | 12 | Complete |
| Application | 14 | Complete |
| Infrastructure | 11 | Complete |
| Presentation | 5 | Complete |
| Shared + entry | 1 | Complete |
| Category | Files | Location |
|---|---|---|
| ADRs | 14 + template | docs/adr/ |
| User guides, architecture, ops | 12 | docs/*/ |
| Documentation index | 1 | docs/README.md |
Layer-specific implementation details live in src/ with TypeScript types and JSDoc comments. Port interfaces: src/application/ports/.
- Architecture overview, configuration guide, and ADRs
- Flows, UX, security, testing, deployment, and research docs
Domain layer
- Entities:
Recording,Transcription,Prompt - Value objects:
AudioData,AudioFormat,RecordingState,ApiKey - Custom errors for recording, transcription, validation, config, and permissions
Application layer
- 6 ports: audio, transcription, transformation, insertion, config, logging
- 6 use cases: start/stop/cancel recording, transcribe, transform, insert
- DTOs for transcription and transformed prompts
Infrastructure layer
NativeAudioRecorder(primary) andWebviewAudioRecorder(alternative)- OpenAI Whisper and GPT-4 integration
- Text inserters: chat participant, editor, clipboard fallback
- VSCode config + SecretStorage
- Console and output-channel logging
Presentation layer
- Commands: start, stop, cancel recording; configure API key
- Status bar with visual states
Integration
- Composition root in
src/extension.tswith manual dependency injection
- One-click or shortcut recording (
Cmd/Ctrl+Alt+V) - Native microphone capture (16 kHz mono)
- OpenAI Whisper transcription
- Optional GPT-4 prompt transformation
- Automatic text insertion (chat → editor → clipboard fallback)
- Secure API key storage
- Status bar feedback and error handling
- Unit tests for domain entities and use cases
- Integration tests for OpenAI services
- E2E tests for the recording workflow
- Broader test coverage and CI/CD
- Cursor chat integration improvements as APIs evolve
- Marketplace publication (VSCode Marketplace, Open VSX)
| Item | Location | Status |
|---|---|---|
WebviewAudioRecorder |
src/infrastructure/audio/ |
Deprecated (ADR-0013); not wired in extension.ts |
ConsoleLogger |
src/infrastructure/logging/ |
Unused; production uses VSCodeOutputChannelLogger |
Recording entity |
src/domain/entities/Recording.ts |
Defined but not instantiated in the live pipeline |
| Unused error types | InvalidConfigError, RecordingTimeoutError, TranscriptionTimeoutError |
Reserved for future use |
| Setting | Documented | Applied in code |
|---|---|---|
audioQuality |
Yes | Loaded only — recorder always uses 16 kHz mono |
maxRecordingDuration |
Yes | Loaded only — not enforced in NativeAudioRecorder |
showNotifications |
Yes | Loaded only — commands always show notifications |
transcriptionHint |
Partial | Read/write via VS Code Settings; not in webview |
These options are exposed in package.json and documented in README for forward compatibility.
- Node.js 22+ (via nvm; see
.nvmrc) - VSCode or Cursor
- OpenAI API key
git clone https://github.com/vypdev/promptimize
cd promptimize
pnpm install
pnpm run compile
- Open the project in VSCode/Cursor
- Press
F5to launch the Extension Development Host - Run Promptimize: Configure API Key from the Command Palette
- Press
Cmd/Ctrl+Alt+Vto start recording, speak, then stop - Wait for transcription and insertion into the active editor
See README.md for full usage, configuration, and troubleshooting.
| Date | Milestone |
|---|---|
| 2026-05-22 | Project started; documentation foundation completed |
| 2026-05-23 | MVP implementation completed; build successful |
- Internal testing and feedback
- Optional: add unit and integration tests
- Package with
pnpm run packagewhen ready to distribute - Publish to VSCode Marketplace / Open VSX
For developer documentation, see docs/README.md.