Skip to content

Claude Code plugin for developing with Fedify #489

@dahlia

Description

@dahlia

Summary

Create a Claude Code plugin to help developers build ActivityPub servers with Fedify. The plugin would provide slash commands, agent skills, and documentation references that make it easier to work with Fedify in Claude Code.

Problem

Fedify is a comprehensive framework with many concepts to learn—actors, inboxes, outboxes, WebFinger, HTTP Signatures, Object Integrity Proofs, and more. Building ActivityPub servers also requires understanding the underlying W3C specifications and community conventions (FEPs). Developers using Claude Code to build Fedify applications would benefit from:

  • Context-aware assistance that understands Fedify's APIs and patterns
  • Quick access to up-to-date documentation
  • Knowledge of ActivityPub, Activity Streams, and Activity Vocabulary specs
  • Awareness of relevant FEPs for interoperability
  • Code generation for common patterns (actor setup, inbox handlers, etc.)
  • Guidance on best practices and security considerations

Currently, Claude Code has no specialized knowledge of Fedify or the fediverse ecosystem, so developers must manually provide context or rely on general knowledge that may not align with Fedify's specific APIs or current best practices.

Proposed solution

Create a plugin repository at fedify-dev/claude-code that users can install via:

/plugin marketplace add fedify-dev/claude-code

Plugin components

1. Agent Skills

A skill that teaches Claude how to build federated applications with Fedify. The skill would reference the existing llms.txt and llms-full.txt files to always have access to current documentation.

See Claude Code Skills documentation for the skill format.

2. Slash commands

Convenience commands for common tasks:

  • /fedify docs <topic> — Fetch relevant documentation
  • /fedify actor — Generate actor implementation boilerplate
  • /fedify inbox — Generate inbox handler boilerplate
  • /fedify migration — Help with version migration (e.g., 1.x → 2.x)
  • /fedify fep <fep-id> — Look up a specific FEP (e.g., /fedify fep 8fcf)

3. Specialized agents (optional)

  • fedify-reviewer — Review Fedify code for best practices and security issues
  • fedify-debugger — Help debug federation issues

Repository structure

fedify-dev/claude-code/
├── .claude-plugin/
│   ├── plugin.json
│   └── marketplace.json
├── skills/
│   └── developing-with-fedify/
│       └── SKILL.md
├── commands/
│   ├── docs.md
│   ├── actor.md
│   ├── inbox.md
│   └── migration.md
├── agents/
│   ├── fedify-reviewer.md
│   └── fedify-debugger.md
└── README.md

See Claude Code Plugins documentation for the full plugin specification.

Key design decisions

Leverage existing documentation infrastructure

Rather than duplicating documentation in the plugin, the skill should fetch from https://fedify.dev/llms.txt (or llms-full.txt for detailed information). This ensures:

  • Documentation stays in sync automatically
  • No maintenance burden for keeping plugin docs updated
  • Single source of truth

Reference underlying standards

Fedify development often requires understanding the underlying specifications. The plugin should also be able to reference:

This allows Claude to provide guidance not just on “how to do X in Fedify” but also “why ActivityPub works this way” or “what does FEP-8fcf recommend for this scenario.”

Minimal footprint

The plugin should be lightweight, providing just enough context for Claude to understand when and how to help with Fedify development, then dynamically loading detailed information as needed.

Distribution

The plugin would be distributed as a Claude Code marketplace, allowing easy discovery and installation.

Alternatives considered

  1. MCP server approach — Could create an MCP server that provides Fedify tooling, but a plugin is simpler and sufficient for documentation/code generation use cases.

  2. Include full documentation in plugin — Would make the plugin large and require constant updates. Using llms.txt is more maintainable.

  3. Contribute to a community marketplace — Could submit to existing marketplaces, but having an official fedify-dev plugin establishes authority and ensures quality.

Scope / Dependencies

  • New repository: fedify-dev/claude-code
  • Depends on existing llms.txt infrastructure on fedify.dev
  • No changes required to the main Fedify framework
  • Should be created after Fedify 2.0 stabilizes to avoid documenting deprecated APIs

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions