id = "ccache"
name = "ccache"
homepage = "https://ccache.dev"
description = "ccache is a compiler cache that speeds up recompilation."
icon = "SimpleIcons:ccache"
executables = ["ccache"]
[dotfiles]
paths = [
"~/.ccache/ccache.conf",
"[preferences]/ccache/ccache.conf",
"~/.config/ccache/ccache.conf",
"%LOCALAPPDATA%/ccache/ccache.conf",
]
secret = []
side_effect = false
[commands]
format = 1
label = "Manage the cache"
description = "Show or reset ccache statistics, clean or clear the cache and set its size limits. Compiler-wrapper use and remote storage options are left out."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false }
[[commands.source]]
id = "manual"
kind = "manual"
url = "https://github.com/ccache/ccache/blob/master/doc/manual.adoc"
revision = "2026-10-27"
evidence = """
*-c*, *--cleanup*::
*-C*, *--clear*::
*-d*, *--dir* _PATH_::
*-F* _NUM_, *--max-files* _NUM_::
*-M* _SIZE_, *--max-size* _SIZE_::
*-p*, *--show-config*::
*-s*, *--show-stats*::
*-v*, *--verbose*::
*-z*, *--zero-stats*::
*--evict-older-than* _AGE_::
*--dry-run*::
"""
[[commands.field]]
id = "show_stats"
label = "Show statistics"
type = "boolean"
option = ["--show-stats", "-s"]
sources = ["manual"]
[[commands.field]]
id = "show_config"
label = "Show configuration"
type = "boolean"
option = ["--show-config", "-p"]
sources = ["manual"]
[[commands.field]]
id = "zero_stats"
label = "Zero statistics"
type = "boolean"
option = ["--zero-stats", "-z"]
effect = "overwrite"
sources = ["manual"]
[[commands.field]]
id = "cleanup"
label = "Clean up cache"
type = "boolean"
option = ["--cleanup", "-c"]
sources = ["manual"]
[[commands.field]]
id = "clear"
label = "Clear entire cache"
type = "boolean"
option = ["--clear", "-C"]
effect = "delete"
sources = ["manual"]
[[commands.field]]
id = "evict_older_than"
label = "Evict files older than"
description = "Unsigned integer with a d (days) or s (seconds) suffix."
type = "string"
option = ["--evict-older-than"]
effect = "delete"
sources = ["manual"]
[[commands.field]]
id = "max_size"
label = "Maximum cache size"
description = "Number with optional suffix kB, MB, GB, TB, KiB, MiB, GiB or TiB; 0 for no limit."
type = "string"
option = ["--max-size", "-M"]
sources = ["manual"]
[[commands.field]]
id = "max_files"
label = "Maximum file count"
description = "0 for no limit."
type = "integer"
option = ["--max-files", "-F"]
sources = ["manual"]
[[commands.field]]
id = "dir"
label = "Cache directory"
type = "path"
option = ["--dir", "-d"]
path = { kind = "directory", role = "input" }
sources = ["manual"]
[[commands.field]]
id = "dry_run"
label = "Dry run"
type = "boolean"
option = ["--dry-run"]
sources = ["manual"]
[[commands.field]]
id = "verbose"
label = "Verbose"
type = "count"
option = ["--verbose", "-v"]
sources = ["manual"]
[[commands.task]]
id = "stats"
label = "Show statistics"
fields = ["show_stats", "verbose", "dir"]
required = ["show_stats"]
set = { show_stats = [true] }
[[commands.task]]
id = "limit"
label = "Set size limit"
fields = ["max_size", "max_files", "dir"]
required = ["max_size"]
[[commands.group]]
id = "basic"
label = "Basic"
fields = ["show_stats", "show_config", "zero_stats", "max_size", "max_files", "dir"]
[[commands.group]]
id = "advanced"
label = "Advanced"
fields = ["cleanup", "clear", "evict_older_than", "dry_run", "verbose"]