Back to skills
SkillHub ClubAnalyze Data & AIFull StackData / AITesting

new-adapter

Add support for a new AI tool with adapters, CLI, completion, and tests.

Packaged view

This page reorganizes the original catalog entry around fit, installability, and workflow context first. The original raw source lives below.

Stars
19
Hot score
87
Updated
March 20, 2026
Overall rating
C1.7
Composite score
1.7
Best-practice grade
B84.0

Install command

npx @skill-hub/cli install lbb00-ai-rules-sync-new-adapter

Repository

lbb00/ai-rules-sync

Skill path: .claude/skills/new-adapter

Add support for a new AI tool with adapters, CLI, completion, and tests.

Open repository

Best for

Primary workflow: Analyze Data & AI.

Technical facets: Full Stack, Data / AI, Testing.

Target audience: everyone.

License: Unknown.

Original source

Catalog source: SkillHub Club.

Repository owner: lbb00.

This is still a mirrored public skill entry. Review the repository before installing into production workflows.

What it helps with

  • Install new-adapter into Claude Code, Codex CLI, Gemini CLI, or OpenCode workflows
  • Review https://github.com/lbb00/ai-rules-sync before adding new-adapter to shared team environments
  • Use new-adapter for development workflows

Works across

Claude CodeCodex CLIGemini CLIOpenCode

Favorites: 0.

Sub-skills: 0.

Aggregator: No.

Original source / Raw SKILL.md

---
name: new-adapter
description: Add support for a new AI tool with adapters, CLI, completion, and tests.
---

# New Adapter

## Instructions

Complete workflow for adding support for a new AI tool to AIS.

### Prerequisites

Before starting, gather this information:
- Tool name (e.g., "windsurf", "mcp")
- Rule/config types supported (e.g., rules, commands, skills)
- Default source directory (e.g., `.windsurf/rules/`)
- Target directory (usually same as source)
- File mode: `file` or `directory`

### Steps

#### 1. Create Adapter File

Create `src/adapters/<tool>-<type>.ts`:

```typescript
import { createBaseAdapter } from './base.js';

export const myToolAdapter = createBaseAdapter({
  name: '<tool>-<type>',
  tool: '<tool>',
  subtype: '<type>',
  configPath: ['<tool>', '<type>'],
  defaultSourceDir: '.<tool>/<type>',
  targetDir: '.<tool>/<type>',
  mode: 'directory', // or 'file'
});
```

#### 2. Register Adapter

In `src/adapters/index.ts`:
- Import the new adapter
- Register in `DefaultAdapterRegistry` constructor

#### 3. Update Project Config

In `src/project-config.ts`:
- Add tool section to `ProjectConfig` interface
- Add tool to `SourceDirConfig` interface if needed

#### 4. Wire CLI Commands

In `src/cli/register.ts`:
- Add tool subcommand group
- Register add/remove/install/import commands

#### 5. Update Completion

In `src/completion.ts`:
- Add tool to completion types
- Add subtype completions

In `src/completion/scripts.ts`:
- Update bash/zsh/fish completion scripts

#### 6. Add Tests

Create `src/__tests__/<tool>-<type>.test.ts`:
- Test adapter properties
- Test add/remove operations
- Test config path resolution

#### 7. Update Documentation

- README.md: Add to supported sync types table
- README_ZH.md: Sync changes (use `/sync-readme`)
- CLAUDE.md: Update if architectural changes

#### 8. Verify

```bash
# Build
npm run build

# Run tests
npm test

# Test manually
node dist/index.js <tool> <type> add <name>
node dist/index.js <tool> <type> remove <name>
```

### Checklist

- [ ] Adapter file created
- [ ] Adapter registered
- [ ] ProjectConfig updated
- [ ] CLI commands wired
- [ ] Completion updated
- [ ] Tests written and passing
- [ ] README.md updated
- [ ] README_ZH.md synced
- [ ] Manual testing complete

## Examples

Request: Add support for a new AI tool with rules and skills
Result: Complete adapter implementation with tests passing
new-adapter | SkillHub