{"name":{"finding":["ForgeCode; its command-line executable is forge."],"quote":["Forge: AI-Enhanced Terminal Development Environment"],"url":["https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/README.md"],"third_party":[false]},"repo":{"finding":["Official repository https://github.com/tailcallhq/forgecode; default branch main.","Default branch is main."],"quote":["\"full_name\":\"tailcallhq/forgecode\"","\"default_branch\":\"main\""],"url":["https://api.github.com/repos/tailcallhq/forgecode","https://api.github.com/repos/tailcallhq/forgecode"],"third_party":[false,false]},"docs":{"finding":["Official docs entry https://forgecode.dev/docs/ currently returns HTTP 404 (GitHub Pages Page not found)."],"quote":["Page not found &middot; GitHub Pages"],"url":["https://forgecode.dev/docs/"],"third_party":[false]},"headless":{"finding":["One prompt: forge -C /path/to/project -p \"<prompt>\"; -p/--prompt runs it then exits, and forge can modify files.","-C/--directory selects the working directory.","Piped stdin is accepted as prompt; a text prompt file can be fed as cat prompt.txt | forge -C /path/to/project. No separate prompt-file flag appears in the CLI definition.","--conversation takes a JSON conversation file, not a plain prompt file.","Credential setup may require interactive provider login before an unattended run.","Explicit main error and panic paths exit with status 1.","Agent/UI errors are caught and printed by UI::run instead of being returned. Inference from this and main returning Ok after ui.run: a failed one-prompt run can exit 0; no reliable agent-failure exit-code contract was found.","main awaits UI::run and returns Ok after it, supporting the exit-status inference.","Approval selections are not auto-accepted without a terminal: the selector returns None when stderr is not a TTY.","A None response to a permission confirmation is rejected. Thus unattended runs need explicit allow/deny policy; confirm rules do not silently approve."],"quote":["Pass `-p` (or `--prompt`) to run a single prompt and exit.","#[arg(long, short = 'C')]\n    pub directory: Option<PathBuf>","Content can also be piped: `cat prompt.txt |","Path to a JSON file containing the conversation to execute.","On first run, Forge will guide you through setting up your AI provider credentials using the interactive login flow.","std::process::exit(1);","pub async fn run(&mut self) {\n        match self.run_inner().await {","ui.run().await;\n\n    Ok(())","if !std::io::stderr().is_terminal() {\n            return Ok(None);","Some(PolicyPermission::Reject) | None => {\n                        Ok(PolicyDecision { allowed: false, path })"],"url":["https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/README.md","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_main/src/cli.rs","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_main/src/cli.rs","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_main/src/cli.rs","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/README.md","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_main/src/main.rs","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_main/src/ui.rs","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_main/src/main.rs","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_select/src/select.rs","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_services/src/policy.rs"],"third_party":[false,false,false,false,false,false,false,false,false,false]},"confinement":{"finding":["Restricted policy enforcement is off in the embedded default configuration; set restricted = true in .forge.toml to gate built-in tool calls.","The policy has allow, deny and confirm permission modes.","Rules match file read, file write, shell command, or fetch URL patterns, optionally scoped with dir globs.","A missing policy file is initialized from an allow-all default for read, write, command and URL, so merely enabling restricted mode is insufficient.","When no rule matches, the engine defaults to Confirm rather than an automatic deny.","Tool permission checks happen only for built-in ToolCatalog calls; task delegation is handled earlier and MCP calls in a separate branch. This is a policy layer, not a complete OS boundary (inference from dispatch order).","The built-in forge agent includes shell, fetch, file-writing and mcp_* tools by default; agent tool lists can filter advertised/allowed tools.","Tool lists are checked against glob patterns for each agent.","tool_supported = false disables all tool calls; it also prevents the file writes needed by a coding worker.","--sandbox creates a git worktree and branch; it is not evidence of Docker, seatbelt, gVisor, bubblewrap, filesystem or network isolation.","A URL deny rule can stop the built-in fetch tool, but it does not switch off process networking or shell/MCP access. No global offline/network-disable CLI flag or OS sandbox was found in checked sources."],"quote":["restricted = false","Allow,\n    /// Deny the operation without asking\n    Deny,\n    /// Confirm with the user before allowing\n    Confirm,","pub enum Rule {","command: \"*\"","last_allow.unwrap_or(Permission::Confirm)","if is_restricted && self.check_tool_permission(&tool_input, context).await?","  - shell\n  - fetch\n  - skill","Self::is_allowed_pattern(&patterns, normalized_tool_name)","Whether tool use is supported in the current environment; when false,\n    /// all tool calls are disabled.","Create an isolated git worktree + branch, then start there","} else if self.mcp_executor.contains_tool(&input.name).await? {"],"url":["https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_config/.forge.toml","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_domain/src/policies/types.rs","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_domain/src/policies/rule.rs","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_services/src/permissions.default.yaml","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_domain/src/policies/engine.rs","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_app/src/tool_registry.rs","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_repo/src/agents/forge.md","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_app/src/tool_resolver.rs","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_config/src/config.rs","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/README.md","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_app/src/tool_registry.rs"],"third_party":[false,false,false,false,false,false,false,false,false,false,false]},"token_reporting":{"finding":["forge conversation stats <id> --porcelain prints machine-friendly text keys for prompt, completion and total tokens, plus cost when available.","Stats uses conversation.usage(), which selects the last message usage, while its Cost uses accumulated_cost; stats token counts are not guaranteed run totals.","The conversation info/usage view can show accumulated input, cached and output tokens and cost as text.","Usage is stored per message with prompt_tokens, completion_tokens, total_tokens, cached_tokens and optional cost; no separate reasoning token field exists in this struct.","forge conversation dump <id> writes a timestamped JSON dump containing conversation and related conversations.","The JSON conversation serializes optional usage on each message; a metering wrapper can sum it, and include related conversations for child-agent cost.","A worker can pass --conversation-id <UUID> to identify its run, then query or dump that conversation afterward."],"quote":["Prompt Tokens\", usage.prompt_tokens.to_string()","flat_map(|msg| msg.usage.into_iter())\n            .last()","\"Cached Tokens\", cached_display","pub cached_tokens: TokenCount,\n    pub cost: Option<f64>,","let path = format!(\"{timestamp}-dump.json\");","pub usage: Option<Usage>,","Conversation ID to use for this session."],"url":["https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_main/src/ui.rs","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_domain/src/conversation.rs","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_main/src/info.rs","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_domain/src/message.rs","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_main/src/ui.rs","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_domain/src/context.rs","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_main/src/cli.rs"],"third_party":[false,false,false,false,false,false,false]},"parallelism":{"finding":["Subagents are supported through the task tool. Embedded defaults set subagents = true; setting it false removes task from forge.","Setting subagents=false removes the forge task tool.","One task call can launch multiple subagent tasks concurrently using join_all; agent_id and optional session_id select/resume the child.","Custom agents can be defined in .forge/agents/*.md with front matter for models/tools; the repository states project agents override global agents.","Separate conversations have IDs, and the SQLite store is configured with WAL and busy_timeout for concurrency. No official promise or maximum for simultaneous top-level CLI sessions was found."],"quote":["subagents = true","if config.subagents {","let outputs = join_all(task_input.tasks.into_iter().map(|task| {","Place a `.md` file with YAML front-matter in `.forge/agents/` (project)","PRAGMA journal_mode = WAL;"],"url":["https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_config/.forge.toml","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_repo/src/agent.rs","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_app/src/tool_registry.rs","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/README.md","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_repo/src/database/pool.rs"],"third_party":[false,false,false,false,false]},"providers":{"finding":["Official catalog lists 48 provider IDs: forge, deepseek, github_copilot, open_router, requesty, vivgrid, xai, openai, openai_compatible, kimi_coding, moonshot, openai_responses_compatible, anthropic, claude_code, anthropic_compatible, cerebras, neuralwatt, zai, zai_coding, big_model, vertex_ai, azure, llama_cpp, vllm, jan_ai, ollama, lm_studio, forge_services, io_intelligence, bedrock, vertex_ai_anthropic, google_ai_studio, minimax, codex, opencode_zen, opencode_go, alibaba_coding, alibaba_token_plan, novita, fireworks-ai, fireworks-ai-firepass, modal, adal, xiaomi_mimo, nvidia, ambient, orca_router, meta.","OpenAI-compatible, OpenAI Responses-compatible and Anthropic-compatible custom endpoints are catalogued.","Local backends listed are llama.cpp, vLLM, Jan AI, Ollama and LM Studio.","Local backends use configurable host/port URLs (example: Ollama)."],"quote":["\"id\": \"github_copilot\"","\"id\": \"openai_compatible\"","\"id\": \"ollama\"","\"url\": \"{{OLLAMA_SSL_SCHEME}}://{{OLLAMA_HOST}}:{{OLLAMA_PORT}}/v1/chat/completions\""],"url":["https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_repo/src/provider/provider.json","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_repo/src/provider/provider.json","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_repo/src/provider/provider.json","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_repo/src/provider/provider.json"],"third_party":[false,false,false,false]},"subscription_login":{"finding":["Yes for ChatGPT/Codex: codex provider offers OAuth authorization-code and device-code flows, separate from openai API-key provider.","Yes for Claude Code account login: claude_code provider offers an OAuth authorization-code flow; standard anthropic is API-key.","Yes for GitHub Copilot: github_copilot uses GitHub device OAuth.","Gemini through google_ai_studio lists API-key auth; Vertex AI lists Google ADC, not Gemini consumer-subscription OAuth.","Forge/Forge Services entries list API-key auth; a vendor-plan subscription login was not found in this catalog.","Provider login itself is interactive; credential setup must precede an unattended script."],"quote":["\"codex_device\": {","\"auth_url\": \"https://claude.ai/oauth/authorize\"","\"auth_url\": \"https://github.com/login/device/code\"","\"auth_methods\": [\"api_key\"]","\"auth_methods\": [\"api_key\"]","forge provider login"],"url":["https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_repo/src/provider/provider.json","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_repo/src/provider/provider.json","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_repo/src/provider/provider.json","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_repo/src/provider/provider.json","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_repo/src/provider/provider.json","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/README.md"],"third_party":[false,false,false,false,false,false]},"license":{"finding":["Apache-2.0 SPDX license, as identified by LICENSE text and the GitHub repository license metadata.","GitHub metadata gives SPDX ID Apache-2.0."],"quote":["Apache License\n                           Version 2.0, January 2004","\"spdx_id\":\"Apache-2.0\""],"url":["https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/LICENSE","https://api.github.com/repos/tailcallhq/forgecode"],"third_party":[false,false]},"latest_stable":{"finding":["Newest stable GitHub release is v2.14.0, published 2026-10-01T08:41:12Z (ISO 8601 UTC).","The release API marks v2.14.0 non-prerelease and gives its publication time.","The npm registry package forgecode is 2.13.21, behind the latest GitHub release; registry is third-party distribution metadata."],"quote":["\"tag_name\":\"v2.14.0\"","\"published_at\":\"2026-10-01T08:41:12Z\"","\"version\":\"2.13.21\""],"url":["https://api.github.com/repos/tailcallhq/forgecode/releases?per_page=100&page=1","https://api.github.com/repos/tailcallhq/forgecode/releases?per_page=100&page=1","https://registry.npmjs.org/forgecode/latest"],"third_party":[false,false,true]},"latest_prerelease":{"finding":"not found","quote":null,"url":["https://api.github.com/repos/tailcallhq/forgecode/releases?per_page=100&page=1","https://api.github.com/repos/tailcallhq/forgecode/releases?per_page=100&page=2","https://api.github.com/repos/tailcallhq/forgecode/releases?per_page=100&page=3","https://api.github.com/repos/tailcallhq/forgecode/releases?per_page=100&page=4"],"third_party":false},"last_commit":{"finding":["Latest commit on default branch main was committed 2026-10-27T03:02:20Z (ISO 8601 UTC) when checked."],"quote":["\"date\":\"2026-10-27T03:02:20Z\""],"url":["https://api.github.com/repos/tailcallhq/forgecode/commits/main"],"third_party":[false]},"fork_of":{"finding":["GitHub metadata reports fork:false, with no parent repository; no official evidence that ForgeCode is a fork of another coding agent was found."],"quote":["\"fork\":false"],"url":["https://api.github.com/repos/tailcallhq/forgecode"],"third_party":[false]},"maintenance":{"finding":["Repository is not archived (archived:false); no official unmaintained marker was found."],"quote":["\"archived\":false"],"url":["https://api.github.com/repos/tailcallhq/forgecode"],"third_party":[false]},"gaps":[{"missing":"Dedicated prompt-file flag and documented agent-failure exit-code contract not found.","checked":["https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_main/src/cli.rs","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/README.md","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_main/src/ui.rs","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_main/src/main.rs"]},{"missing":"OS-level sandbox and global network-off flag not found; --sandbox is a git worktree and URL policy is a tool-level rule.","checked":["https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_main/src/cli.rs","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_main/src/sandbox.rs","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_config/src/config.rs","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_app/src/tool_registry.rs","https://forgecode.dev/docs/permissions/"]},{"missing":"No independent reasoning-token counter in Usage; no direct JSON usage output flag for one-shot -p found.","checked":["https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_domain/src/message.rs","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_main/src/cli.rs","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_main/src/ui.rs"]},{"missing":"No official simultaneous top-level session limit or guarantee found.","checked":["https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_repo/src/database/pool.rs","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_main/src/cli.rs","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/README.md"]},{"missing":"No Gemini consumer subscription OAuth or Forge vendor-plan OAuth in the official model-provider catalog.","checked":["https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_repo/src/provider/provider.json","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_repo/src/provider/provider.json"]},{"missing":"No GitHub release marked prerelease in the 375 published release records across the four API pages checked.","checked":["https://api.github.com/repos/tailcallhq/forgecode/releases?per_page=100&page=1","https://api.github.com/repos/tailcallhq/forgecode/releases?per_page=100&page=2","https://api.github.com/repos/tailcallhq/forgecode/releases?per_page=100&page=3","https://api.github.com/repos/tailcallhq/forgecode/releases?per_page=100&page=4"]},{"missing":"Official documentation URLs returned HTTP 404 during this check, so source files and README supplied the main evidence.","checked":["https://forgecode.dev/docs/","https://forgecode.dev/docs/permissions/"]}],"sources":["https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/README.md","https://api.github.com/repos/tailcallhq/forgecode","https://forgecode.dev/docs/","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_main/src/cli.rs","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_main/src/main.rs","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_main/src/ui.rs","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_select/src/select.rs","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_services/src/policy.rs","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_config/.forge.toml","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_domain/src/policies/types.rs","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_domain/src/policies/rule.rs","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_services/src/permissions.default.yaml","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_domain/src/policies/engine.rs","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_app/src/tool_registry.rs","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_repo/src/agents/forge.md","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_app/src/tool_resolver.rs","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_config/src/config.rs","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_domain/src/conversation.rs","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_main/src/info.rs","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_domain/src/message.rs","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_domain/src/context.rs","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_repo/src/agent.rs","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_repo/src/database/pool.rs","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_repo/src/provider/provider.json","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/LICENSE","https://api.github.com/repos/tailcallhq/forgecode/releases?per_page=100&page=1","https://registry.npmjs.org/forgecode/latest","https://api.github.com/repos/tailcallhq/forgecode/releases?per_page=100&page=2","https://api.github.com/repos/tailcallhq/forgecode/releases?per_page=100&page=3","https://api.github.com/repos/tailcallhq/forgecode/releases?per_page=100&page=4","https://api.github.com/repos/tailcallhq/forgecode/commits/main","https://github.com/tailcallhq/forgecode/blob/1df4bbd19fa28c1236f3253d0f659041757c029d/crates/forge_main/src/sandbox.rs","https://forgecode.dev/docs/permissions/"]}
