Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>otak-committerNew to Visual Studio Code? Get it now.
otak-committer

otak-committer

Tsuyoshi Otake

odangoo.com
|
493 installs
| (2) | Free
VS Code extension for intelligent SCM operations - Multilingual commit message generation with AI support (25 languages supported) and future PR management features.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

otak-committer

AI-assisted commit messages, pull requests, and issues for VS Code.


Generate commit messages, PRs, and issues without leaving VS Code. The extension understands multiple languages, follows your templates, supports Git worktrees, and fits team workflows.

Commit Message

Quick Start

Commit Messages

  1. Stage your changes.
  2. Click "Generate Commit Message" in Source Control.
  3. Review and edit the result.
  4. Commit.

It uses your repo's commit templates (.gitmessage, .github/commit_template, etc.) and adapts to your conventions. It works with standard Git repositories and linked Git worktrees.

Pull Requests

Generate Pull Request Button

  1. Click "Generate Pull Request" in Source Control.
  2. Select an issue to link, if needed.
  3. Choose the base and compare branches.
  4. Review the generated description.
  5. Submit as draft or ready for review.

Automatically uses PR templates and links issues when available. Requires GitHub sign-in via VS Code.

Issues

Generate Issue Button

  1. Click "Generate Issue" in Source Control.
  2. Choose the issue type (bug, feature, task, etc.).
  3. Select relevant files for context (optional).
  4. Describe your issue.
  5. Review the AI-enhanced description.
  6. Edit if needed, then create the issue.

Generates clear titles and structured descriptions.

Features

  • UI internationalization — Automatically detects your VS Code display language, or lets you choose one manually. Supported UI languages: English, Japanese, Korean, Vietnamese, French, German, Spanish, Portuguese, Simplified Chinese, Traditional Chinese, Italian, Czech, Hungarian, Bulgarian, Turkish, Polish, Russian, Thai, Hindi, Bengali, Javanese, Tamil, Burmese, Arabic, Hebrew.
  • Multilingual commit messages — Generates commit messages in 25 languages: English, Français, Deutsch, Italiano, Español, Português, Čeština, Magyar, Български, Türkçe, Polski, Русский, 日本語, 中文, 繁體中文, 한국어, Tiếng Việt, ไทย, हिन्दी, বাংলা, Basa Jawa, தமிழ், မြန်မာဘာသာ, العربية, עברית.
  • Message styles — simple, normal, or detailed.
  • Git worktree support — Resolves the current repository from the active workspace, including linked worktrees and multi-root setups, instead of assuming the first Git repository in the window.
  • Repository visibility indicator — The status bar shows whether the current repository is public ($(globe)) or private ($(lock)). Public repositories trigger a warning when the workspace is opened and a confirmation prompt before generating commit messages to help prevent accidental exposure.
  • Deep VS Code integration — Source Control panel actions, status bar controls, and full UI localization.
  • Smart PRs and issues — Context-aware descriptions, template support, and issue linking.
  • Custom instructions — Team-specific guidance via otakCommitter.customMessage.

How It Works

Commit Message Flow

  • Resolves the current Git repository or worktree before reading diffs, templates, and branch state.
  • Analyzes staged diffs locally.
  • Handles large diffs with a three-tier strategy:
    • Tier 1: Diffs within the token limit are sent as-is.
    • Tier 2: Oversized diffs are split by file. Lock files (package-lock.json, yarn.lock, etc.) are excluded, source code is prioritized, and a change summary for all files is always included.
    • Tier 3: If Tier 2 still exceeds the budget, the remaining files are split into chunks, summarized through parallel API calls, and then combined for commit message generation.
  • Applies your commit template and style.
  • Generates the result in your selected language and detail level.

Pull Request Flow

  • Generates a description from your changes.
  • Honors your PR template.
  • Links selected issues when available.

Issue Flow

  • Structures the issue based on the selected type.
  • Adds concise, actionable titles and descriptions.
  • Includes relevant context from selected files.

GitHub Authentication

Uses VS Code's built-in GitHub authentication. Sign in or out through the Accounts icon in the Activity Bar. When multiple repositories are open, PR and issue operations target the repository that matches the active workspace or worktree.

Configuration

Settings

