Class AgentDocsPublishPlugin

java.lang.Object
io.github.duckasteroid.agentdocs.publish.AgentDocsPublishPlugin
All Implemented Interfaces:
org.gradle.api.Plugin<org.gradle.api.Project>

public class AgentDocsPublishPlugin extends Object implements org.gradle.api.Plugin<org.gradle.api.Project>
Registers publish-side tasks that validate and package docs into an agent-docs sidecar zip.

Validation enforces the Agent Skills contract for the docs root: one SKILL.md entrypoint, required description frontmatter, warning-level handling for publisher name frontmatter, and standard folder shape for scripts, references, and assets when present.

During packaging, the publisher removes any frontmatter name field from sidecar SKILL.md because resolver-generated G__A__V naming is authoritative.

When maven-publish is present, the packaged archive is attached to every MavenPublication with classifier agent-docs.

For java-gradle-plugin projects, the docs directory is always treated as a parent of one bundle subdirectory per id declared via gradlePlugin { plugins { ... } } - never a single bundle in its own right, even when only one id is declared - so that a jar registering several plugin ids can carry a distinct agent docs bundle per id (agent-docs/<pluginId>/SKILL.md) rather than being limited to one. This is scoped to binary Gradle plugins only; see AppliedPluginCollector on the resolve side for how each applied plugin's own bundle is discovered from a jar that may declare several.

  • Constructor Details

    • AgentDocsPublishPlugin

      public AgentDocsPublishPlugin()
  • Method Details

    • apply

      public void apply(org.gradle.api.Project project)
      Specified by:
      apply in interface org.gradle.api.Plugin<org.gradle.api.Project>