@thanhvn14/csvibe
v0.1.11
Published
CSVibe CLI - GitHub Copilot Vibecoding Workflow
Maintainers
Readme
CSVibe CLI
CSVibe CLI - GitHub Copilot Vibecoding Workflow
Prerequisites
- Node.js >= 16.0.0 (Download)
- GitHub CLI (gh) (Installation Guide)
- Access to
thanhvu0895/csvibe-engineprivate repository
Installation
Global Installation
npm install -g @thanhvn14/csvibeVerify Installation
csvibe --version
csvibe --helpQuick Start
Authenticate GitHub CLI:
gh auth loginInitialize vibecoding in your project:
cd my-project csvibe initStart coding with AI: Open your project in VSCode and use GitHub Copilot with the installed
.agentfiles.
Commands
csvibe --version
Display CLI version.
$ csvibe --version
csvibe v0.1.0csvibe --help
Display usage information.
csvibe help
Display detailed help with prerequisites, examples, and documentation links.
csvibe init
Bootstrap vibecoding workflow in your project.
What it does:
- Validates GitHub CLI authentication and repository access
- Detects project type (Node.js, Python, Rust, monorepo)
- Prompts for Jira credentials (interactive)
- Creates
.github/agents/,.github/prompts/,.github/instructions/directories - Downloads agent templates from
csvibe-enginerepository - Generates
.csvibe/config.ymlwith project and Jira configuration - Updates
.gitignorewith CSVibe entries - Validates VSCode and GitHub Copilot installation (non-blocking)
Example:
cd my-project
csvibe initInteractive Prompts:
- Jira URL (e.g.,
https://company.atlassian.net) - Jira Email
- Jira API Token (How to create)
- Jira Project Key (e.g.,
PROJ,QS)
Generated Structure:
my-project/
├── .github/
│ ├── agents/ # Agent templates from csvibe-engine
│ ├── prompts/ # Prompt templates
│ └── instructions/ # Instruction templates
├── .csvibe/
│ ├── config.yml # Project and Jira configuration
│ ├── state/ # Pipeline state (gitignored)
│ └── cache/ # Cache directory (gitignored)
└── .gitignore # Updated with CSVibe entriescsvibe scout
Analyze project structure and gather context for AI planning.
What it does:
- Validates project initialization (
.csvibe/state/must exist) - Detects project type (Node.js, Python, Rust, monorepo)
- Analyzes directory structure (source, tests, config)
- Extracts dependencies from manifest files
- Infers tech stack from dependencies
- Detects build tool from lock files
- Generates architecture summary
- Outputs context to
.csvibe/state/scout-context.json
Example:
cd my-project
csvibe scoutCustom Output Path:
csvibe scout -o custom-path.jsonOutput Schema:
{
"projectType": "node",
"techStack": ["TypeScript", "React", "Vite"],
"directories": {
"source": ["src", "lib"],
"tests": ["tests"],
"config": ["."]
},
"dependencies": {
"react": "^18.2.0",
"typescript": "^5.0.0"
},
"buildTool": "npm",
"architecture": "node with TypeScript, React, Vite"
}Supported Project Types:
- Node.js: package.json-based projects
- Node.js Monorepo: Projects with pnpm-workspace.yaml, lerna.json, nx.json, or turbo.json
- Python: pyproject.toml, requirements.txt, or Pipfile
- Rust: Cargo.toml projects
Detected Tech Stack:
- Frontend: React, Vue, Angular, Svelte, Next.js, Nuxt
- Backend: Express, Fastify, NestJS, Django, FastAPI, Flask, Actix
- CSS: Tailwind CSS, MUI, Bootstrap
- Databases: PostgreSQL, MongoDB, MySQL, Redis
- Build Tools: Vite, Webpack, Rollup, Turbopack
- Testing: Vitest, Jest, Pytest, Mocha
Build Tool Detection:
- pnpm: pnpm-lock.yaml
- yarn: yarn.lock
- bun: bun.lockb
- npm: package-lock.json (default)
- poetry: poetry.lock
- pipenv: Pipfile.lock
- pip: (default for Python)
- cargo: (Rust projects)
csvibe brainstorm
Generate solution approaches with trade-off analysis using GitHub Copilot Chat.
What it does:
- Validates project initialization and scout phase completion
- Prompts for requirement description
- Guides you to use @brainstorm in GitHub Copilot Chat
- Watches for approaches.json creation
- Validates and displays generated approaches
- Prepares for plan phase
Prerequisites:
- Project initialized with
csvibe init - Scout analysis completed with
csvibe scout - GitHub Copilot extension active in VSCode
Example:
cd my-project
csvibe brainstormWorkflow:
- CLI prompts: "What feature or functionality do you want to add?"
- You answer: "Add JWT authentication"
- CLI displays Copilot Chat command to run
- You open Copilot Chat and run:
@brainstorm generate approaches for: Add JWT authentication - Copilot generates 2-3 approaches with pros/cons
- You copy JSON output to
.csvibe/state/approaches.json - CLI validates and displays summary
- Ready for
csvibe plan
Custom Output Path:
csvibe brainstorm -o custom-approaches.jsonOutput Schema:
{
"requirement": "Add JWT authentication",
"approaches": [
{
"name": "JWT with Passport.js (Simple)",
"strategy": "Use existing Passport middleware...",
"technologies": ["passport", "passport-jwt", "jsonwebtoken"],
"pros": ["Battle-tested", "Rich ecosystem", "Minimal code"],
"cons": ["Session complexity", "Cookie security"],
"effort": "5-8 hours"
},
{
"name": "Custom JWT Middleware (Moderate)",
"strategy": "Create custom Express middleware...",
"technologies": ["jsonwebtoken", "bcryptjs"],
"pros": ["Full control", "Lighter weight", "Easier debugging"],
"cons": ["More code", "Edge cases", "Security risks"],
"effort": "8-12 hours"
}
],
"recommendation": "Approach 1 - best balance of simplicity and robustness"
}Troubleshooting
Error: gh CLI not found
Solution: Install GitHub CLI:
- macOS:
brew install gh - Windows:
winget install GitHub.cli - Linux: See installation guide
Error: gh CLI not authenticated
Solution: Authenticate:
gh auth loginFollow the prompts to authenticate with your GitHub account.
Error: Cannot access private repository
Possible causes:
- Repository doesn't exist
- Your GitHub account lacks access
- Authentication expired
Solution: Contact repository administrator (@thanhvu0895) for access to csvibe-engine.
Error: Node.js version too old
Solution: Upgrade Node.js to 16+:
- Download: nodejs.org
- nvm:
nvm install 16
Development
Setup
git clone <repo>
cd csvibe-cli
npm install
npm run build
npm link # Test locallyTesting
npm test # Run all tests
npm run test:watch # Watch mode
npm run test:coverage # Coverage reportBuild
npm run build # Compile TypeScript to dist/Local Testing
# Link locally
npm link
# Test commands
csvibe --help
csvibe --version
csvibe help
# Unlink when done
npm unlink -g @thanhvn14/csvibeProject Structure
csvibe-cli/
├── src/
│ ├── index.ts # Main CLI orchestrator
│ ├── commands/ # Command implementations
│ │ ├── help.ts # Help command
│ │ ├── version.ts # Version command
│ │ ├── init.ts # Init command (Story 2)
│ │ └── scout.ts # Scout command (Story 4)
│ ├── utils/ # Utilities
│ │ ├── gh-cli.ts # gh CLI validation
│ │ ├── logger.ts # Colored output
│ │ ├── errors.ts # Error handling
│ │ ├── validators.ts # System validation
│ │ ├── project-detector.ts # Project type detection (Story 2)
│ │ ├── directory-analyzer.ts # Directory structure analysis (Story 4)
│ │ ├── dependency-analyzer.ts # Dependency extraction (Story 4)
│ │ ├── prompts.ts # Interactive prompts (Story 2)
│ │ ├── config-generator.ts # Config file generation (Story 2)
│ │ ├── scaffolder.ts # Directory scaffolding (Story 2)
│ │ ├── vscode-validator.ts # VSCode/Copilot validation (Story 2)
│ │ └── downloader.ts # GitHub asset downloader (Story 2)
│ └── config/
│ └── constants.ts # Configuration
├── tests/
│ ├── unit/ # Unit tests
│ │ ├── gh-cli.test.ts
│ │ ├── validators.test.ts
│ │ ├── project-detector.test.ts
│ │ ├── directory-analyzer.test.ts # Story 4
│ │ ├── dependency-analyzer.test.ts # Story 4
│ │ ├── config-generator.test.ts
│ │ ├── scaffolder.test.ts
│ │ ├── vscode-validator.test.ts
│ │ └── downloader.test.ts
│ └── integration/ # Integration tests
│ ├── cli.test.ts
│ └── scout-command.test.ts # Story 4
├── bin/
│ └── csvibe.js # CLI entry point
└── package.jsonTech Stack
Core
- TypeScript - Type-safe development
- Commander - CLI framework
- Node.js >= 16.0.0
CLI & UI
- chalk - Terminal colors
- ora - Progress spinners
- inquirer - Interactive prompts (Story 2)
File & Config
- fs-extra - Enhanced file operations (Story 2)
- yaml - YAML parsing/generation (Story 2)
Process Execution
- execa - Execute gh CLI commands
Testing
- Vitest - Testing framework
- @vitest/ui - Test UI dashboard
License
MIT © Thanh Vu
Documentation
Full documentation: csvibe-engine repository
Issues
Report issues: GitHub Issues
Status:
- ✅ Story 1 (QS-262) Complete - CLI Installation Package
- ✅ Story 2 (QS-263) Complete - Project Bootstrapping (
csvibe init) - ✅ Story 4 (QS-265) Complete - Scout Phase Implementation (
csvibe scout)
Next: Story 5 (QS-266) - Brainstorm Phase Implementation
