Configuration Reference

This page collects every plugin-related option in one place. Each field is annotated with its default and effect.

Configuration Reference

Full config.yaml reference for the plugin system:

plugins:
  # Enable plugin loading (default: false)
  # When false, no plugins are loaded and no WASM overhead is incurred
  enabled: true

  # Path to plugins directory (default: ./plugins)
  # Each subdirectory should contain plugin.toml and plugin.wasm
  directory: ./plugins

  # Plugin registry URL for `accent plugin install` (default shown below)
  # Points to a GitHub-hosted registry with registry.json and version manifests
  registry_url: https://raw.githubusercontent.com/accentcms/plugin-registry/main

  # Maximum WASM instructions per plugin call (default: none = unlimited)
  # Prevents runaway plugins from blocking the server
  fuel_limit: 1000000

  # Wasmtime compilation cache directory (default: none = disabled)
  # Caches compiled modules on disk for faster startup
  compilation_cache: .cache/plugins

  # AOT pre-compile plugins at load time (default: false)
  # Trades slower startup for faster first-call latency
  precompile: true

  # WASI filesystem paths for plugins that declare requires_fs (default: none)
  # Keys are virtual paths inside the component; values are host paths
  # Prefix host paths with "ro:" for read-only access
  allowed_paths:
    /content: "ro:./content"
    /media: "ro:./media"
    /data: ./data

The public plugin registry (github.com/AccentCMS/plugin-registry) is live but does not list plugins yet. You can also point registry_url at your own registry following the same layout.

The fuel_limit, compilation_cache, precompile, and allowed_paths options are explained in detail in the Security chapter.

Next Steps