An open API service indexing awesome lists of open source software.

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.

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.)