Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
fugaro
command
Command fugaro is the Fugaro CLI and in-container runner.
|
Command fugaro is the Fugaro CLI and in-container runner. |
|
deploy
|
|
|
terraform
Package terraform holds the Terraform that sets up Fugaro's cloud resources: the modules under gcp/modules and the roots under gcp/roots that call them.
|
Package terraform holds the Terraform that sets up Fugaro's cloud resources: the modules under gcp/modules and the roots under gcp/roots that call them. |
|
Package images holds the container image sources (design §7): a base image per directory (images/web-node/), scripts the base images share (images/common/), and the derived-image template and Cloud Build config (images/derived/).
|
Package images holds the container image sources (design §7): a base image per directory (images/web-node/), scripts the base images share (images/common/), and the derived-image template and Cloud Build config (images/derived/). |
|
internal
|
|
|
agent
Package agent runs Claude Code headless (`claude -p`) for one stage.
|
Package agent runs Claude Code headless (`claude -p`) for one stage. |
|
agent/fakeclaude
command
Command fakeclaude stands in for the claude CLI in tests.
|
Command fakeclaude stands in for the claude CLI in tests. |
|
backend
Package backend is the CLI's only seam to the compute platform (design §3.4).
|
Package backend is the CLI's only seam to the compute platform (design §3.4). |
|
backend/backendtest
Package backendtest is the conformance suite every backend.Backend implementation runs against: "a contributor's pull request is passes backendtest" (design m11-setup-and-skills.md §7).
|
Package backendtest is the conformance suite every backend.Backend implementation runs against: "a contributor's pull request is passes backendtest" (design m11-setup-and-skills.md §7). |
|
backend/gcp
Package gcp implements the backend on Google Cloud: Cloud Run jobs, Cloud Logging, Secret Manager and Cloud Build (design §3.4, §8).
|
Package gcp implements the backend on Google Cloud: Cloud Run jobs, Cloud Logging, Secret Manager and Cloud Build (design §3.4, §8). |
|
blobx
Package blobx adds the few conditional operations Fugaro needs beyond gocloud's portable blob API: create-if-absent with the new generation, generation-matched replace and delete, and GCS custom time (design §4.1).
|
Package blobx adds the few conditional operations Fugaro needs beyond gocloud's portable blob API: create-if-absent with the new generation, generation-matched replace and delete, and GCS custom time (design §4.1). |
|
budget
Package budget is the data model of the shared budget database (a Firebase Realtime Database, design m9-budget-and-dashboard §6.2) and Evaluate, the pure predicate that says whether a lease or a release would pass the database rules.
|
Package budget is the data model of the shared budget database (a Firebase Realtime Database, design m9-budget-and-dashboard §6.2) and Evaluate, the pure predicate that says whether a lease or a release would pass the database rules. |
|
budget/rules
Package rules generates the Realtime Database security rules of the budget backend (design m9-budget-and-dashboard §6.4) from rules.json.tmpl.
|
Package rules generates the Realtime Database security rules of the budget backend (design m9-budget-and-dashboard §6.4) from rules.json.tmpl. |
|
budget/token
Package token gives a run its Firebase identity (design m9 §6.4, R5).
|
Package token gives a run its Firebase identity (design m9 §6.4, R5). |
|
cache
Package cache restores and writes back content-addressed dependency caches (design §4.1): cache/<slug>/<workflow>/<key>.tar.zst, where key is the SHA-256 of the key files' contents, the cached paths and the base image.
|
Package cache restores and writes back content-addressed dependency caches (design §4.1): cache/<slug>/<workflow>/<key>.tar.zst, where key is the SHA-256 of the key files' contents, the cached paths and the base image. |
|
cli
Package cli implements the fugaro command-line interface.
|
Package cli implements the fugaro command-line interface. |
|
config
Package config loads and validates a repository's fugaro.yaml (design §5.1).
|
Package config loads and validates a repository's fugaro.yaml (design §5.1). |
|
firestore
Package firestore is a small REST client for Cloud Firestore (native mode), built for the spend history (design m9-budget-and-dashboard §6.2, plan M9d).
|
Package firestore is a small REST client for Cloud Firestore (native mode), built for the spend history (design m9-budget-and-dashboard §6.2, plan M9d). |
|
followup
Package followup decides which pull request comments a follow-up run acts on, bounds and redacts them, and builds the follow-up's prompts and its comments.json.
|
Package followup decides which pull request comments a follow-up run acts on, bounds and redacts them, and builds the follow-up's prompts and its comments.json. |
|
gateway
Package gateway is the per-run budget gateway: a loopback proxy between Claude Code and the model API that holds the real credential, allows only the stage's pinned models and the request shapes the price table can bound, reserves each call's worst case against the run's cap before sending it, and settles the call from the usage the response reports.
|
Package gateway is the per-run budget gateway: a loopback proxy between Claude Code and the model API that holds the real credential, allows only the stage's pinned models and the request shapes the price table can bound, reserves each call's worst case against the run's cap before sending it, and settles the call from the usage the response reports. |
|
gateway/anthropicfake
Package anthropicfake is a scripted stand-in for the Anthropic Messages API (and Vertex's rawPredict paths, which answer the same bodies) for the budget gateway's tests: each request gets the next scripted reply, and every request is kept, body included, for byte-equality checks.
|
Package anthropicfake is a scripted stand-in for the Anthropic Messages API (and Vertex's rawPredict paths, which answer the same bodies) for the budget gateway's tests: each request gets the next scripted reply, and every request is kept, body included, for byte-equality checks. |
|
gcpfake
Package gcpfake serves minimal, stateful httptest fakes of the Google Cloud REST APIs Fugaro calls: GCS (JSON API), Cloud Run Admin v2, Cloud Logging v2, Secret Manager v1, Cloud Build v1 and a Firebase Realtime Database (RTDB, without security rules).
|
Package gcpfake serves minimal, stateful httptest fakes of the Google Cloud REST APIs Fugaro calls: GCS (JSON API), Cloud Run Admin v2, Cloud Logging v2, Secret Manager v1, Cloud Build v1 and a Firebase Realtime Database (RTDB, without security rules). |
|
gitops
Package gitops wraps the git CLI operations a run needs.
|
Package gitops wraps the git CLI operations a run needs. |
|
gitprov
Package gitprov abstracts the git hosting provider (design §3.1).
|
Package gitprov abstracts the git hosting provider (design §3.1). |
|
gitprov/bitbucket
Package bitbucket implements gitprov.Provider against the Bitbucket Cloud REST API (2.0), authenticated with a repository access token (design §6.1).
|
Package bitbucket implements gitprov.Provider against the Bitbucket Cloud REST API (2.0), authenticated with a repository access token (design §6.1). |
|
gitprov/fake
Package fake is an in-memory gitprov.Provider, optionally persisted to a JSON file so separate processes (tests, `fugaro exec --provider fake`) share it.
|
Package fake is an in-memory gitprov.Provider, optionally persisted to a JSON file so separate processes (tests, `fugaro exec --provider fake`) share it. |
|
gitprov/github
Package github is the GitHub adapter: App JWT authentication and repo-scoped installation tokens (design §6.1, §6.2).
|
Package github is the GitHub adapter: App JWT authentication and repo-scoped installation tokens (design §6.1, §6.2). |
|
gitprov/httpfixture
Package httpfixture replays recorded HTTP exchanges for the provider adapter tests, and records new ones from a live API (design §13).
|
Package httpfixture replays recorded HTTP exchanges for the provider adapter tests, and records new ones from a live API (design §13). |
|
gitprov/httpjson
Package httpjson is the small JSON-over-HTTP client the provider adapters share.
|
Package httpjson is the small JSON-over-HTTP client the provider adapters share. |
|
gitprov/providers
Package providers opens the real git provider a repository's fugaro.yaml names, with credentials from the runner's environment, which the platform injects from Secret Manager (design §6).
|
Package providers opens the real git provider a repository's fugaro.yaml names, with credentials from the runner's environment, which the platform injects from Secret Manager (design §6). |
|
image
Package image renders, builds and smoke-tests a workflow's derived image (design §7.2).
|
Package image renders, builds and smoke-tests a workflow's derived image (design §7.2). |
|
imagecheck
Package imagecheck records what a workflow's derived image was built from, and decides whether it needs a rebuild (design §7.2).
|
Package imagecheck records what a workflow's derived image was built from, and decides whether it needs a rebuild (design §7.2). |
|
infra
Package infra computes every name, label, env and IAM condition of an installation and its repositories, once, from the local config and a checkout's fugaro.yaml.
|
Package infra computes every name, label, env and IAM condition of an installation and its repositories, once, from the local config and a checkout's fugaro.yaml. |
|
infra/tf
Package tf runs terraform for fugaro init: through os/exec, with an allowlisted environment and fugaro's own CLI config (plugin cache and direct provider installation only; see Env), applying only a saved plan file that was shown and passed the guard (Guard), which refuses any delete or replace the user didn't name.
|
Package tf runs terraform for fugaro init: through os/exec, with an allowlisted environment and fugaro's own CLI config (plugin cache and direct provider installation only; see Env), applying only a saved plan file that was shown and passed the guard (Guard), which refuses any delete or replace the user didn't name. |
|
infra/tf/faketerraform
command
Command faketerraform stands in for terraform in the tests of internal/infra/tf, so they need no real terraform, backend or credentials.
|
Command faketerraform stands in for terraform in the tests of internal/infra/tf, so they need no real terraform, backend or credentials. |
|
initflow
Package initflow is the converge loop behind fugaro init (design doc m11-setup-and-skills.md §3.1): an ordered list of stages, each with a read-only check and plan, a confirmed apply and a verify; a loop that applies the first stage that is not done, stops at the first stage that needs the user or fails, and runs nothing after it; and the plan view and the JSON result that report where the run stands.
|
Package initflow is the converge loop behind fugaro init (design doc m11-setup-and-skills.md §3.1): an ordered list of stages, each with a read-only check and plan, a confirmed apply and a verify; a loop that applies the first stage that is not done, stops at the first stage that needs the user or fails, and runs nothing after it; and the plan view and the JSON result that report where the run stands. |
|
localcfg
Package localcfg reads the project configs, the local CLI config of each Fugaro project: $XDG_CONFIG_HOME/fugaro/projects/<name>.yaml (else under ~/.config), holding the project's name, its GCP project, region and buckets, and the onboarded repositories (design §2.4 and §5.4).
|
Package localcfg reads the project configs, the local CLI config of each Fugaro project: $XDG_CONFIG_HOME/fugaro/projects/<name>.yaml (else under ~/.config), holding the project's name, its GCP project, region and buckets, and the onboarded repositories (design §2.4 and §5.4). |
|
lock
Package lock is the one-run-per-branch lock (design §4.1): an object locks/<slug>/<branch-hash> holding its holder and an expiry equal to the job's task timeout.
|
Package lock is the one-run-per-branch lock (design §4.1): an object locks/<slug>/<branch-hash> holding its holder and an expiry equal to the job's task timeout. |
|
logtail
Package logtail keeps the last lines written to it, bounded in count and in length, for the log tail a draft PR carries (design §4.5).
|
Package logtail keeps the last lines written to it, bounded in count and in length, for the log tail a draft PR carries (design §4.5). |
|
mirror
Package mirror copies one image from a public registry into the project's own Artifact Registry, in Go and with no Docker daemon, as the person running fugaro init (design m11-setup-and-skills.md §3.3).
|
Package mirror copies one image from a public registry into the project's own Artifact Registry, in Go and with no Docker daemon, as the person running fugaro init (design m11-setup-and-skills.md §3.3). |
|
pluginwire
Package pluginwire wires the Fugaro plugin into a repository's project settings (design section 4.3) and reports how the wiring compares with the running binary (section 4.4).
|
Package pluginwire wires the Fugaro plugin into a repository's project settings (design section 4.3) and reports how the wiring compares with the running binary (section 4.4). |
|
policy
Package policy merges budget and model policy layers so that only tightening wins.
|
Package policy merges budget and model policy layers so that only tightening wins. |
|
preflight
Package preflight holds the read-only readiness checks fugaro init and fugaro doctor share (design doc m11-setup-and-skills.md §3.1 stage 0): the environment, Terraform, Docker, and, given the Google API clients the caller already holds, Cloud Billing and the project's IAM policy.
|
Package preflight holds the read-only readiness checks fugaro init and fugaro doctor share (design doc m11-setup-and-skills.md §3.1 stage 0): the environment, Terraform, Docker, and, given the Google API clients the caller already holds, Cloud Billing and the project's IAM policy. |
|
pricing
Package pricing holds the model price table the budget gateway charges from: per-model token rates, cache multipliers and optional long-context tiers, the cost of a call's reported usage, and the worst case a call can cost before it is sent.
|
Package pricing holds the model price table the budget gateway charges from: per-model token rates, cache multipliers and optional long-context tiers, the cost of a call's reported usage, and the worst case a call can cost before it is sent. |
|
procgroup
Package procgroup runs a command in its own process group so that the whole tree, including background daemons it leaves behind, can be killed.
|
Package procgroup runs a command in its own process group so that the whole tree, including background daemons it leaves behind, can be killed. |
|
recipe
Package recipe is the format of a Fugaro recipe: the named, selectable task loop that follows the implement stage (docs/design/recipes.md).
|
Package recipe is the format of a Fugaro recipe: the named, selectable task loop that follows the implement stage (docs/design/recipes.md). |
|
report
Package report turns spend-history day records into the rows of `fugaro report`: grouping by period or dimension, exact dollar rendering, and the table, CSV and JSON outputs.
|
Package report turns spend-history day records into the rows of `fugaro report`: grouping by period or dimension, exact dollar rendering, and the table, CSV and JSON outputs. |
|
rtdb
Package rtdb is a small REST client for a Firebase Realtime Database, built for the budget backend (design m9-budget-and-dashboard §6.3).
|
Package rtdb is a small REST client for a Firebase Realtime Database, built for the budget backend (design m9-budget-and-dashboard §6.3). |
|
runner
Package runner executes one Fugaro run: bootstrap, implement, review and fix rounds, finalize (design §4).
|
Package runner executes one Fugaro run: bootstrap, implement, review and fix rounds, finalize (design §4). |
|
runstore
Package runstore reads and writes a run's objects in the runs bucket (design §3.3).
|
Package runstore reads and writes a run's objects in the runs bucket (design §3.3). |
|
runview
Package runview joins what the runs bucket and the backend know about a run into one row (design §4.7, §9.1 ls): status, stage, cost and links.
|
Package runview joins what the runs bucket and the backend know about a run into one row (design §4.7, §9.1 ls): status, stage, cost and links. |
|
safetext
Package safetext makes strings from untrusted sources (the job's objects, the budget database) safe to print on a terminal: escape sequences are dropped, other controls, bidi and zero-width characters become "?".
|
Package safetext makes strings from untrusted sources (the job's objects, the budget database) safe to print on a terminal: escape sequences are dropped, other controls, bidi and zero-width characters become "?". |
|
shellword
Package shellword quotes a value as one shell word, for the commands fugaro prints to be pasted into a terminal.
|
Package shellword quotes a value as one shell word, for the commands fugaro prints to be pasted into a terminal. |
|
task
Package task defines the task spec handed to a Fugaro run (design §5.3).
|
Package task defines the task spec handed to a Fugaro run (design §5.3). |
|
testutil
Package testutil holds helpers shared by tests.
|
Package testutil holds helpers shared by tests. |
|
verify
Package verify runs a repository's build and test commands on behalf of the agent and records each result in the run's state directory (design §4.3).
|
Package verify runs a repository's build and test commands on behalf of the agent and records each result in the run's state directory (design §4.3). |
|
watch
Package watch is the core of `fugaro watch`: a pure model of the budget database as one live view.
|
Package watch is the core of `fugaro watch`: a pure model of the budget database as one live view. |
Click to show internal directories.
Click to hide internal directories.