https://github.com/fgrehm/dot-ai
Configuration files for AI coding tools, managed with symlinks.
https://github.com/fgrehm/dot-ai
Last synced: 25 days ago
JSON representation
Configuration files for AI coding tools, managed with symlinks.
- Host: GitHub
- URL: https://github.com/fgrehm/dot-ai
- Owner: fgrehm
- Created: 2026-02-26T14:24:11.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2026-04-08T21:44:59.000Z (2 months ago)
- Last Synced: 2026-04-08T23:27:56.229Z (2 months ago)
- Language: Python
- Homepage:
- Size: 304 KB
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Agents: AGENTS.md
Awesome Lists containing this project
README
# dot-ai
Configuration files for AI coding tools, managed with symlinks.
## What's in here
```
dot-ai/
├── AGENTS.md # Project instructions (CLAUDE.md symlinks here)
├── claude/
│ ├── CLAUDE.md # Global instructions for Claude Code
│ ├── settings.json # Permissions, model, telemetry, etc.
│ └── output-styles/ # Custom output styles (Navigator v1/v2)
├── pi/
│ └── AGENTS.md # Global instructions for pi
├── skills/ # Shared skills (symlinked individually into ~/.agents/skills/ etc.)
├── vendor-skill.sh # Vendor third-party skills from GitHub
├── web/
│ ├── claude-ai/
│ │ ├── personal-instructions.md
│ │ └── projects/ # Claude.ai project configs (per-project instructions)
│ └── chatgpt/
│ └── personal-instructions.md
├── install.sh # Symlink everything into place
└── uninstall.sh # Remove symlinks
```
## Supported tools
| Tool | Config location | Status |
|------|----------------|--------|
| [Claude Code](https://claude.ai/claude-code) | `~/.claude/` | Active |
| [pi-coding-agent](https://github.com/badlogic/pi-mono/tree/main/packages/coding-agent) | `~/.pi/agent/` | Active |
| [Claude.ai](https://claude.ai) | `web/claude-ai/` (manual copy-paste) | Active |
| [ChatGPT](https://chatgpt.com) | `web/chatgpt/` (manual copy-paste) | Active |
## Setup
```sh
git clone ~/projects/oss/dot-ai
cd ~/projects/oss/dot-ai
./install.sh
```
To remove all symlinks:
```sh
./uninstall.sh
```
## How it works
`install.sh` creates symlinks from this repo to where each tool expects its config. Existing files are backed up with a `.bak` suffix before being replaced.
No frameworks, no dependencies, just symlinks.
### Symlink layout
```
~/.claude/CLAUDE.md -> claude/CLAUDE.md # Global instructions for Claude Code
~/.claude/settings.json -> claude/settings.json # Permissions, model, telemetry
~/.claude/output-styles/ -> claude/output-styles/ # Custom output styles
~/.claude/skills/ -> skills// # Per-skill symlinks for Claude Code
~/.pi/agent/AGENTS.md -> pi/AGENTS.md # Global instructions for pi
~/.pi/agent/skills/ -> skills// # Per-skill symlinks for pi
```
### Web chat configs (`web/`)
Files under `web/` are **not** symlinked — they're reference copies you paste into each web UI's settings manually. The `` comment at the top of each file helps track when you last updated the live version.
## Vendoring third-party skills
Use `vendor-skill.sh` to download a skill from any public or private GitHub repo:
```sh
./vendor-skill.sh https://github.com/apollographql/skills/tree/main/skills/rust-best-practices
```
The script resolves the ref to a commit SHA, downloads just the skill directory, and writes a `README.md` with a link back to the exact source commit. You can also override the skill name:
```sh
./vendor-skill.sh https://github.com/user/repo/tree/main/path/to/skill my-custom-name
```
Requires `gh` (GitHub CLI) for authentication and API access.
## Maintenance
- `CHANGELOG.md` - What changed and when. Update after each round of edits.
- `SCRATCHPAD.md` - Raw observations, misfires, half-formed ideas. Review before each round of changes; promote to tasks or delete when stale.
## Ideas
- Rename `claude-project-sync` skill to something tool-agnostic (e.g. `web-project-sync`)
- Drift detection script to diff `claude/CLAUDE.md` vs `pi/AGENTS.md`
- `install.sh --dry-run` flag to preview symlinks without creating them
- More web chat providers as needed (Gemini, Copilot, etc.)