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 like diff overwrite 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) into contextvibes.md. Supports output file customization via -o. Respects .gitignore and .aiexclude rules when selecting files.
diff: Summarizes pending Git changes (staged, unstaged, untracked), overwritingcontextvibes.md with the summary. Run describe again 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 for git status.
Infrastructure as Code (IaC) Wrappers:
plan: Run terraform plan or pulumi preview.
deploy: Run terraform apply or pulumi up (with confirmation).
init: Run terraform 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@latest
This command downloads the source, compiles the binary, and installs it as contextvibes into your $GOPATH/bin directory (or $HOME/go/bin if $GOPATH is not set).
Ensure $GOPATH/bin is in your PATH: For the contextvibes command to be directly runnable, the installation directory must be in your system's PATH environment variable. You can typically add it to your shell profile (~/.bashrc, ~/.zshrc, etc.):
Remember 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 by describe or diff. 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. contextvibes does not currently generate or validate this file (see ROADMAP.md), but describe will 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 the describe command 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.
---