Skip to content

vinzify/CommandHub

CommandHub

CommandHub is a full-stack app for organizing command-line snippets by category and group, with drag-and-drop ordering and optional AI-generated annotations.

Donate ETH

CommandHub Dashboard

Highlights

  • Category, group, and command management (CRUD)
  • Drag-and-drop ordering with persistence
  • Cross-container drag-and-drop for commands
  • Optional AI annotation generation via OpenAI API
  • Automated coverage across API, frontend unit tests, and Playwright E2E

Stack

  • Frontend: React, TypeScript, Vite, Material UI, TanStack Query, dnd-kit
  • Backend: Node.js, Express, TypeORM, SQLite
  • Testing: Vitest, Testing Library, Playwright

Quick Start

Prerequisites

  • Node.js 22+ (Node 22.22.0 is pinned in package.json)
  • npm 10+

Install

npm run install:all

Configure Environment

cp backend/.env.example backend/.env
cp frontend/.env.example frontend/.env

backend/.env values:

  • PORT (default 5000)
  • DATABASE_PATH (default ./database.sqlite)
  • OPENAI_API_KEY (optional, required only for annotation generation)

Run Development

npm run dev
  • Frontend: http://localhost:5173
  • Backend: http://localhost:5000
  • Health check: http://localhost:5000/health

Scripts

  • npm run dev: start frontend and backend
  • npm test: run backend and frontend tests
  • npm run test:e2e: run Playwright end-to-end drag-and-drop tests
  • npm run build: build backend and frontend
  • npm run db:reset: remove local SQLite database files
  • npm run screenshot: regenerate docs/assets/commandhub-dashboard.png

Testing

npm test
npm run test:e2e

Install browser dependencies once for Playwright:

npx playwright install chromium

Project Structure

.
|- backend/        # Express + TypeORM API
|- frontend/       # React UI
|- tests/e2e/      # Playwright tests
|- docs/assets/    # README assets
`- scripts/        # Repository automation scripts

Security and Privacy

  • .env files are gitignored.
  • Only .env.example files are tracked.
  • Local SQLite databases are gitignored and can be reset with npm run db:reset.
  • See SECURITY.md for vulnerability reporting.

Support

If CommandHub is useful to you, you can support maintenance with Ethereum:

Open Source Workflow

License

MIT. See LICENSE.

About

No description, website, or topics provided.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project

Packages

 
 
 

Contributors