# GEMINI.md - Project Context & Instructions This repository contains personal dotfiles and configurations for a highly productive development environment, integrating Bash, Tmux, Vim, VS Code, and various AI assistants (Gemini CLI, Claude, Codex, Opencode). ## 📂 Project Overview * **Type:** Non-Code Project (Dotfiles / Configuration) * **Management:** Uses `stow` for Linux/WSL and `chezmoi` for Windows/WSL. * **Key Focus:** * Unified configuration across editors and terminals. * Deep integration with AI tools via shared "skills". * Automated environment setup (proxy handling, secret loading). ## 🛠 Key Components ### 1. Shell & Terminal (Bash & Tmux) * **Bash:** Custom prompt (`.bash_prompt`), utility functions (`.bash_functions` like `proxy_on/off`), and core customizations (`.bash_custom`). * **Tmux:** Dual prefix (`C-b` and `C-Space`), Vi-mode for copying, and optimized pane management. * **Secrets:** Managed via `~/.env.secrets` (not tracked in Git). ### 2. Editors (Vim, VS Code, Zed) * **Vim:** Minimalist `.vimrc`, 2-space indentation, leader-key mappings (`Space`). * **VS Code (WSL):** Uses `server-env-setup` to automatically load secrets and configure proxy settings upon startup. * **Zed:** Placeholder directory for future configuration. ### 3. AI Agents & Skills * **Shared Skills:** Located in `agents/.agents/skills/`. This is the single source of truth for AI instructions. * **Gemini CLI:** Configured via `gemini/.gemini/`. * **Policies:** `readonly-commands.toml` allows critical commands like `git status`, `git diff`, and `git add` to run without confirmation. * **Opencode:** MCP-based assistant configuration (`opencode.json`) with support for documentation, search, and web-reading. * **Skill Bridges:** Symlinks are used to share skills across Claude, Codex, and Opencode. ## 🚀 Usage & Maintenance ### Deployment * **Linux/WSL:** Use `stow ` from the root directory. * **Windows:** Use `chezmoi apply`. ### Adding/Updating Skills 1. Modify files in `agents/.agents/skills/`. 2. Ensure symlinks in other tool directories are updated if new skills are added. ### Git Workflow for AI (Gemini CLI) * **Safe Commands:** `git status`, `git diff`, and `git add` are pre-approved in the policy. * **Commits:** Always use the `conventional-commits` skill for generating commit messages. Use the ` Способ B` (temporary file) if direct Heredoc causes issues. ## ⚠️ Important Files for Reference * `README.md`: Detailed installation and usage instructions. * `bash/.bash_functions`: Proxy and environment management functions. * `gemini/.gemini/policies/readonly-commands.toml`: Permissions for Gemini CLI. * `agents/.agents/skills/conventional-commits/SKILL.md`: Rules for commit formatting. ## 🤖 AI Interaction Mandates * **Adhere to Local Patterns:** When suggesting changes, follow the 2-space indent rule and minimalist style established in `.vimrc` and `.bash_custom`. * **Privacy First:** Never log or commit contents of `~/.env.secrets`. * **Verification:** Before updating configs, verify with `git status` and `git diff` (which are allowed without confirmation).