vigiles API reference
    Preparing search index...

    Interface PluginLayout

    PluginLayout — the plugin/repo LAYOUT port (hexagonal format axis, the filesystem half). A harness's plugin layout is where its instruction file, skills, subagents, commands, hooks and settings live on disk, plus the env token expanded to the plugin root. The loader (loadPlugin) reads those from this descriptor instead of hard-coding Claude Code's .claude-plugin/ / .claude/ conventions, so a second harness (Codex) supplies its own PluginLayout and reuses the same loader.

    Paths are repo-relative (POSIX-style, join-friendly). The Claude Code implementation is claudeCodeLayout in src/adapters/claude-code/layout.ts.

    interface PluginLayout {
        agentDir: string;
        commandDir: string;
        hooksConventionPath: string;
        instructionFile: string;
        intraRefDirs: readonly string[];
        manifestPath: string;
        materializeRoot: string;
        mcpConfigFile: string;
        mcpManifestKey: string;
        name: string;
        pluginRootToken: string;
        settingsFormat: "json" | "toml";
        settingsPath: string;
        skillDir: string;
        surfaceDirs: readonly string[];
    }
    Index

    Properties

    agentDir: string

    Subagents dir, holding flat <dir>/<name>.md, e.g. agents ("" = none).

    commandDir: string

    Slash-commands dir, holding flat <dir>/<name>.md, e.g. commands.

    hooksConventionPath: string

    Convention path for a standalone hooks file, e.g. hooks/hooks.json.

    instructionFile: string

    Top-level instruction file, e.g. CLAUDE.md.

    intraRefDirs: readonly string[]

    Dirs scanned for dangling intra-plugin file references.

    manifestPath: string

    Plugin manifest, e.g. .claude-plugin/plugin.json.

    materializeRoot: string

    Dir the surfaces are materialized under, e.g. .claude.

    mcpConfigFile: string

    Standalone MCP config file, e.g. .mcp.json.

    mcpManifestKey: string

    Manifest key declaring MCP servers, e.g. mcpServers.

    name: string

    Stable identifier, e.g. "claude-code".

    pluginRootToken: string

    Env token expanded to the plugin's absolute root in hook commands.

    settingsFormat: "json" | "toml"

    How the settings file is encoded — "json" (Claude Code's settings.json) or "toml" (Codex's config.toml [hooks]). The loader dispatches a parser on it, so a TOML-configured harness's hooks aren't silently read as zero.

    settingsPath: string

    Repo settings carrying hooks, e.g. .claude/settings.json or .codex/config.toml.

    skillDir: string

    Skills dir, holding the nested <dir>/<name>/SKILL.md, e.g. skills.

    surfaceDirs: readonly string[]

    Surface dirs materialized into the sandbox, e.g. skills/agents/commands.