README
¶
Context Vibes CLI
Context Vibes is a command-line tool designed to streamline common development tasks and generate context for AI assistants. It provides consistent wrappers for Git workflows, Infrastructure as Code (IaC) operations, and code quality checks.
Why Context Vibes?
- Consistency: Provides a unified interface for frequent actions across different projects.
- Automation: Simplifies multi-step processes like daily Git routines or IaC deployments.
- AI Integration: Generates a comprehensive context file (
contextvibes.md) specifically formatted to help AI assistants understand the current project state and task requirements. Uses a single file approach where commands likediffoverwrite the main context file. - Safety: Includes confirmation prompts for potentially state-changing operations.
Key Features
- AI Context Generation:
describe: Gathers project details (env, git status, files, prompt) intocontextvibes.md. Supports output file customization via-o. Respects.gitignoreand.aiexcluderules when selecting files.diff: Summarizes pending Git changes (staged, unstaged, untracked), overwritingcontextvibes.mdwith the summary. Rundescribeagain if full context is needed.
- Git Workflow Automation:
kickoff: Start-of-day routine (update main, create/switch daily dev branch).commit: Stage all changes and commit locally with a prompted message.sync: Update local branch from remote (pull --rebase) and push if ahead.wrapup: End-of-day routine (stage all, commit default message, push).status: Wrapper forgit status.
- Infrastructure as Code (IaC) Wrappers:
plan: Runterraform planorpulumi preview.deploy: Runterraform applyorpulumi up(with confirmation).init: Runterraform init.
- Code Quality:
quality: Run formatters and linters (Terraform, Python support included).
Installation
Ensure you have Go (1.24 or later recommended) and Git installed.
-
Install using
go install:go install github.com/contextvibes/cli/cmd/contextvibes@latestThis command downloads the source, compiles the binary, and installs it as
contextvibesinto your$GOPATH/bindirectory (or$HOME/go/binif$GOPATHis not set). -
Ensure
$GOPATH/binis in yourPATH: For thecontextvibescommand to be directly runnable, the installation directory must be in your system'sPATHenvironment variable. You can typically add it to your shell profile (~/.bashrc,~/.zshrc, etc.):export PATH=$(go env GOPATH)/bin:$PATH # Or: export PATH=$HOME/go/bin:$PATHRemember to source your profile (
source ~/.bashrc) or open a new terminal window after editing.
(Alternative) Installation via Releases:
If pre-compiled binaries are available on the GitHub Releases page (Adjust URL if needed), you can download the appropriate file for your OS/architecture, make it executable (chmod +x contextvibes-...), and move it into a directory in your PATH.
Dependencies:
The tool itself is self-contained, but specific commands rely on external tools being in your PATH:
- Git commands:
git - IaC commands:
terraform,pulumi(depending on project type) - Quality commands:
terraform,tflint,isort,black,flake8(depending on project type and installed tools)
Usage
contextvibes [command] --help # Get help for any command
Examples:
# Start your day
contextvibes kickoff
# Describe the project and your task for an AI (writes to contextvibes.md)
# (You will be prompted for input)
contextvibes describe
# Check pending changes and OVERWRITE contextvibes.md with the summary
contextvibes diff
# Check code quality
contextvibes quality
# Plan infrastructure changes
contextvibes plan
# Commit your work
contextvibes commit
# Sync with remote
contextvibes sync
# End your day
contextvibes wrapup
Note on AI Context Files
contextvibes.md(Generated by this tool): This file is created bydescribeordiff. It contains a dynamic snapshot of your project state plus your specific prompt. Use this file's content as the input prompt when interacting with an external AI (like Gemini web UI, Claude, etc.) or potentially pasting into the IDE's chat panel..idx/airules.md(IDE Configuration): This is a static configuration file used by Firebase Studio's built-in Gemini features to understand persistent rules, persona, and project context natively within the IDE chat/features.contextvibesdoes not currently generate or validate this file (seeROADMAP.md), butdescribewill include its content if it exists and is not excluded by.aiexclude..aiexclude(Exclusion Rules): Create this file in your project root (similar syntax to.gitignore) to prevent specific files or directories from being included by thedescribecommand or indexed by IDE AI features.
Contributing
Please see CONTRIBUTING.md for guidelines on how to contribute, report issues, and get started with development.
Code of Conduct
We expect all participants in the Context Vibes community (contributors, users, commenters) to act professionally and respectfully toward others. Please be kind, considerate, and welcoming in all interactions. Harassment or exclusionary behavior will not be tolerated.
Related Files
CHANGELOG.md: Tracks notable changes between versions.CONTRIBUTING.md: Guidelines for contributing and list of known issues/TODOs.ROADMAP.md: Future plans and direction for the project.
License
This project is licensed under the MIT License - see the LICENSE file for details.
**Summary of README Changes:**
* Updated the primary installation command under the "Installation" section to `go install github.com/contextvibes/cli/cmd/contextvibes@latest`.
* Added clearer steps regarding checking/updating the system `PATH`.
* Included a note about checking GitHub Releases as an alternative installation method.
---
Directories
¶
| Path | Synopsis |
|---|---|
|
cmd/diff.go
|
cmd/diff.go |
|
contextvibes
command
cmd/contextvibes/main.go
|
cmd/contextvibes/main.go |
|
internal
|
|