A keyboard-first command terminal for the browser.
Access search, browser commands, and web shortcuts — all from one command bar.
cmdOS is a Chrome extension that replaces repetitive browser actions with keyboard commands. Instead of navigating menus, bookmarks, and tabs manually, you open cmdOS with Alt + S and run commands from one place.
It is entirely local-first — your data stays on your machine. No account required to use the core features.
Open cmdOS with Alt + S from any page and run commands instantly.
/notes → Open your notes
/link → Create or open a saved link
/screenshot → Capture the current page
/shortcuts → Manage keyboard shortcuts
### 🛠️ Browser Commands
Built-in commands available from the command bar:
- Visible-page and full-page screenshots
- Image download from current page
- Table extraction and CSV export
- Print-friendly PDF generation
---
## Tech Stack
| Layer | Technology |
|---|---|
| UI | React 19, TypeScript |
| Build | Vite 6, Turborepo |
| Styling | Tailwind CSS |
| Package manager | pnpm workspaces |
| Storage | Chrome Extension APIs (local-first) |
| Extension | Manifest V3 |
---
## Repository Structure
<pre>
cmdOS/
├── background/ # Service worker, manifest, extension bootstrap
├── packages/ # Shared internal packages (monorepo)
│ ├── ui/ # Design system components
│ ├── shared/ # Utility helpers and schemas
│ ├── storage/ # Chrome storage helpers
│ ├── env/ # Environment variable schemas
│ └── module-manager/ # Core module configuration
├── src/
│ ├── allObjectFolder/ # Core object types — the heart of the extension
│ │ └── src/createObject/
│ │ ├── links/ # Link and tab group objects
│ │ ├── notes/ # Rich note objects
│ │ ├── snippets/ # Reusable text snippets
│ │ ├── commands/ # Command definitions and handlers
│ │ ├── session/ # Session tracking objects
│ │ ├── automationBeta/ # Automation workflow objects
│ │ ├── ChatAgent/ # AI agent integration
│ │ ├── aiPrompt/ # AI prompt objects
│ │ ├── todos/ # Task and to-do objects
│ │ └── tags/ # Tag management
│ ├── settings/ # Extension settings UI and logic
│ │ ├── authentication/ # Login and auth UI
│ │ ├── backup/ # Data backup and restore
│ │ ├── generalSettingsPageUi/ # General settings panel
│ │ ├── uiPersonalization/ # Theme and appearance settings
│ │ ├── uxLayoutCustomization/ # Layout customization options
│ │ └── allWorkspaceManager/ # Workspace and folder management
│ ├── storage/ # Storage abstraction layer
│ ├── shared-components/ # Reusable UI components and utilities
│ ├── welcomeGuide/ # Onboarding and tutorial flows
│ └── pages/ # Extension entry points
│ ├── AltS_search_newtab/ # Primary new tab workspace dashboard
│ ├── popup/ # Browser toolbar popup
│ ├── contentScript/ # Injected content scripts
│ └── content-ui/ # Injected UI overlays
├── docs/ # Documentation and guides
└── .env # Environment config (pre-configured for local dev)
</pre>
---
## Getting Started
### Prerequisites
- **Node.js** `>= 22.12.0` — [Download](https://nodejs.org)
- **pnpm** `>= 9.15.1` — `npm install -g pnpm`
- Google Chrome or any Chromium-based browser
### Installation
**1. Clone the repository**
```bash
git clone https://github.com/cmdOS-App/cmdOS.git
cd cmdOS
2. Set up environment
cp .env .env.local
# The default .env is pre-configured for local development.
# No changes needed to run the extension locally.3. Install dependencies
pnpm installStart the development server with hot reload:
pnpm devThen load the extension in Chrome:
- Open
chrome://extensions/ - Enable Developer mode (top right toggle)
- Click Load unpacked
- Select the
dist/directory
The extension rebuilds automatically when you save changes.
Build the production extension:
pnpm buildThe built extension will be in dist/. Load it in Chrome using the same steps as development.
pnpm type-checkpnpm lint
pnpm prettierCopyright © 2024–2026 RPA TASKLABS AUTOMATION SOFTWARE PRIVATE LIMITED · Apache License 2.0