Settings

  • otakCommitter.language: Commit message language (default: english)
  • otakCommitter.messageStyle: Message detail level (default: normal)
  • UI language (extension UI): Follows VS Code display language (Configure Display Language command).
    • Supported UI locales: en, ja, ko, vi, fr, de, es, pt, zh-cn, zh-tw, it, cs, hu, bg, tr, pl, ru, th, hi, bn, jv, ta, my, ar, he
    • Other locales automatically fall back to English
  • otakCommitter.customMessage: Custom AI instructions (optional)
  • otakCommitter.useEmoji: Enable emoji prefixes (default: false)
  • otakCommitter.emojiStyle: Emoji format (github or unicode)
  • otakCommitter.reasoningEffort: AI reasoning depth — none, low, medium, high (default: high)
  • otakCommitter.maxInputTokens: Maximum input tokens for diff analysis (default: 200000)
  • otakCommitter.useBulletList: Format commit message body as a bullet list (default: true)
  • otakCommitter.useConventionalCommits: Use Conventional Commits format (default: true)
  • otakCommitter.appendCommitTrailer: Append Commit-Message-By: otak-committer trailer (default: true)
  • otakCommitter.syncApiKeys: Sync API keys via VS Code Settings Sync (default: false)

Custom Instruction Examples

// Examples:
"Include JIRA ticket [PROJ-XXX] in commit messages"
"Add breaking changes section when modifying APIs"
"Reference design docs for UI changes"

Commands

Access via the Command Palette (Cmd/Ctrl+Shift+P):

  • Generate Commit Message
  • Generate Pull Request
  • Generate Issue
  • Set OpenAI API Key
  • Change Language
  • Change Message Style
  • Diagnose API Key Storage
  • Open Settings

Requirements

  • Visual Studio Code 1.90.0 or higher
  • Git
  • OpenAI API key (for AI features)
  • GitHub sign-in via VS Code for PR/issue features

Installation

  1. Install from the VS Code Marketplace.
  2. Get an OpenAI API key from OpenAI.
  3. Run otak-committer: Set OpenAI API Key.
  4. (Optional) Sign in to GitHub via the Accounts icon in the Activity Bar for PR/issue features.

By default, the extension uses English and the Normal style. You can change these anytime from the status bar.

The extension currently uses GPT-5.4 for high-quality commit message generation.

Security & Privacy

API Key Protection

  • Secure Storage (default): API keys are stored using VS Code SecretStorage.
  • Settings Sync (optional): If otakCommitter.syncApiKeys is enabled, a copy of your API keys is stored in synced extension state for use across devices.
  • Encrypted Backups: Redundant storage uses AES-256-GCM encryption with PBKDF2 (600,000 iterations) and machine-specific keys.
  • Automatic Migration: Legacy API keys in settings are migrated to secure storage and deleted.
  • No settings.json secrets: Keys never appear in settings.json.
  • Diagnostic Tools: Built-in diagnostics verify storage health.

Data Handling

  • Git diff analysis happens locally.
  • Secret detection: Before generation, diffs and selected file content are scanned for potential secrets (API keys, tokens, passwords, private keys, connection strings, environment variable references, etc.). The extension warns you when it detects a possible secret in commit, PR, or issue inputs; map-reduce chunks are also checked and logged.
  • Log redaction: Logger automatically redacts sensitive field values, known secret formats, URL-embedded credentials, and secrets in error stack traces.
  • Only necessary diff context is sent to OpenAI for generation.
  • Large diffs are intelligently prioritized: lock files and generated files are excluded or summarized to minimize data sent to the API.

Privacy Guarantees

  • No telemetry or usage analytics.
  • No intermediaries: requests go directly to OpenAI's API.
  • Source code is available for security review on GitHub.

GitHub Integration

  • Uses GitHub's official REST API.
  • GitHub tokens are stored in the same secure storage as API keys.
  • Only requests the repo scope for PR and issue operations.

Best Practices

  • Use dedicated API keys for this extension.
  • Rotate API keys regularly.
  • Review generated content before committing or submitting PRs.

Troubleshooting

  • No output or empty results: Ensure you have staged changes and an OpenAI API key configured.
  • PR/issue creation fails: Make sure you are signed in to GitHub via the Accounts icon in the Activity Bar.
  • Wrong repository selected in a multi-root window: Focus a file in the target workspace or worktree and run the command again so the extension resolves the correct Git repository.
  • Wrong UI language: Run Configure Display Language in VS Code and reload the window. Unsupported locales fall back to English.

Related Extensions

  • otak-monitor — Real-time system monitoring in VS Code.
  • otak-proxy — One-click proxy management for VS Code, Git, npm, and terminals.
  • otak-restart — Quick reload shortcuts.
  • otak-clock — Dual time zone clock for VS Code.
  • otak-pomodoro — Pomodoro timer in VS Code.
  • otak-zen — Minimal, distraction-free VS Code UI.

License

MIT License - see the LICENSE file for details.

Links

  • VS Code Marketplace
  • GitHub
  • Issues
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft