Skip to content

Commit fbe7eca

Browse files
committed
chore: adjusted readme
1 parent 9f78691 commit fbe7eca

16 files changed

Lines changed: 205 additions & 527 deletions

README.md

Lines changed: 205 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -1,133 +1,257 @@
1-
# aidrelay — AI Developer Relay
1+
# aidrelay
22

3-
**Centralized MCP server config and AI coding rules manager for Windows.**
3+
aidrelay is a Windows desktop app that lets you manage MCP servers, AI rules, skills, and sync workflows across multiple AI coding tools from one place. Instead of editing many client-specific JSON and markdown files, you maintain one source of truth and sync from there.
44

5-
aidrelay gives you a single place to manage your Model Context Protocol (MCP) server configurations and AI coding rules across every AI development tool on your machine — Cursor, VS Code, Claude Desktop, Windsurf, Zed, JetBrains, and more.
5+
Supported clients include Cursor, VS Code, Claude Desktop, Windsurf, Zed, JetBrains IDEs, Claude Code, and Codex.
66

7-
---
7+
![aidrelay dashboard](resources/screenshots/dashboard.png)
88

9-
## What it does
9+
## What It Does
1010

11-
- **One config, all tools.** Add an MCP server once and aidrelay syncs it to every AI tool you have installed — no more editing JSON files by hand in five different locations.
12-
- **AI rules management.** Write and maintain your AI coding rules in Markdown, then sync them to `.cursorrules`, `CLAUDE.md`, `AGENTS.md`, or any other format your tools understand.
13-
- **Profiles.** Create named configurations (e.g. "Work", "Personal", "Client X") and switch between them with one click — or right from the system tray.
14-
- **Backup & restore.** Every sync creates a snapshot of the client config before touching it. Roll back to any previous state in one click.
15-
- **Secrets management.** Environment variable secrets are stored in Windows Credential Manager (via `keytar`), never in plain text.
16-
- **Registry browser.** Search the Smithery MCP registry and install servers directly.
17-
- **Git sync.** Push your entire config to a private Git repository for cross-machine portability.
11+
- Centralizes MCP server and AI rule management for multiple AI clients.
12+
- Helps you install and maintain skills, MCP registry entries, and local tool setup.
13+
- Adds safer sync workflows with previews, conflict handling, backups, and restore options.
1814

19-
---
15+
## What Problem It Solves
2016

21-
## Tech stack
17+
- You keep the same MCP server setup in several tools and configs drift over time.
18+
- You maintain separate AI rules files for each client format.
19+
- You need to manage skill files and setup state across machines and projects.
20+
- Manual edits are easy to break, hard to validate, and hard to roll back.
21+
- Moving your setup between machines takes too much repeated work.
2222

23-
| Layer | Technology |
24-
|-------|-----------|
25-
| Shell | Electron 34+ via electron-vite |
26-
| UI | React 19, TypeScript (strict), Tailwind CSS 4, shadcn/ui |
27-
| State | Zustand |
28-
| Routing | TanStack Router |
29-
| Tables | TanStack Table |
30-
| Forms | React Hook Form + Zod |
31-
| Code editor | Monaco Editor |
32-
| Markdown | @uiw/react-md-editor |
33-
| Database | better-sqlite3 (local SQLite) |
34-
| Secrets | keytar (Windows Credential Manager) |
35-
| Git | isomorphic-git |
36-
| i18n | i18next + react-i18next |
37-
| Packaging | electron-builder (NSIS installer) |
38-
| Auto-update | electron-updater + GitHub Releases |
23+
## Who It Is For
24+
25+
- Developers who use more than one AI coding tool.
26+
- Developers who want one source of truth for MCP servers, rules, and skills.
27+
- Users who want local-first control with backup and restore options.
28+
29+
## Features
30+
31+
### Dashboard And Client Operations
32+
33+
- Detect installed clients and their config status in one dashboard.
34+
- Install supported clients, validate configs, and manage per-client sync items.
35+
- Preview sync changes before writing and confirm only actionable updates.
36+
- Preview and import config differences found in client files.
37+
38+
### MCP Server Management
39+
40+
- Create, edit, enable, disable, and delete MCP servers from one table.
41+
- Test server connectivity directly from the server list.
42+
- Control per-client server toggles with a matrix view.
43+
- Import servers from existing client configs.
44+
- Run install and repair flows with the local installer wizard.
45+
46+
### Rules Management
47+
48+
- Create, edit, enable, disable, and delete rules in one place.
49+
- Filter by category, switch between global and project scopes, and sync to clients.
50+
- Import rules from project files.
51+
- Track estimated token usage with a token budget panel.
52+
53+
### Profiles
54+
55+
- Create and manage named profiles for different contexts.
56+
- Switch active profiles and apply profile changes through an activation flow.
57+
58+
### Skills Management (CRUD + Sync)
59+
60+
- Browse curated skills and install with a preview-first flow.
61+
- Choose safe install or replace when conflicts are detected.
62+
- Create your own skills with a step-by-step wizard.
63+
- Edit skill files, reveal paths, enable or disable, and delete installed skills.
64+
- Run legacy skill migration and resolve skill sync conflicts.
65+
66+
### Registry Install
67+
68+
- Search and browse MCP servers from Smithery and Official MCP Registry providers.
69+
- Prepare install options and install directly into your local server registry.
70+
71+
### Sync Center
72+
73+
- Review post-sync setup items in the Needs Setup tab and apply them.
74+
- Resolve local vs remote conflicts in the Conflicts tab.
75+
- Review outgoing changes in Push Review before finalizing decisions.
76+
- Copy a diagnostics report for troubleshooting.
77+
78+
### Git Sync And Cross-Device
79+
80+
- Connect via GitHub OAuth or manual remote configuration.
81+
- Test remote connectivity, then pull, push, or disconnect from settings.
82+
- Use sync conflict and push review workflows to keep machines aligned.
83+
84+
### Safety And Traceability
85+
86+
- Create backups automatically before sync writes.
87+
- Filter and inspect backup history across clients.
88+
- Restore older config snapshots when needed.
89+
- Review a filterable activity log of sync and management actions.
90+
91+
### Portability
92+
93+
- Export selected servers and rules as stack bundles.
94+
- Import stack bundles to bootstrap or share setups.
95+
96+
### Security And Local-First
97+
98+
- Store secrets in Windows Credential Manager via `keytar`.
99+
- Keep local state in SQLite on your machine.
100+
- Avoid storing sensitive tokens in plaintext project files.
101+
102+
## Screenshots
103+
104+
### Dashboard Overview
105+
106+
![Dashboard overview](resources/screenshots/dashboard.png)
107+
108+
### Clients Management
109+
110+
![Clients management](resources/screenshots/clients.png)
111+
112+
### Servers Management
39113

40-
---
114+
![Servers management](resources/screenshots/servers.png)
41115

42-
## Getting started (development)
116+
### Rules Editor (Markdown + Preview)
117+
118+
![Rules editor](resources/screenshots/rules.png)
119+
120+
### Skills Discovery And Install
121+
122+
![Skills discovery and install](resources/screenshots/skills-dicover.png)
123+
124+
### Skills Installed CRUD
125+
126+
![Skills installed CRUD](resources/screenshots/skills-installed.png)
127+
128+
### Skills Edit Flow
129+
130+
![Skills edit flow](resources/screenshots/skills-edit.png)
131+
132+
### Registry Install (Smithery)
133+
134+
![Registry install Smithery](resources/screenshots/registry.png)
135+
136+
### Sync Center Conflicts
137+
138+
@todo Capture Sync Center with Needs Setup and Conflicts counts visible and a conflict resolution card open.
139+
140+
### Profiles And Activation Flow
141+
142+
![Profiles and activation](resources/screenshots/profiles.png)
143+
144+
### History And Restore
145+
146+
![History and restore](resources/screenshots/history.png)
147+
148+
### Activity Log
149+
150+
![Activity log](resources/screenshots/activity-log.png)
151+
152+
### Stacks Import And Export
153+
154+
![Stacks import and export](resources/screenshots/stacks.png)
155+
156+
### Settings + Git Sync
157+
158+
@todo Capture settings with Git Sync section expanded, including remote URL, test remote, pull, push, and disconnect actions.
159+
160+
## Development
43161

44162
### Prerequisites
45163

46-
- Node.js 20
47-
- pnpm 9
48-
- Windows 10/11 (primary target; macOS/Linux builds planned)
164+
- Node.js >= 20
165+
- pnpm >= 9
166+
- Windows 10/11 (primary target)
49167

50168
### Setup
51169

52170
```bash
53-
# Clone the repository
171+
# Clone repository
54172
git clone https://github.com/christianblank91/aidrelay.git
55173
cd aidrelay
56174

57-
# Install dependencies (rebuilds native modules automatically)
175+
# Install dependencies
58176
pnpm install
59177

60-
# Start in development mode
178+
# Start development app
61179
pnpm dev
62180
```
63181

64-
The app opens an Electron window with hot-reload. The Chrome DevTools MCP is enabled in dev mode so you can connect to the renderer via `chrome://inspect` on port 9222.
65-
66182
### Scripts
67183

68184
| Command | Description |
69-
|---------|-------------|
185+
| ------- | ----------- |
70186
| `pnpm dev` | Start Electron in development mode with HMR |
71-
| `pnpm build` | Compile all processes with electron-vite |
72-
| `pnpm dist:win` | Build + package a Windows NSIS installer |
73-
| `pnpm typecheck` | Run TypeScript across all three tsconfigs |
74-
| `pnpm lint` | ESLint across all source files |
187+
| `pnpm build` | Build main, preload, and renderer bundles |
188+
| `pnpm dist:win` | Build and package a Windows installer |
189+
| `pnpm typecheck` | Run TypeScript checks across all tsconfig targets |
190+
| `pnpm lint` | Run ESLint across source files |
75191
| `pnpm test` | Run the full Vitest test suite |
76-
| `pnpm test:watch` | Vitest in watch mode |
77-
78-
---
192+
| `pnpm test:watch` | Run Vitest in watch mode |
79193

80-
## Project structure
194+
### Project Structure
81195

82-
```
196+
```text
83197
src/
84198
main/ # Electron main process (Node.js)
85-
clients/ # ClientAdapter implementations per AI tool
86-
db/ # SQLite repositories + migrations
87-
git-sync/ # isomorphic-git wrapper
88-
ipc/ # IPC handler registrations
89-
registry/ # Smithery API client
90-
rules/ # Rule sync, format conversion, token estimator
91-
secrets/ # keytar wrapper for Windows Credential Manager
92-
sync/ # Safety-first sync service + backup + file watcher
93-
testing/ # MCP server connection tester
94-
tray/ # System tray icon + profile quick-switch
95-
updater/ # electron-updater wrapper
96-
preload/ # contextBridge IPC bridge (typed window.api)
199+
clients/ # Client adapters per AI tool
200+
db/ # SQLite repositories and migrations
201+
git-sync/ # isomorphic-git integration
202+
ipc/ # IPC handlers
203+
registry/ # Registry API clients
204+
rules/ # Rule sync and format conversion
205+
secrets/ # Secret storage wrapper
206+
sync/ # Sync orchestration, backup, file watching
207+
testing/ # MCP server connection testing
208+
tray/ # System tray integration
209+
updater/ # App update integration
210+
preload/ # Typed contextBridge API
97211
renderer/ # React UI
98-
components/ # Reusable components, organized by domain
99-
i18n/ # English + German translations
100-
lib/ # Renderer utility hooks
101-
pages/ # One file per route
212+
components/ # UI components by domain
213+
i18n/ # Translation files
214+
pages/ # Route pages
102215
stores/ # Zustand stores
103-
shared/ # Types + IPC channel definitions shared by all processes
216+
shared/ # Shared types and IPC channel contracts
104217
```
105218

106-
---
219+
### Configuration
107220

108-
## Configuration
221+
Copy `.env.example` to `.env` and provide OAuth values:
109222

110-
### Environment variables
111-
112-
Copy `.env.example` to `.env` and fill in the values:
113-
114-
```
223+
```bash
115224
VITE_GITHUB_CLIENT_ID=your-github-oauth-client-id
116225
VITE_GITHUB_CLIENT_SECRET=your-github-oauth-client-secret
117226
```
118227

119-
If `VITE_GITHUB_CLIENT_ID` or `VITE_GITHUB_CLIENT_SECRET` are missing, the Settings Git Sync flow will show an actionable in-app error and GitHub OAuth connect will not start.
228+
If these are missing, GitHub OAuth connect in Settings will not start.
120229

121-
Secrets (API tokens, local credentials) are never stored in `.env` — they go through `electron.safeStorage` or the Windows Credential Manager.
230+
## Tech Stack
122231

123-
---
232+
| Layer | Technology |
233+
| ----- | ---------- |
234+
| Shell | Electron 34+ via electron-vite |
235+
| UI | React 19, TypeScript, Tailwind CSS 4, shadcn/ui |
236+
| State | Zustand |
237+
| Routing | TanStack Router |
238+
| Tables | TanStack Table |
239+
| Forms | React Hook Form + Zod |
240+
| Code editor | Monaco Editor |
241+
| Markdown | @uiw/react-md-editor |
242+
| Database | better-sqlite3 (local SQLite) |
243+
| Secrets | keytar (Windows Credential Manager) |
244+
| Git | isomorphic-git |
245+
| i18n | i18next + react-i18next |
246+
| Packaging | electron-builder (NSIS installer) |
247+
| Auto-update | electron-updater + GitHub Releases |
124248

125249
## License
126250

127-
MIT License — © 2026 Christian Blank.
251+
MIT License - Copyright (c) 2026 Christian Blank.
128252

129253
The following companion packages are MIT-licensed and maintained in separate repositories:
130254

131-
- [`@aidrelay/adapter-spec`](https://github.com/christianblank91/aidrelay-adapter-spec) ClientAdapter interface + format spec
132-
- [`@aidrelay/rules-format`](https://github.com/christianblank91/aidrelay-rules-format) AI rules format specification
133-
- [`@aidrelay/stacks`](https://github.com/christianblank91/aidrelay-stacks) Community rule templates and MCP stacks
255+
- [`@aidrelay/adapter-spec`](https://github.com/christianblank91/aidrelay-adapter-spec) - ClientAdapter interface + format spec
256+
- [`@aidrelay/rules-format`](https://github.com/christianblank91/aidrelay-rules-format) - AI rules format specification
257+
- [`@aidrelay/stacks`](https://github.com/christianblank91/aidrelay-stacks) - Community rule templates and MCP stacks

0 commit comments

Comments
 (0)