{"id":44728193,"url":"https://github.com/sterll/claude-terminal","last_synced_at":"2026-05-29T15:00:41.092Z","repository":{"id":338271624,"uuid":"1139269192","full_name":"Sterll/claude-terminal","owner":"Sterll","description":null,"archived":false,"fork":false,"pushed_at":"2026-05-28T23:54:08.000Z","size":9727,"stargazers_count":59,"open_issues_count":2,"forks_count":14,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-29T01:21:56.672Z","etag":null,"topics":["ai","claude","desktop-app","developer-tools","electron","linux","macos","nodejs","open-source","terminal","typescript","windows"],"latest_commit_sha":null,"homepage":"https://claudeterminal.dev","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Sterll.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-21T18:36:13.000Z","updated_at":"2026-05-28T23:54:12.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/Sterll/claude-terminal","commit_stats":null,"previous_names":["sterll/claude-terminal"],"tags_count":34,"template":false,"template_full_name":null,"purl":"pkg:github/Sterll/claude-terminal","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sterll%2Fclaude-terminal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sterll%2Fclaude-terminal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sterll%2Fclaude-terminal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sterll%2Fclaude-terminal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Sterll","download_url":"https://codeload.github.com/Sterll/claude-terminal/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sterll%2Fclaude-terminal/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33657690,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-29T02:00:06.066Z","response_time":107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","claude","desktop-app","developer-tools","electron","linux","macos","nodejs","open-source","terminal","typescript","windows"],"created_at":"2026-02-15T18:03:17.631Z","updated_at":"2026-05-29T15:00:41.083Z","avatar_url":"https://github.com/Sterll.png","language":"JavaScript","funding_links":["https://buymeacoffee.com/claudeterminal"],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"banner-readme.png\" alt=\"Claude Terminal\" width=\"100%\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/github/downloads/Sterll/claude-terminal/total?color=d97706\u0026label=downloads\" alt=\"Downloads\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/version-1.2.10-orange\" alt=\"Version\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/platform-Windows%20|%20macOS%20|%20Linux-blue\" alt=\"Platform\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/license-GPL--3.0-green\" alt=\"License\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/electron-28-purple\" alt=\"Electron\" /\u003e\n  \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/Sterll/claude-terminal/ci.yml?branch=main\u0026label=CI\" alt=\"CI Status\" /\u003e\n  \u003cimg src=\"https://img.shields.io/github/contributors/Sterll/claude-terminal\" alt=\"Contributors\" /\u003e\n  \u003cimg\n    src=\"https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/Sterll/ec1241ea62520261790ef5a411b4b212/raw/i18n_fr.json\"\n    alt=\"i18n French\"\n  /\u003e\n  \u003cimg\n    src=\"https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/Sterll/ec1241ea62520261790ef5a411b4b212/raw/i18n_es.json\"\n    alt=\"i18n Spanish\"\n  /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  A cross-platform desktop application for managing\n  \u003ca href=\"https://github.com/anthropics/claude-code\"\u003eClaude Code\u003c/a\u003e\n  projects with an integrated terminal environment, git workflows, plugin management,\n  and more.\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://claudeterminal.dev\"\u003eWebsite\u003c/a\u003e \u0026bull;\n  \u003ca href=\"https://github.com/Sterll/claude-terminal/releases\"\u003eDownload\u003c/a\u003e \u0026bull;\n  \u003ca href=\"https://x.com/ClaudeTerminal_\"\u003eTwitter\u003c/a\u003e \u0026bull;\n  \u003ca href=\"https://buymeacoffee.com/claudeterminal\"\u003eBuy Me a Coffee\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca\n    href=\"https://www.producthunt.com/products/claude-terminal?embed=true\u0026amp;utm_source=badge-featured\u0026amp;utm_medium=badge\u0026amp;utm_campaign=badge-claude-terminal\"\n    target=\"_blank\"\n    rel=\"noopener noreferrer\"\n  \u003e\u003cimg\n    alt=\"Claude Terminal - The missing desktop app for Claude Code developers | Product Hunt\"\n    width=\"250\"\n    height=\"54\"\n    src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=1089096\u0026amp;theme=light\u0026amp;t=1772614696412\"\n  \u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg\n    src=\"https://img.shields.io/github/languages/top/Sterll/claude-terminal?color=7c3aed\u0026amp;label=Top%20language\"\n    alt=\"Top language\"\n  /\u003e\n  \u003cimg\n    src=\"https://img.shields.io/github/languages/count/Sterll/claude-terminal?color=2563eb\u0026amp;label=Languages\"\n    alt=\"Languages count\"\n  /\u003e\n  \u003cimg\n    src=\"https://img.shields.io/github/languages/code-size/Sterll/claude-terminal?color=0f766e\u0026amp;label=Code%20size\"\n    alt=\"Code size\"\n  /\u003e\n\u003c/p\u003e\n\n---\n\n## 📊 Project Health\n\n### Contributors\n\n\u003ca href=\"https://github.com/Sterll/claude-terminal/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=Sterll/claude-terminal\" alt=\"Contributors\" /\u003e\n\u003c/a\u003e\n\n### Activity\n\n[![Commit activity](https://img.shields.io/github/commit-activity/m/Sterll/claude-terminal?label=commits%2Fmonth)](https://github.com/Sterll/claude-terminal/graphs/commit-activity)\n[![Last commit](https://img.shields.io/github/last-commit/Sterll/claude-terminal)](https://github.com/Sterll/claude-terminal/commits/main)\n[![Issues](https://img.shields.io/github/issues/Sterll/claude-terminal)](https://github.com/Sterll/claude-terminal/issues)\n[![Pull Requests](https://img.shields.io/github/issues-pr/Sterll/claude-terminal)](https://github.com/Sterll/claude-terminal/pulls)\n\n### Internationalization (i18n)\n\n| Language | Coverage | Keys |\n| --- | --- | --- |\n| 🇺🇸 English (base) | ![100%][i18n-en-badge] | ~800 / ~800 |\n| 🇫🇷 French | ![i18n fr][i18n-fr-badge] | ~800 / ~800 |\n| 🇪🇸 Spanish | ![i18n es][i18n-es-badge] | ~800 / ~800 |\n\n\u003e Coverage badges are updated automatically on every push to locale files.\n\u003e See [`.github/i18n-coverage.md`](.github/i18n-coverage.md) for details and\n\u003e instructions on how to add a new language.\n\n[i18n-en-badge]: https://img.shields.io/badge/i18n-100%25-brightgreen\n[i18n-fr-badge]: https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/Sterll/ec1241ea62520261790ef5a411b4b212/raw/i18n_fr.json\n[i18n-es-badge]: https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/Sterll/ec1241ea62520261790ef5a411b4b212/raw/i18n_es.json\n\n---\n\n## Table of Contents\n\n- [Installation](#installation)\n- [Features](#features)\n- [Usage](#usage)\n- [Building](#building)\n- [Keyboard Shortcuts](#keyboard-shortcuts)\n- [Architecture](#architecture)\n- [Contributing](#contributing)\n\n---\n\n## Prerequisites\n\n- [Node.js](https://nodejs.org/) 18+\n- [Claude Code](https://github.com/anthropics/claude-code) installed globally\n- **Windows** 10 or 11\n- **macOS** 12+ (Intel or Apple Silicon)\n- **Linux** Ubuntu 22.04+, Fedora 38+, or equivalent\n  - AppImage requires `libfuse2` on Ubuntu 24.04+: `sudo apt install libfuse2`\n  - GitHub token storage requires `libsecret`: `sudo apt install libsecret-1-dev gnome-keyring`\n\n## Installation\n\nDownload the latest installer from [Releases](https://github.com/Sterll/claude-terminal/releases).\n\n\u003e [!IMPORTANT]\n\u003e **macOS users:** If you see *\"Claude Terminal is damaged and can't be opened\"*, run this in Terminal:\n\u003e ```bash\n\u003e xattr -cr /Applications/Claude\\ Terminal.app\n\u003e ```\n\u003e This is needed because the app is not code-signed yet. Alternatively, right-click the app → Open.\n\nOr build from source:\n\n```bash\ngit clone https://github.com/Sterll/claude-terminal.git\ncd claude-terminal\nnpm install\n```\n\n---\n\n## Features\n\n### Chat UI (Claude Agent SDK)\n- Built-in chat interface powered by the Claude Agent SDK with streaming responses\n- **Rich markdown rendering**: mermaid diagrams, KaTeX math, syntax-highlighted code, file trees, kanban boards, diff blocks, HTML previews, and more\n- **Permission cards**: Allow, Always Allow, or Deny tool use requests\n- **Plan mode**: review and approve/reject agent plans before execution\n- **Thinking blocks**: expandable sections showing Claude's reasoning\n- **Tool cards**: collapsible cards showing tool execution with formatted details\n- **Subagent visualization**: nested task tracking for spawned agents\n- **Todo widget**: persistent task list above the input, auto-dismisses on completion\n- **Image attachments**: paste, drag-drop, or pick PNG/JPEG/GIF/WebP images (up to 20MB)\n- **Slash commands**: auto-completing commands (/compact, /clear, /help, custom skills)\n- **Inline @mentions**: rich contenteditable input field lets you type @mentions inline without leaving the message composition area\n- **File rewind**: revert chat context to an earlier file state via SDK checkpointing — useful for undoing unwanted edits mid-session\n- **Cost tracking**: model name, token count, and USD cost in the status bar\n- **1M context window**: extended context for larger codebases (API mode only)\n- **Dynamic model and effort switching**: change model (Sonnet, Opus 4.8, Haiku) and effort level (low, medium, high, xhigh) mid-conversation without starting a new session\n- **Pin conversations**: keep important sessions at the top of the list\n- **Fork sessions**: branch from any message to explore alternative paths\n- **Follow-up suggestions**: context-aware suggestion chips appear after Claude responds to help guide the conversation\n- **Session recaps**: automatic AI-generated summaries of completed sessions\n- Type @project to attach README.md and file tree from any project as context\n- Type **@tab** to share your current terminal session or **@conversation** to reference another chat thread\n- Type **@context** to inject a context pack or **@prompt** to insert a saved prompt template directly into your message\n- **Prompt enhancement**: one-click AI rewrite of your message using Haiku for clearer instructions before sending\n- Interrupt streaming mid-turn, auto-generated tab names via haiku model\n- Compacting indicator shown during conversation compaction so you know when context is being compressed\n\n### Terminals\n- Multiple Claude Code terminals per project with tabbed interface\n- GPU-accelerated rendering via xterm.js + WebGL (DOM fallback)\n- Switch between terminal and chat mode per tab\n- Tab drag-and-drop reordering, renaming, desktop notifications\n- Filter terminals by project\n- Adaptive ready detection with spinner status\n\n### Project Management\n- Organize projects in nested folders with drag-and-drop\n- Customize each project with colors and emoji icons\n- Quick Actions toolbar: configurable one-click commands per project (build, test, deploy, custom scripts...)\n- Built-in file explorer with tree view, multi-select, search, git status indicators, and inline rename; right-click any file to attach it as context in the current chat\n- Modular project type system (standard, FiveM, webapp, Python, API, Minecraft)\n- Per-project settings modal\n\n### Git Integration\n- **Branches**: switch, create, delete with tree view of local/remote branches\n- **Sync**: pull (rebase), push, merge with conflict detection and resolution\n- **Changes panel**: view staged/unstaged/untracked files, stage/unstage and commit\n- **Commit history**: IntelliJ-style commit graph with SVG rendering, branch/author filtering, infinite scroll\n- **Cherry-pick \u0026 revert**: advanced commit operations from history\n- **Worktree management**: create, switch, and delete Git worktrees with quick-switch badge in the toolbar\n- **Stash management**: save, apply, pop, and inspect stashes\n- **History search**: full-text search across commit history\n- **Discard changes**: quickly discard unstaged edits per file\n- **Amend commits**: edit the last commit message or staged content before pushing\n- **AI commit messages**: auto-generate conventional commit messages via GitHub Models API\n- **Pull Requests**: create and view PRs directly from the app\n\n### GitHub Integration\n- OAuth Device Flow authentication (secure, no token copy-paste)\n- **GitHub Enterprise support**: connect to self-hosted GitHub Enterprise instances\n- **Repository search in clone wizard**: search GitHub repos by name without leaving the app\n- **CI/CD status pill**: live inline status of the latest workflow run shown directly in the terminal header bar, with a Fix-it button to jump straight to a failing step\n- View CI/CD workflow runs per repository\n- View, create, and review pull requests from the app; multi-forge support (GitHub, GitLab)\n- Token stored securely via keytar (Windows Credential Manager, macOS Keychain, Linux libsecret)\n\n### Control Tower\n- Real-time overview of all active Claude agents across every project\n- See what each agent is doing (tools it's running, current status, last activity)\n- Interrupt any running session directly from the panel\n- Reply to AskUserQuestion prompts without switching to the chat tab\n- MCP tools for agent monitoring and remote interrupt\n\n### Parallel Tasks\n- Decompose a feature into parallel subtasks and run them simultaneously as separate Claude agents\n- Each task runs in its own Git worktree and branch, keeping work isolated\n- Auto mode lets Claude decide the optimal number of parallel tasks\n- Collapsible task cards with per-task diff viewer and terminal access\n- Auto-merge agent: Claude reviews and merges completed branches into your main branch\n- Full run state persisted to disk and restored on app restart\n\n### Session Replay\n- Browse past Claude Code sessions and replay them step by step\n- Timeline view shows all prompts, tool calls, and responses in chronological order\n- Video-player-style scrubber to jump to any point in a session\n- Q\u0026A cards highlight question-and-answer exchanges for easy review\n\n### Dashboard\n- Per-project overview: current branch, commits ahead/behind, recent commits, contributors\n- Code statistics: lines of code by language, file count, commit count\n- Active terminals count\n- Claude API usage monitoring with auto-refresh\n\n### Time Tracking\n- Automatic session detection per project (15-min idle timeout, sleep/wake detection)\n- Separate lightweight storage (`timetracking.json`) with monthly archives\n- View by period: today, this week, this month, custom range\n- Stats: daily average, longest streak, evolution charts, recent sessions\n- Midnight rollover and periodic checkpoints\n\n### Hooks\n- Integrates with Claude Code CLI hooks for real-time activity tracking\n- One-click install into `~/.claude/settings.json` (non-destructive, preserves user hooks)\n- 15 hook types: PreToolUse, PostToolUse, Notification, SessionStart, Stop, and more\n- Event bus with normalized events for session, tool, and subagent tracking\n- Fallback terminal scraping when hooks are unavailable\n\n### Plugins\n- Browse and discover plugins from configured marketplaces\n- Install plugins directly from the app (via Claude CLI)\n- Add community marketplaces by GitHub URL\n- Category filtering and search\n- View plugin details and README\n\n### Skill Marketplace\n- Search and browse available skills\n- One-click install and uninstall\n- **Update checking**: see which installed skills and plugins have new versions available\n- View skill README and details\n- Local cache for fast browsing\n\n### Library\n- Manage reusable **context packs** (documents, snippets, file contents) and **prompt templates**\n- Inject context packs or prompt templates directly into the chat via @context and @prompt mentions\n- Insert prompt templates into any terminal with one click from the toolbar\n- Generate skills and agents in the background using the Agent SDK\n\n### Skills \u0026 Agents\n- Browse and manage Claude Code skills and agents\n- View SKILL.md and agent configuration files\n- **Syntax-highlighted editor**: edit skill and agent files with line numbers and full highlight.js code highlighting\n- Load skills from `~/.claude/skills`, plugins, and bundled resources\n\n### MCP Servers\n- Configure, start and stop MCP servers\n- Environment variable configuration\n- **MCP Registry**: browse and search the public MCP server registry\n\n### Sessions\n- View Claude Code sessions per project\n- Browse session history with timestamps and metadata\n- Pin sessions to the top and rename them inline from the resume dialog\n- Modernized session resume modal with search and pinned sessions\n\n### Memory\n- Edit global, settings and project-specific CLAUDE.md files\n- Template insertion for common patterns\n\n### Settings\n- Accent color theming (preset palettes + custom hex)\n- Per-agent and per-tool color customization for chat tool cards\n- Language: English, French, and Spanish with auto-detection\n- Editor integration: VS Code, Cursor, WebStorm, IntelliJ IDEA\n- Customizable keyboard shortcuts\n- Desktop notification preferences\n- Close behavior (ask, minimize to tray, or quit)\n- Launch at startup toggle\n- Auto-updates with background download and install banner\n\n### Workflow Automation\n- Visual node-based workflow editor with custom canvas engine (Blueprint-style)\n- 15+ node types: shell, git, HTTP, Claude (prompt/agent/skill), condition, loop, transform, switch, subworkflow, database, file, project, time, variable, trigger\n- Typed data pins with visual data flow between nodes\n- AI assistant panel for real-time graph editing and node creation\n- Undo/redo, copy/paste, snap-to-grid, minimap, comments\n- Run history with live loop progress and step output inspection\n- Workflow community hub for sharing and importing workflows\n- Cron, hook, and webhook triggers\n- MCP tools for full workflow control from Claude Code\n\n### Connectivity (Remote \u0026 Cloud)\n- Unified **Connectivity tab** combining local remote access and cloud sync in one place\n- Self-hosted Docker relay server for remote project access\n- Project upload and auto-sync with file watcher and conflict resolution\n- **Per-entity sync toggles**: choose exactly which data syncs (projects, settings, skills, agents, MCP configs, keybindings, memory, hooks, archives)\n- **Session resume from cloud**: pick up any session from another machine\n- **Cross-machine notifications**: get notified on your desktop when a cloud session finishes\n- Headless Claude sessions running in the cloud\n- Diff modal for local vs cloud file comparison\n- User profiles and session management\n- Automated install script with Docker, reverse proxy, and SSL setup\n\n### Database Panel\n- Multi-driver support: SQLite, MySQL, PostgreSQL, MongoDB\n- **Redis browser**: tree-view key explorer with type-aware value inspection\n- Split-pane data browser with inline editing\n- SQL query editor with syntax highlighting, templates, and multi-statement execution\n- Insert/delete rows, search filter\n- Custom database picker for quick connection switching\n- Connection pooling with idle eviction\n\n### Workspace\n- Project-level knowledge base for storing persistent context, documentation snippets, and notes\n- **Advisor chat**: ask questions about your workspace and get answers based on your knowledge base content\n- **@workspace mention**: type @workspace in chat to inject your workspace knowledge base as context\n- MCP tools for reading and writing workspace content from Claude Code\n\n### MCP Server (claude-terminal)\n- Unified MCP server exposing all Claude Terminal features to Claude Code\n- Workflow tools: create, edit, trigger, diagnose, variables, run logs\n- Database tools: query, export, full schema, stats\n- Project and time tracking tools\n- Quick action triggers with polling\n- FiveM and WebApp project tools\n\n### WebApp Preview\n- Live preview with Chromium webview (replaces iframe)\n- Visual feedback with multi-pin annotations per page\n- Responsive breakpoint checker\n- Auto-detect visual problems scanner\n- Ruler spacing measurement tool\n- Accessibility audit panel with axe-core\n\n### Remote Control\n- Mobile PWA for remote control from phone or browser\n- Cloud relay for access anywhere (via self-hosted server)\n- Real-time session monitoring, chat interaction, and project switching\n- 6-digit PIN authentication with QR code\n\n### Sidebar Customization\n- Drag and drop sidebar tabs to reorder them to your workflow\n- Pin frequently-used tabs; less-used tabs collapse into a More overflow menu\n- Customize via a modal or directly by dragging\n\n### Command Palette\n- Unified command palette (Ctrl+P) with fuzzy search across projects, commands, and quick actions\n- Smart launcher with shimmer skeleton loading and match highlighting\n- Navigate to any panel or trigger any action without touching the mouse\n\n### Auto CLAUDE.md Updates\n- After a session ends, Claude analyzes the conversation and proposes relevant additions to your project's CLAUDE.md\n- Review and accept suggestions in a diff-style modal before they're applied\n\n### Other\n- **Session restore**: save and restore full workspace sessions across restarts\n- **File viewers**: integrated .md viewer, PDF viewer, and 3D model viewer (.glb, .gltf, .obj) in the terminal panel\n- **Dashboard insights**: project health badges and commit heatmap\n- **File explorer watcher**: automatic tree updates on filesystem changes\n- **Tab context menus**: right-click on any tab for quick actions\n- **Window state persistence**: remember position, size, and maximized state\n- First-launch setup wizard with optional hooks installation\n- System tray integration with accent-colored icon\n- Custom toast notifications with stacking, click-through transparency, and action buttons\n- Global shortcuts (`Ctrl+Shift+P` / `Cmd+Shift+P` quick picker, `Ctrl+Shift+T` / `Cmd+Shift+T` new terminal)\n- Single instance lock\n- Custom NSIS installer with branded images (Windows), DMG (macOS), AppImage (Linux), Snapcraft, Flatpak\n- FiveM server management (launch, integrated console, resource scanning, resource creator wizard)\n- Minecraft project type with Java plugin generator and platform-aware launch scripts\n- Web app management with framework auto-detection and scaffold templates\n- Python project detection (version, venv, dependencies, entry point)\n- API project type with integrated route tester, variables, and console\n- **Discord bot project type**: visual embed and component builder with live preview\n\n## Usage\n\n```bash\n# Install dependencies once\nnpm install\n\n# Build renderer and run the app\nnpm start\n\n# Run with DevTools open\nnpm run start:dev\n\n# Build renderer in watch mode (for development)\nnpm run watch\n```\n\n\u003e [!TIP]\n\u003e If you modify files under `src/renderer/`, `src/project-types/`, or `renderer.js`, run `npm run build:renderer` before packaging or opening a PR.\n\n## Building\n\n```bash\n# Build for current platform\nnpm run build\n\n# Build for a specific platform\nnpm run build:win     # Windows (NSIS installer)\nnpm run build:mac     # macOS (DMG)\nnpm run build:linux   # Linux (AppImage)\n```\n\nThe installer will be generated in the `build/` directory.\n\n## Testing\n\n```bash\n# Run the test suite\nnpm test\n\n# Watch tests during development\nnpm run test:watch\n```\n\n---\n\n## Keyboard Shortcuts\n\n| Shortcut | Action |\n| --- | --- |\n| `Ctrl+Shift+P` | Quick project picker (global) |\n| `Ctrl+Shift+T` | New terminal in current project (global) |\n| `Ctrl+Shift+E` | Sessions panel |\n| `Ctrl+T` | Create terminal |\n| `Ctrl+W` | Close terminal |\n| `Ctrl+P` | Quick picker |\n| `Ctrl+,` | Settings |\n| `Ctrl+←` / `Ctrl+→` | Switch terminal (left/right) |\n| `Ctrl+↑` / `Ctrl+↓` | Switch project (up/down) |\n| `Escape` | Close dialogs |\n\nShortcuts are customizable in Settings.\n\n---\n\n## Architecture\n\n```\nclaude-terminal/\n├── main.js                    # Electron entry point\n├── renderer.js                # Main renderer logic (bundled to dist/)\n├── index.html                 # Main window UI\n├── notification.html          # Custom toast notification window\n├── quick-picker.html          # Quick picker window\n├── setup-wizard.html          # First-launch wizard\n├── styles/                    # Modular application styles\n├── src/\n│   ├── main/                  # Main process\n│   │   ├── index.js           # Bootstrap \u0026 lifecycle\n│   │   ├── preload.js         # Context bridge API\n│   │   ├── ipc/               # IPC handlers\n│   │   │   ├── terminal.ipc.js\n│   │   │   ├── git.ipc.js\n│   │   │   ├── github.ipc.js\n│   │   │   ├── chat.ipc.js       # Chat UI / Agent SDK handlers\n│   │   │   ├── claude.ipc.js\n│   │   │   ├── usage.ipc.js\n│   │   │   ├── mcp.ipc.js\n│   │   │   ├── mcpRegistry.ipc.js\n│   │   │   ├── plugin.ipc.js\n│   │   │   ├── marketplace.ipc.js\n│   │   │   ├── project.ipc.js\n│   │   │   └── dialog.ipc.js\n│   │   ├── services/\n│   │   │   ├── TerminalService.js\n│   │   │   ├── ChatService.js        # Claude Agent SDK wrapper\n│   │   │   ├── PluginService.js\n│   │   │   ├── MarketplaceService.js\n│   │   │   ├── GitHubAuthService.js\n│   │   │   ├── UsageService.js\n│   │   │   ├── McpService.js\n│   │   │   ├── McpRegistryService.js\n│   │   │   ├── HookEventServer.js    # HTTP server for hook events\n│   │   │   ├── FivemService.js\n│   │   │   └── UpdaterService.js\n│   │   ├── windows/\n│   │   │   ├── MainWindow.js\n│   │   │   ├── NotificationWindow.js  # Custom toast notifications\n│   │   │   ├── QuickPickerWindow.js\n│   │   │   ├── SetupWizardWindow.js\n│   │   │   └── TrayManager.js\n│   │   └── utils/\n│   │       ├── paths.js\n│   │       ├── git.js\n│   │       └── commitMessageGenerator.js\n│   ├── renderer/              # Renderer process\n│   │   ├── services/\n│   │   │   ├── ProjectService.js\n│   │   │   ├── TerminalService.js\n│   │   │   ├── SettingsService.js\n│   │   │   ├── DashboardService.js\n│   │   │   ├── GitTabService.js\n│   │   │   ├── TimeTrackingDashboard.js\n│   │   │   ├── ArchiveService.js      # Monthly time-tracking archives\n│   │   │   ├── SkillService.js\n│   │   │   ├── AgentService.js\n│   │   │   └── McpService.js\n│   │   ├── state/\n│   │   │   ├── State.js           # Base observable class\n│   │   │   ├── projects.state.js\n│   │   │   ├── terminals.state.js\n│   │   │   ├── settings.state.js\n│   │   │   ├── git.state.js\n│   │   │   ├── mcp.state.js\n│   │   │   └── timeTracking.state.js\n│   │   ├── ui/\n│   │   │   ├── components/\n│   │   │   │   ├── ProjectList.js\n│   │   │   │   ├── TerminalManager.js\n│   │   │   │   ├── ChatView.js        # Chat UI component\n│   │   │   │   ├── FileExplorer.js\n│   │   │   │   ├── Modal.js\n│   │   │   │   ├── Toast.js\n│   │   │   │   ├── ContextMenu.js\n│   │   │   │   ├── Tab.js\n│   │   │   │   ├── CustomizePicker.js\n│   │   │   │   └── QuickActions.js\n│   │   │   └── themes/\n│   │   │       └── terminal-themes.js\n│   │   ├── features/\n│   │   │   ├── QuickPicker.js\n│   │   │   ├── KeyboardShortcuts.js\n│   │   │   └── DragDrop.js\n│   │   ├── events/\n│   │   │   ├── ClaudeEventBus.js      # Unified event system\n│   │   │   ├── HooksProvider.js       # Hook events normalization\n│   │   │   └── ScrapingProvider.js    # Fallback terminal scraping\n│   │   ├── i18n/\n│   │   │   └── locales/\n│   │   │       ├── en.json\n│   │   │       └── fr.json\n│   │   └── utils/\n│   │       ├── dom.js\n│   │       ├── color.js\n│   │       ├── format.js\n│   │       ├── paths.js\n│   │       ├── fileIcons.js\n│   │       └── syntaxHighlight.js\n│   └── project-types/         # Modular project type system\n│       ├── registry.js        # Type registry \u0026 discovery\n│       ├── base-type.js       # Base class for project types\n│       ├── general/           # Standard project type\n│       ├── fivem/             # FiveM server projects\n│       │   ├── main/          # IPC \u0026 service\n│       │   ├── renderer/      # Dashboard, state, terminal panel, wizard\n│       │   └── i18n/          # en.json, fr.json, es.json\n│       ├── webapp/            # Web app projects\n│       │   ├── main/          # IPC \u0026 service\n│       │   ├── renderer/      # Dashboard, state, terminal panel, wizard\n│       │   └── i18n/          # en.json, fr.json, es.json\n│       ├── python/            # Python projects (detection only)\n│       │   ├── main/          # Detection service\n│       │   ├── renderer/      # Dashboard, state, wizard\n│       │   └── i18n/          # en.json, fr.json, es.json\n│       ├── minecraft/          # Minecraft Java plugin projects\n│       │   ├── main/          # Detection service, plugin generator\n│       │   ├── renderer/      # Dashboard, state, wizard\n│       │   └── i18n/          # en.json, fr.json, es.json\n│       └── api/               # API/backend projects\n│           ├── main/          # PTY service, route detection\n│           ├── renderer/      # Dashboard, state, terminal panel, route tester, wizard\n│           └── i18n/          # en.json, fr.json, es.json\n├── scripts/\n│   └── build-renderer.js     # esbuild bundler\n└── resources/\n    └── bundled-skills/        # Built-in skills\n```\n\n---\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.\nFor translation contributions, see the [Translations (i18n) section](CONTRIBUTING.md#translations-i18n).\n\nTo contribute translations, see our [i18n guide](.github/i18n-coverage.md).\n\n## Security\n\nSee [SECURITY.md](SECURITY.md) for reporting vulnerabilities.\n\n## License\n\n[GPL-3.0](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsterll%2Fclaude-terminal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsterll%2Fclaude-terminal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsterll%2Fclaude-terminal/lists"}