Folio Assistant Core
🔀 FEATURE BRANCH — loading build details…
folio-assistant API (staging: claude-workflow-steps-accounted)
    Preparing search index...

    Interface PackageManifest

    Package manifest declaring all runtime requirements for a skill package.

    The Docker image build process reads these manifests to generate an aggregate Dockerfile layer that satisfies all active packages.

    const manifest: PackageManifest = {
    packageId: "local",
    name: "authoring-math",
    description: "Formal math authoring (Lean 4 + LaTeX)",
    baseImage: "ubuntu:24.04",
    apt: [
    { package: "texlive-full", reason: "LaTeX rendering" },
    { package: "ripgrep", reason: "Lean MCP search" },
    ],
    installers: [
    { name: "elan", binary: "elan",
    installCommand: "curl -sSf .../elan-init.sh | sh -s -- -y",
    reason: "Lean toolchain manager" },
    ],
    };
    interface PackageManifest {
    apt?: AptDependency[];
    architectures?: ("amd64" | "arm64")[];
    baseImage: string;
    description: string;
    envVars?: {
    default?: string;
    description: string;
    name: string;
    required: boolean;
    }[];
    exposedPorts?: { port: number; protocol: "tcp"
    | "udp"; service: string }[];
    healthcheck?: {
    interval?: string;
    retries?: number;
    test: string[];
    timeout?: string;
    };
    installers?: InstallerDependency[];
    name: string;
    node?: NodeDependency[];
    ociAnnotations?: {
    "org.opencontainers.image.authors"?: string;
    "org.opencontainers.image.description"?: string;
    "org.opencontainers.image.licenses"?: string;
    "org.opencontainers.image.source"?: string;
    "org.opencontainers.image.title"?: string;
    "org.opencontainers.image.url"?: string;
    [key: string]: string
    | undefined;
    };
    packageId: string;
    python?: PythonDependency[];
    }
    Index

    APT packages (Ubuntu/Debian).

    architectures?: ("amd64" | "arm64")[]

    Target CPU architecture(s).

    baseImage: string

    Base Docker image. Ubuntu LTS only.

    "ubuntu:24.04"
    
    description: string

    What this package provides.

    envVars?: {
    default?: string;
    description: string;
    name: string;
    required: boolean;
    }[]

    Environment variables required at runtime.

    exposedPorts?: { port: number; protocol: "tcp" | "udp"; service: string }[]

    Ports exposed by services in this package.

    healthcheck?: {
    interval?: string;
    retries?: number;
    test: string[];
    timeout?: string;
    }

    OCI-compatible healthcheck.

    installers?: InstallerDependency[]

    Tools installed via custom scripts/curl.

    name: string

    Human-readable name (e.g., "authoring-math", "authoring-who-smart-guidelines").

    Node/Bun packages.

    ociAnnotations?: {
    "org.opencontainers.image.authors"?: string;
    "org.opencontainers.image.description"?: string;
    "org.opencontainers.image.licenses"?: string;
    "org.opencontainers.image.source"?: string;
    "org.opencontainers.image.title"?: string;
    "org.opencontainers.image.url"?: string;
    [key: string]: string | undefined;
    }

    OCI image annotations.

    packageId: string

    Package identifier matching skills-config.json name or "local".

    python?: PythonDependency[]

    Python packages (installed via uv/pip).