{"id":48653629,"url":"https://github.com/shekohex/dotai","last_synced_at":"2026-06-13T23:01:05.352Z","repository":{"id":309907002,"uuid":"1036763751","full_name":"shekohex/dotai","owner":"shekohex","description":"My AI Agents Home","archived":false,"fork":false,"pushed_at":"2026-06-09T23:55:18.000Z","size":40376,"stargazers_count":10,"open_issues_count":2,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-10T01:18:39.150Z","etag":null,"topics":["ai","ai-agents","claude-code","gemini","pi"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shekohex.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-08-12T14:47:02.000Z","updated_at":"2026-06-09T23:52:11.000Z","dependencies_parsed_at":"2025-09-07T20:21:52.562Z","dependency_job_id":"798d819c-715d-4ebb-9fb3-a9c38dd95db2","html_url":"https://github.com/shekohex/dotai","commit_stats":null,"previous_names":["shekohex/dotai"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/shekohex/dotai","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shekohex%2Fdotai","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shekohex%2Fdotai/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shekohex%2Fdotai/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shekohex%2Fdotai/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shekohex","download_url":"https://codeload.github.com/shekohex/dotai/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shekohex%2Fdotai/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34303280,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-13T02:00:06.617Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","ai-agents","claude-code","gemini","pi"],"created_at":"2026-04-10T08:57:37.360Z","updated_at":"2026-06-13T23:01:05.269Z","avatar_url":"https://github.com/shekohex.png","language":"HTML","funding_links":[],"categories":["Extensions"],"sub_categories":[],"readme":"# AI Configuration Management\n\nA unified configuration management system for AI tools including Claude Code and OpenCode. This repository synchronizes configuration files and AI instructions across different AI development environments.\n\n## Table of Contents\n\n- [Overview](#overview)\n- [Prerequisites](#prerequisites)\n  - [Required Dependencies](#required-dependencies)\n  - [Installation Instructions](#installation-instructions)\n    - [macOS](#macos)\n    - [Linux (Ubuntu/Debian)](#linux-ubuntudebian)\n    - [Linux (CentOS/RHEL/Fedora)](#linux-centosrhelfedora)\n    - [Arch Linux](#arch-linux)\n    - [Windows](#windows)\n- [Target Locations](#target-locations)\n- [Configuration Files](#configuration-files)\n- [Installation](#installation)\n- [Features](#features)\n- [Usage Examples](#usage-examples)\n- [Troubleshooting](#troubleshooting)\n- [Backup and Recovery](#backup-and-recovery)\n\n## Overview\n\nThis system manages AI tool configurations by:\n\n- Synchronizing the general `AI.md` instructions to tool-specific files\n- Synchronizing MCP server configurations from a unified `mcp.json` to tool-specific formats\n- Copying configuration directories to their expected locations\n- Providing diff-based confirmation for file changes\n- Supporting both Unix-like systems and Windows\n\n## Prerequisites\n\n### Required Dependencies\n\nThis system requires several command-line tools to function properly:\n\n#### Core Dependencies (Required)\n- **jq** - JSON processor for MCP configuration transformation\n- **bash** (Unix/Linux/macOS) or **cmd** (Windows) - Shell execution\n- **cmp** (Unix/Linux/macOS) or **fc** (Windows) - File comparison\n\n#### Optional Dependencies (Recommended)\n- **git** - Version control system (provides better diff output, fallback available)\n- **rsync** (Unix/Linux/macOS) - Efficient directory synchronization (fallback to cp available)\n- **diff** - Text comparison tool (fallback when git unavailable)\n\n### Installation Instructions\n\n#### macOS\n\nUsing [Homebrew](https://brew.sh/) (recommended):\n\n```bash\n# Install Homebrew if not already installed\n/bin/bash -c \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)\"\n\n# Install required dependencies\nbrew install jq git\n\n# rsync and diff are usually pre-installed on macOS\n```\n\nUsing [MacPorts](https://www.macports.org/):\n\n```bash\n# Install required dependencies\nsudo port install jq git\n```\n\n#### Linux (Ubuntu/Debian)\n\n```bash\n# Update package list\nsudo apt update\n\n# Install required dependencies\nsudo apt install jq git rsync curl\n```\n\n#### Linux (CentOS/RHEL/Fedora)\n\n**CentOS/RHEL:**\n```bash\n# Install EPEL repository (CentOS/RHEL)\nsudo yum install epel-release\n\n# Install required dependencies\nsudo yum install jq git rsync curl\n```\n\n**Fedora:**\n\n**Fedora:**\n```bash\n# Install required dependencies\nsudo dnf install jq git rsync curl\n```\n\n#### Arch Linux\n\n```bash\n# Install required dependencies from official repositories\nsudo pacman -S jq git rsync curl\n```\n\n#### Windows\n\n**Using [Chocolatey](https://chocolatey.org/) (recommended):**\n\n```powershell\n# Install Chocolatey if not already installed\nSet-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))\n\n# Install required dependencies\nchoco install jq git curl\n```\n\n**Using [Scoop](https://scoop.sh/):**\n\n```powershell\n# Install Scoop if not already installed\nSet-ExecutionPolicy RemoteSigned -Scope CurrentUser\nirm get.scoop.sh | iex\n\n# Install required dependencies\nscoop install jq git curl\n```\n\n**Manual Installation:**\n\n1. **jq**: Download from [https://stedolan.github.io/jq/download/](https://stedolan.github.io/jq/download/)\n2. **git**: Download from [https://git-scm.com/download/win](https://git-scm.com/download/win)\n3. **curl**: Usually included with Windows 10+ or download from [https://curl.se/windows/](https://curl.se/windows/)\n\n**Using Windows Subsystem for Linux (WSL):**\n\n```bash\n# Install WSL if not already installed (run in PowerShell as Administrator)\nwsl --install\n\n# Inside WSL, follow the Linux Ubuntu/Debian instructions above\n```\n\n#### Verification\n\nAfter installation, verify all dependencies are working:\n\n```bash\n# Check core dependencies\njq --version\ngit --version\n\n# Check optional dependencies (Unix/Linux/macOS)\nrsync --version\ndiff --version\n\n# Windows equivalents\nfc /?  # File compare (Windows)\nxcopy /?  # Directory copy (Windows)\n```\n\n## Target Locations\n\n### Claude Code\n- Configuration directory: `$HOME/.claude/` (Unix) / `%USERPROFILE%\\.claude\\` (Windows)\n- Instructions file: `CLAUDE.md`\n- MCP servers: Updated in `.claude.json` (maintains existing Claude format)\n\n### OpenCode\n- Configuration directory: `$HOME/.config/opencode/` (Unix) / `%USERPROFILE%\\.config\\opencode\\` (Windows)\n- Skills directory: `$HOME/.opencode/skill/` (Unix) / `%USERPROFILE%\\.opencode\\skill\\` (Windows)\n- Instructions file: `AGENTS.md`\n- MCP servers: Updated in `opencode.jsonc` (transformed to OpenCode format)\n\n## Configuration Files\n\n### AI Instructions (AI.md)\nContains general AI development guidelines that are synchronized to:\n- `CLAUDE.md` for Claude Code\n- `AGENTS.md` for OpenCode\n\n### MCP Server Configuration (mcp.json)\nUnified MCP server configuration in Claude format that gets transformed and synchronized to:\n\n**Claude Format (maintained):**\n```json\n{\n  \"mcpServers\": {\n    \"context7\": {\n      \"type\": \"http\",\n      \"url\": \"https://mcp.context7.com/mcp\"\n    },\n    \"firecrawl\": {\n      \"command\": \"bunx\",\n      \"args\": [\"-y\", \"firecrawl-mcp\"],\n      \"env\": {\n        \"FIRECRAWL_API_KEY\": \"your-key\"\n      }\n    }\n  }\n}\n```\n\n**OpenCode Format (transformed automatically):**\n```json\n{\n  \"mcp\": {\n    \"context7\": {\n      \"type\": \"remote\",\n      \"url\": \"https://mcp.context7.com/mcp\",\n      \"enabled\": true\n    },\n    \"firecrawl\": {\n      \"type\": \"local\",\n      \"command\": [\"bunx\", \"-y\", \"firecrawl-mcp\"],\n      \"enabled\": true,\n      \"environment\": {\n        \"FIRECRAWL_API_KEY\": \"your-key\"\n      }\n    }\n  }\n}\n```\n\n## Installation\n\n### Unix/macOS/Linux\n\n```bash\n./install.sh\n```\n\n### Windows\n\n```cmd\ninstall.bat\n```\n\n## Features\n\n### Intelligent Synchronization\n- Compares files before overwriting using git diff (with fallback to standard diff)\n- Shows clear diffs when files differ\n- Requests confirmation before making changes\n- Creates timestamped backups of existing files\n\n### Directory Management\n- Uses rsync for efficient directory synchronization (Unix)\n- Handles nested directory structures\n- Preserves existing files not managed by this system\n- Excludes `.git` directories from synchronization\n\n### Error Handling\n- Validates source files exist before attempting sync\n- Creates target directories automatically\n- Provides clear error messages and colored output\n- Graceful fallbacks when optional tools are unavailable\n\n## Legacy Tool Requirements\n\nThe following tools are required by the installation scripts as documented above. See the [Prerequisites](#prerequisites) section for detailed installation instructions.\n\n### Unix/macOS/Linux\n- **bash** - Shell execution\n- **jq** - JSON processing for MCP configuration transformation\n- **git** - For colored diff output (optional, falls back to diff)\n- **rsync** - Efficient directory synchronization (optional, falls back to cp)\n- **cmp** - File comparison\n- **diff** - Text comparison fallback\n\nOpenCode automatically loads skills from `~/.opencode/skill/`\n\n### Windows\n- **cmd** - Command interpreter\n- **jq** - JSON processing for MCP configuration transformation\n- **fc** - File comparison\n- **git** - For diff output (optional)\n- **xcopy** - Directory copying\n\n## Usage Examples\n\n### First-time Installation\nRun the installer to set up all configurations:\n```bash\n./install.sh\n```\n\n### After Updating AI.md\nRun the installer again to sync changes:\n```bash\n./install.sh\n```\n\nThe installer will show you exactly what changed and ask for confirmation.\n\n### After Updating MCP Configuration\nEdit `mcp.json` with your MCP server configurations and run:\n```bash\n./install.sh\n```\n\nThis will automatically:\n1. Update the `mcpServers` section in `~/.claude/.claude.json`\n2. Transform and update the `mcp` section in `~/.config/opencode/opencode.jsonc`\n3. Create backups of existing configurations\n4. Show diffs and ask for confirmation\n\n### After Updating Skills\nEdit skills in the `skills/` directory and run:\n```bash\n./install.sh\n```\nThis will automatically sync skills to `~/.opencode/skill/` for OpenCode.\n\n### Manual MCP Sync Only\nTo sync only MCP configurations without touching other files:\n\n**Unix/macOS/Linux:**\n```bash\n./sync-mcp.sh\n```\n\n**Windows:**\n```cmd\nsync-mcp.bat\n```\n\n### Viewing Changes\nThe installer automatically shows diffs when files differ. Example output:\n```\n[WARN] Files differ for Claude instructions:\n\n--- /home/user/.claude/CLAUDE.md    2024-01-01 12:00:00\n+++ /home/user/.ai/AI.md           2024-01-01 12:05:00\n@@ -1,3 +1,5 @@\n # AI Instructions\n\n - Follow coding standards\n+- Use git for version control\n+- Write clear commit messages\n\nReplace Claude instructions with new version? (y/N):\n```\n\n## Troubleshooting\n\n### Permission Errors\nEnsure the script has execute permissions:\n```bash\nchmod +x install.sh\n```\n\n### Missing Target Directories\nThe installer creates directories automatically, but ensure you have write permissions to:\n- `$HOME/.claude/`\n- `$HOME/.config/opencode/`\n\n### Git Not Available\nThe installer works without git but provides better diff output when git is available.\n\n### Rsync Not Available\nDirectory synchronization falls back to `cp` when rsync is unavailable.\n\n### jq Not Available\nMCP synchronization requires `jq` for JSON processing. See the [Prerequisites](#prerequisites) section for detailed installation instructions for your platform.\n\n### Invalid MCP Configuration\nIf you see \"Invalid JSON in mcp.json\", validate your JSON syntax:\n```bash\njq empty mcp.json\n```\n\n### MCP Sync Script Not Executable\n**Unix/macOS/Linux:**\nMake the sync script executable:\n```bash\nchmod +x sync-mcp.sh\n```\n\n**Windows:**\nEnsure the batch file is accessible and jq is in your PATH.\n\n## Backup and Recovery\n\nBackups are automatically created with timestamps:\n- Format: `filename.backup.YYYYMMDD_HHMMSS`\n- Location: Same directory as the original file\n- Only created when files actually differ\n\nTo restore a backup:\n```bash\ncp ~/.claude/CLAUDE.md.backup.20240101_120000 ~/.claude/CLAUDE.md\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshekohex%2Fdotai","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshekohex%2Fdotai","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshekohex%2Fdotai/lists"}