AI Coding Tools

FlyDocs integrates with Cursor, Claude Code, Warp, Codex, and Windsurf through installed files and the AGENTS.md cross-platform standard.

FlyDocs integrates at the IDE level through installed files: skills, hooks, commands, and agent definitions. All tools read the same context and follow the same methodology. The difference is where the configuration lives and how deep the integration goes.

Integration Depth

Platform Config Location Depth
Cursor .cursor/ Generated rules, agents, commands
Claude Code .claude/ Full: skills, hooks, commands, agents
Warp AGENTS.md Context and workflow, limited hooks
Codex AGENTS.md Context and workflow, limited hooks
Windsurf AGENTS.md Context and workflow, limited hooks
Other agents AGENTS.md Compatibility mode for any tool that reads AGENTS.md (e.g. GitHub Copilot)

FlyDocs generates configs for all supported tools simultaneously during setup. Same context, same skills, different config formats. A team using mixed tools still follows one process.


Claude Code

Claude Code is the primary development target and gets the deepest integration. Everything lives in the .claude/ directory.

Directory structure

Project Root
.claude/
├── skills/                    # Active and passive skills
│   ├── flydocs-workflow/      # Lifecycle methodology
│   ├── flydocs-cloud/         # PM integration scripts
│   ├── typescript-strict/     # Stack-specific patterns
│   └── testing-patterns/      # Test conventions
├── settings.json              # Hook configuration
├── commands/                  # Slash commands (/capture, /implement, etc.)
│   ├── capture.md
│   ├── implement.md
│   └── review.md
└── agents/                    # Sub-agent definitions
AGENTS.md                      # Cross-platform manifest

Hook support

Claude Code supports all 7 FlyDocs hooks across 5 event types. Hooks are deterministic scripts that fire on specific events. The AI cannot override them.

Event Type When It Fires FlyDocs Use
UserPromptSubmit Before processing a prompt Context injection, session state enforcement
PreToolUse Before a tool call Auto-approve safe scripts, block dangerous operations
PostToolUse After a tool call Auto-formatting, transition validation, PR checks
Stop When the agent finishes Lifecycle gate: blocks incomplete work
SessionStart New session begins Continuity context injection

Auto-approve security model

The PreToolUse hook uses anchored regex patterns to auto-approve known-safe script executions. FlyDocs dispatcher scripts (issues.py, workspace.py, etc.) are approved automatically so the AI can run them without prompting you for each call. Everything else follows normal approval rules.

Slash commands

Commands in .claude/commands/ map directly to workflow stages. Invoke /implement ENG-123 and the AI reads the issue spec, creates a branch, builds incrementally, and transitions to Review when done. Each command is a markdown template that references skills for detailed procedures.


Cursor

Cursor receives generated configuration in the .cursor/ directory. Rules are derived from the same skill content that powers Claude Code, converted into Cursor's .mdc format.

What gets generated

Path Purpose
.cursor/rules/*.mdc Workspace rules loaded automatically by Cursor
.cursor/agents/*.md Custom agent definitions with specialized roles
.cursor/commands/*.md Command files for workflow stages
.cursor/hooks.json Hook registration for supported events

Rules from skills

FlyDocs converts skill content into Cursor rules during setup. Always-applied rules cover workflow methodology and project-wide standards. Contextual rules activate when relevant files are touched, for example a TypeScript rule loads only when editing .ts files.

.cursor/rules/flydocs-workflow.mdc
# FlyDocs Workflow

## Golden Rules

1. Every status transition gets a comment — no silent moves
2. Assignment required before In Progress
3. Checkboxes live in issue description, never comments
4. Use mechanism scripts for all issue operations
5. Session wrap posts a project update

## Lifecycle

Capture → Refine → Activate → Implement → Review → Validate → Close

You do not maintain Cursor rules by hand. Updating the source skills and running flydocs update --here regenerates all platform configs.


AGENTS.md tools (Warp, Codex, Windsurf)

Warp, Codex, and Windsurf all read the AGENTS.md file at the project root. This cross-platform standard provides the skill manifest, workflow context, and project instructions. They share the same methodology with limited hook support compared to Claude Code.

What they read

  • AGENTS.md: skill index, golden rules, workflow lifecycle, output formatting
  • Project context: flydocs/context/project.md for stack and priorities
  • Skills on demand: referenced by the manifest, loaded when triggers match

The methodology and workflow stages are fully available. Enforcement is softer than Claude Code because these tools have limited hook support, so constraints are expressed as rules rather than deterministic gates.


Other agents

Any AI coding tool that reads AGENTS.md works in compatibility mode — including GitHub Copilot. Setup also writes a .github/copilot-instructions.md file derived from the same manifest, so Copilot picks up the workflow context automatically. Hook-level enforcement is not available in this mode, so integration relies on instructions and context rather than deterministic gates.


Cross-Platform Config Generation

FlyDocs generates configs for all supported tools simultaneously. The Claude Code configuration in .claude/ is the primary source. All other platform configs are derived from it.

Generated config mapping
Source: .claude/skills/, .claude/commands/, .claude/settings.json
  ├── .cursor/rules/*.mdc        (Cursor rules from skills)
  ├── .cursor/agents/*.md        (Cursor agents)
  ├── .cursor/commands/*.md      (Cursor commands)
  ├── AGENTS.md                  (Warp, Codex, Windsurf, and other agents)
  └── .github/copilot-instructions.md  (GitHub Copilot, derived from AGENTS.md)

This means one update to a skill definition propagates to every platform on the next flydocs update --here. No manual sync needed.


Next