@a16njs/plugin-claude
v0.9.0
Published
Claude Code plugin for a16n
Downloads
1,027
Maintainers
Readme
@a16njs/plugin-claude
Claude Code plugin for a16n. Discovers and emits Claude configuration.
Installation
This plugin is bundled with the a16n CLI. For programmatic use:
npm install @a16njs/plugin-claudeSupported Types
This plugin supports five customization types:
| Type | Claude Format | Description |
|------|---------------|-------------|
| GlobalPrompt | .claude/rules/*.md | Always-active instructions |
| FileRule | .claude/rules/*.md with paths: frontmatter | Glob-triggered via native paths |
| SimpleAgentSkill | .claude/skills/*/SKILL.md | Description-triggered skills |
| AgentIgnore | .claude/settings.json permissions.deny | Files to exclude |
| AgentCommand | Emitted only | Cursor commands become skills |
Note: Claude has no dedicated command concept. AgentCommands from Cursor are emitted as skills with a description enabling
/command-nameinvocation. The Claude plugin never discovers AgentCommands—conversion is one-way (Cursor → Claude only).
Supported Files
Discovery
CLAUDE.md- Root Claude configuration (GlobalPrompt)*/CLAUDE.md- Nested Claude configuration files (GlobalPrompt).claude/rules/*.md- Native Claude rules (GlobalPrompt if nopaths:, FileRule ifpaths:present).claude/skills/*/SKILL.md- Skills with description frontmatter (SimpleAgentSkill).claude/settings.json- Permissions deny rules (AgentIgnore)
Note: Skills with
hooks:in their frontmatter are skipped (not convertible to Cursor). Note: OnlyRead()permission denials are discovered (other types likeBash()orEdit()are ignored).
Emission
- GlobalPrompt →
.claude/rules/<name>.md(individual files) - FileRule →
.claude/rules/<name>.mdwithpaths:YAML frontmatter - SimpleAgentSkill →
.claude/skills/<name>/SKILL.mdwith description frontmatter - AgentIgnore →
.claude/settings.jsonwithpermissions.denyRead rules - AgentCommand →
.claude/skills/<commandName>/SKILL.mdwithInvoke with /commanddescription
File Formats
.claude/rules/*.md (GlobalPrompt)
Rules without paths: frontmatter apply to all files:
## From: .cursor/rules/general.mdc
Your instructions for Claude here..claude/rules/*.md (FileRule)
Rules with paths: frontmatter apply only when working with matching files:
---
paths:
- "**/*.tsx"
- "**/*.jsx"
---
## From: .cursor/rules/react.mdc
Use functional components with hooks.SKILL.md (SimpleAgentSkill)
---
description: Testing best practices
---
Write unit tests first.
Aim for 80% code coverage.Usage
import claudePlugin from '@a16njs/plugin-claude';
import { A16nEngine } from '@a16njs/engine';
const engine = new A16nEngine([claudePlugin]);
// Discover Claude configuration
const result = await claudePlugin.discover('./my-project');
console.log(`Found ${result.items.length} items`);
// Emit to Claude format
await claudePlugin.emit(result.items, './my-project');Documentation
Full documentation available at https://texarkanine.github.io/a16n/plugin-claude.
