id = "forgecode"
name = "ForgeCode"
homepage = "https://forgecode.dev/docs/forgecode-config/"
description = "AI-enhanced terminal development environment"
executables = ["forge"]
[dotfiles]
paths = [
"~/.forge/.forge.toml",
"~/forge/.forge.toml",
"%USERPROFILE%/forge/.forge.toml",
]
secret = []
[commands]
format = 1
label = "Run ForgeCode"
description = "Start an interactive ForgeCode session or run a single prompt and exit. Event dispatch, conversation files and the other subcommands are left out."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false }
[[commands.source]]
id = "readme"
kind = "manual"
url = "https://github.com/antinomyhq/forge#command-line-options"
revision = "2026-10-27"
evidence = """
| `-p, --prompt <PROMPT>` | Direct prompt to process without entering interactive mode |
| `--conversation-id <ID>` | Resume or continue an existing conversation by ID |
| `--agent <AGENT>` | Agent ID to use for this session |
| `-C, --directory <DIR>` | Change to this directory before starting |
| `--sandbox <NAME>` | Create an isolated git worktree + branch for safe experimentation |
| `--verbose` | Enable verbose logging output |
"""
[[commands.field]]
id = "prompt"
label = "Prompt"
description = "Run this prompt once and exit; leave empty for the interactive session."
type = "string"
option = ["--prompt", "-p"]
sources = ["readme"]
[[commands.field]]
id = "directory"
label = "Working directory"
type = "path"
path = { kind = "directory", role = "input" }
option = ["--directory", "-C"]
sources = ["readme"]
[[commands.field]]
id = "agent"
label = "Agent ID"
type = "string"
option = ["--agent"]
sources = ["readme"]
[[commands.field]]
id = "conversation_id"
label = "Resume conversation"
description = "ID of a saved conversation to continue."
type = "string"
option = ["--conversation-id"]
sources = ["readme"]
[[commands.field]]
id = "sandbox"
label = "Sandbox name"
description = "Create an isolated git worktree and branch with this name, then start there."
type = "string"
option = ["--sandbox"]
sources = ["readme"]
[[commands.field]]
id = "verbose"
label = "Verbose logging"
type = "boolean"
option = ["--verbose"]
sources = ["readme"]
[[commands.task]]
id = "interactive"
label = "Interactive session"
fields = ["directory"]
[[commands.task]]
id = "one_shot"
label = "One-shot prompt"
fields = ["prompt", "directory"]
required = ["prompt"]
[[commands.task]]
id = "sandboxed"
label = "Isolated worktree session"
fields = ["sandbox", "directory"]
required = ["sandbox"]
[[commands.group]]
id = "basic"
label = "Basic"
fields = ["prompt", "directory", "agent"]
[[commands.group]]
id = "advanced"
label = "Advanced"
fields = ["conversation_id", "sandbox", "verbose"]