{"id":50412329,"url":"https://github.com/cskwork/vibe-kanban-desktop","last_synced_at":"2026-05-31T04:04:55.631Z","repository":{"id":333992888,"uuid":"1139568959","full_name":"cskwork/vibe-kanban-desktop","owner":"cskwork","description":"Electron desktop wrapper for vibe-kanban with auto-updates, health checks, and secure architecture","archived":false,"fork":false,"pushed_at":"2026-01-22T06:10:06.000Z","size":192,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-22T20:40:25.222Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cskwork.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"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-22T06:02:56.000Z","updated_at":"2026-01-22T06:10:10.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/cskwork/vibe-kanban-desktop","commit_stats":null,"previous_names":["cskwork/vibe-kanban-desktop"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/cskwork/vibe-kanban-desktop","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cskwork%2Fvibe-kanban-desktop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cskwork%2Fvibe-kanban-desktop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cskwork%2Fvibe-kanban-desktop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cskwork%2Fvibe-kanban-desktop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cskwork","download_url":"https://codeload.github.com/cskwork/vibe-kanban-desktop/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cskwork%2Fvibe-kanban-desktop/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33718496,"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-31T02:00:06.040Z","response_time":95,"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":[],"created_at":"2026-05-31T04:04:54.945Z","updated_at":"2026-05-31T04:04:55.618Z","avatar_url":"https://github.com/cskwork.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# vibe-kanban-desktop\n\nElectron desktop wrapper for vibe-kanban with auto-updates, health checks, and secure architecture.\n\n## Features\n\n- **Process Management** - Automatic spawning and lifecycle management of vibe-kanban via `npx`\n- **Auto Port Detection** - Extracts server port from stdout using regex pattern matching\n- **Health Checks** - Retry logic (10 attempts, 500ms delay) ensures server readiness before loading\n- **Dual Update System** - App updates via GitHub Releases + vibe-kanban updates via npm registry\n- **Splash Screen** - Loading screen displayed during initialization\n- **Security Hardened** - Context isolation, sandbox mode, disabled node integration\n\n## System Requirements\n\n- Node.js 18+\n- npm 9+\n- macOS 10.15+ / Windows 10+ / Ubuntu 20.04+\n\n## Installation\n\n```bash\n# Clone the repository\ngit clone https://github.com/your-org/vibe-kanban-desktop.git\ncd vibe-kanban-desktop\n\n# Install dependencies\nnpm install\n```\n\n## Development\n\n```bash\n# Start development server with hot reload\nnpm run dev\n\n# Type check\nnpm run typecheck\n\n# Lint\nnpm run lint\n\n# Build\nnpm run build\n\n# Preview built app\nnpm run preview\n```\n\n## Packaging\n\n```bash\n# Package for current platform\nnpm run package\n\n# Platform-specific packaging\nnpm run package:mac    # macOS\nnpm run package:win    # Windows\nnpm run package:linux  # Linux\n```\n\n## Project Structure\n\n```\nsrc/\n├── main/\n│   ├── main.ts                 - App entry, window creation, lifecycle\n│   ├── vibe-kanban-manager.ts  - Child process spawning and event management\n│   ├── port-detector.ts        - Extract port from vibe-kanban stdout\n│   ├── health-checker.ts       - HTTP retry logic for server readiness\n│   ├── menu.ts                 - App menu with update/help actions\n│   ├── ipc/\n│   │   └── handlers.ts         - IPC event handlers\n│   └── updater/\n│       ├── electron-updater.ts - GitHub Releases auto-update\n│       └── vibe-kanban-updater.ts - npm registry version check\n├── preload/\n│   └── preload.ts              - Secure context bridge to renderer\n├── renderer/\n│   └── splash/index.html       - Loading screen\n└── shared/\n    └── types.ts                - IPC channels, app state types\nbuild/\n├── icon.svg                    - Source icon\n├── icon.png / icon.icns / icon.ico - Platform icons\n└── icons/                      - Multi-size PNGs\n```\n\n## Architecture\n\n### Key Components\n\n| Component | Description |\n|-----------|-------------|\n| VibeKanbanManager | EventEmitter managing `npx vibe-kanban@latest` child process |\n| PortDetector | Regex pattern matching on stdout to extract `http://127.0.0.1:PORT` |\n| HealthChecker | Retry logic using `electron.net.request` HEAD requests |\n| Dual Updater | ElectronUpdater (GitHub) + VibeKanbanUpdater (npm) |\n\n### Security\n\n- `contextIsolation: true`\n- `sandbox: true`\n- `nodeIntegration: false`\n- Navigation restricted to localhost only\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcskwork%2Fvibe-kanban-desktop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcskwork%2Fvibe-kanban-desktop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcskwork%2Fvibe-kanban-desktop/lists"}