internal/

directory
v0.1.45 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 14, 2026 License: Apache-2.0

Directories

Path Synopsis
Package buildinfo exposes the forge binary's version metadata to packages that cannot depend on internal/cli (to avoid import cycles).
Package buildinfo exposes the forge binary's version metadata to packages that cannot depend on internal/cli (to avoid import cycles).
Package buildtarget owns the per-service build dispatch for services whose source lives outside the project's Go module — sibling repos, third-party binaries, language runtimes forge doesn't natively build.
Package buildtarget owns the per-service build dispatch for services whose source lives outside the project's Go module — sibling repos, third-party binaries, language runtimes forge doesn't natively build.
Package bundle produces and consumes the artifact that answers "exactly what bytes, from exactly which source" for one environment.
Package bundle produces and consumes the artifact that answers "exactly what bytes, from exactly which source" for one environment.
Package checksums owns forge's file-ownership machinery: which bytes does forge certify as its own render, which files has the user taken over, and what may a generate run overwrite.
Package checksums owns forge's file-ownership machinery: which bytes does forge certify as its own render, which files has the user taken over, and what may a generate run overwrite.
Package cigate is the local CI gate: the one definition of what "CI passes" means for a forge project, runnable on a laptop and from a workflow.
Package cigate is the local CI gate: the one definition of what "CI passes" means for a forge project, runnable on a laptop and from a workflow.
cli
Package cli — `forge project annotations`: dump forge's authoritative entity-authoring annotation spec as structured data.
Package cli — `forge project annotations`: dump forge's authoritative entity-authoring annotation spec as structured data.
audit
Package audit holds the `forge project audit` command group — a comprehensive snapshot of project state designed to orient an LLM (or human) without forcing them to grep ten different directories.
Package audit holds the `forge project audit` command group — a comprehensive snapshot of project state designed to orient an LLM (or human) without forcing them to grep ten different directories.
audittype
Package audittype holds the small, neutral value types shared by the `forge project audit` command group (internal/cli/audit) and the internal/cli code that contributes audit categories it cannot compute without package-cli internals (the KCL-entity-typed ingress / external-builds categories, and friction.go's auditFriction).
Package audittype holds the small, neutral value types shared by the `forge project audit` command group (internal/cli/audit) and the internal/cli code that contributes audit categories it cannot compute without package-cli internals (the KCL-entity-typed ingress / external-builds categories, and friction.go's auditFriction).
cmdutil
Package cmdutil holds cross-cutting helpers shared by forge's own CLI across MORE THAN ONE command group (internal/cli and its dir-nested subpackages).
Package cmdutil holds cross-cutting helpers shared by forge's own CLI across MORE THAN ONE command group (internal/cli and its dir-nested subpackages).
component
Package component holds the `forge component` command group — list, search, and install UI components from forge's built-in component library.
Package component holds the `forge component` command group — list, search, and install UI components from forge's built-in component library.
debug
Package debug holds the `forge debug` command group — a Delve-backed interactive debugger driver (start / break / continue / eval / ...).
Package debug holds the `forge debug` command group — a Delve-backed interactive debugger driver (start / break / continue / eval / ...).
factory
Package factory carries the shared dependency set ("the factory") threaded through forge's own CLI command tree, plus the command REGISTRY that lets dir-nested command-group subpackages (internal/cli/scaffold, internal/cli/lint, ...) attach to the root without a group↔root import cycle.
Package factory carries the shared dependency set ("the factory") threaded through forge's own CLI command tree, plus the command REGISTRY that lets dir-nested command-group subpackages (internal/cli/scaffold, internal/cli/lint, ...) attach to the root without a group↔root import cycle.
lint
Package lint holds the `forge lint` command group — the project linter pipeline (golangci / buf / frontend / forge-convention / scaffold / migration-safety / wire-coverage …) plus the targeted single-rule flags and the --json aggregator.
Package lint holds the `forge lint` command group — the project linter pipeline (golangci / buf / frontend / forge-convention / scaffold / migration-safety / wire-coverage …) plus the targeted single-rule flags and the --json aggregator.
scaffold
Package scaffold holds the `forge scaffold` command — the one verb that writes new code into a forge project, at two granularities picked by ARITY:
Package scaffold holds the `forge scaffold` command — the one verb that writes new code into a forge project, at two granularities picked by ARITY:
Package clickstack names the facts about the local ClickStack compose service that `forge env up`, the doctor checks and the integration gate all have to agree on, so none of them learns a name from another's source.
Package clickstack names the facts about the local ClickStack compose service that `forge env up`, the doctor checks and the integration gate all have to agree on, so none of them learns a name from another's source.
Package cliutil holds small helpers shared across forge's CLI surface.
Package cliutil holds small helpers shared across forge's CLI surface.
Package cloud resolves the two things forge needs to talk to a hosted control plane, and keeps them apart on purpose:
Package cloud resolves the two things forge needs to talk to a hosted control plane, and keeps them apart on purpose:
Package cluster owns the render-KCL → kubectl-apply → wait-rollouts pipeline that `forge env deploy`, `forge cluster reload`, and the deploy phase of `forge env up` all execute.
Package cluster owns the render-KCL → kubectl-apply → wait-rollouts pipeline that `forge env deploy`, `forge cluster reload`, and the deploy phase of `forge env up` all execute.
Package codegen — config_native_emit.go wires the KCL config emitters (config_schema_gen.go, config_projection_gen.go, and the per-env config.k scaffolder below) into the generate pipeline.
Package codegen — config_native_emit.go wires the KCL config emitters (config_schema_gen.go, config_projection_gen.go, and the per-env config.k scaffolder below) into the generate pipeline.
Package commitpolicy checks a forge project's git state against forge's commit policy:
Package commitpolicy checks a forge project's git state against forge's commit policy:
internal/config is a pure schema/data/constants package: it declares the canonical forge.yaml types plus package-level lookup tables (e.g.
internal/config is a pure schema/data/constants package: it declares the canonical forge.yaml types plus package-level lookup tables (e.g.
Package contractcheck inspects a project's internal/ tree for contract-shape violations.
Package contractcheck inspects a project's internal/ tree for contract-shape violations.
Package deadcodeguard is the repository-wide proof that forge's own code cannot make a claim its own data refutes.
Package deadcodeguard is the repository-wide proof that forge's own code cannot make a claim its own data refutes.
Package debug wraps a Delve debugger so forge can drive a debugging session from the CLI layer.
Package debug wraps a Delve debugger so forge can drive a debugging session from the CLI layer.
Package deploytarget owns the deploy dispatch — the surface that maps a rendered workload's RUNTIME (and each frontend's and database's deploy target) to a concrete pipeline that ships it somewhere.
Package deploytarget owns the deploy dispatch — the surface that maps a rendered workload's RUNTIME (and each frontend's and database's deploy target) to a concrete pipeline that ships it somewhere.
Package devpg owns ONE fact: the host coordinates of the dev postgres a forge project's docker-compose publishes.
Package devpg owns ONE fact: the host coordinates of the dev postgres a forge project's docker-compose publishes.
Package devstack owns forge's parallel-dev-stack primitives: the raw git facts that distinguish one working tree from another, and a memoized port-block allocator.
Package devstack owns forge's parallel-dev-stack primitives: the raw git facts that distinguish one working tree from another, and a memoized port-block allocator.
Package envutil holds the small, shared environment-handling helpers the build, deploy, and host-launch paths all need: a minimal .env parser and two env-overlay merges whose precedence is encoded in the name.
Package envutil holds the small, shared environment-handling helpers the build, deploy, and host-launch paths all need: a minimal .env parser and two env-overlay merges whose precedence is encoded in the name.
Package flux holds the identity of the Flux chart forge pins.
Package flux holds the identity of the Flux chart forge pins.
Package forgecompat decides whether the running forge binary may generate into a project, from the forge version that project ACTUALLY resolves.
Package forgecompat decides whether the running forge binary may generate into a project, from the forge version that project ACTUALLY resolves.
Package frontenddeps ensures a frontend's node_modules is installed and current against its lockfile.
Package frontenddeps ensures a frontend's node_modules is installed and current against its lockfile.
Package generator: checksums shim.
Package generator: checksums shim.
contract
Package contract drives the four *_gen.go files (mock, middleware, tracing, metrics) emitted from a single hand-written contract.go.
Package contract drives the four *_gen.go files (mock, middleware, tracing, metrics) emitted from a single hand-written contract.go.
Cache eviction for the machine-local source cache.
Cache eviction for the machine-local source cache.
Package goexec configures the `go` subprocesses forge runs on its own behalf.
Package goexec configures the `go` subprocesses forge runs on its own behalf.
Package hostedimage holds the ONE vocabulary for "can the control plane pull this hosted image": the push-base resolution rule, the off-base finding, and its wording.
Package hostedimage holds the ONE vocabulary for "can the control plane pull this hosted image": the push-base resolution rule, the off-base finding, and its wording.
Package hostinfra runs a project's declared dev infrastructure as HOST PROCESSES, with no container runtime involved.
Package hostinfra runs a project's declared dev infrastructure as HOST PROCESSES, with no container runtime involved.
Package hostlaunch composes exec.Cmds for host-mode services and frontends, plus the small env-file helpers both call sites need.
Package hostlaunch composes exec.Cmds for host-mode services and frontends, plus the small env-file helpers both call sites need.
Package kcleval evaluates ONE KCL file of a project and selects fields out of the result, so nothing outside forge ever has to run `kcl` itself.
Package kcleval evaluates ONE KCL file of a project and selects fields out of the result, so nothing outside forge ever has to run `kcl` itself.
Package kclmigrate rewrites a project's deploy/kcl tree across a forge change that moved a declaration from one place to another.
Package kclmigrate rewrites a project's deploy/kcl tree across a forge change that moved a declaration from one place to another.
Package kcloptions discovers the `-D` render options a project's KCL declares, so forge can validate and list them WITHOUT knowing what any of them mean.
Package kcloptions discovers the `-D` render options a project's KCL declares, so forge can validate and list them WITHOUT knowing what any of them mean.
Package kclplugin registers forge's in-process KCL plugin namespace (kcl_plugin.forge.*), letting KCL pull host-runtime values during evaluation instead of forge having to pre-enumerate and inject them.
Package kclplugin registers forge's in-process KCL plugin namespace (kcl_plugin.forge.*), letting KCL pull host-runtime values during evaluation instead of forge having to pre-enumerate and inject them.
Package kclrender is the single seam through which forge evaluates KCL.
Package kclrender is the single seam through which forge evaluates KCL.
Package kcltest runs the external `kcl` binary for tests that need to assert against a REAL render (as opposed to internal/kclrender, which is the embedded kcl-go seam production uses).
Package kcltest runs the external `kcl` binary for tests that need to assert against a REAL render (as opposed to internal/kclrender, which is the embedded kcl-go seam production uses).
Package kclvendor supplies the forge KCL module to every KCL evaluation forge performs, straight from the binary that is performing it.
Package kclvendor supplies the forge KCL module to every KCL evaluation forge performs, straight from the binary that is performing it.
Package kubeconfig answers one question: where on THIS machine does the default kubeconfig live.
Package kubeconfig answers one question: where on THIS machine does the default kubeconfig live.
Package ledgerfile is the MACHINE-SCOPED file ledger: one model, the non-hosted store.
Package ledgerfile is the MACHINE-SCOPED file ledger: one model, the non-hosted store.
linter
finding
Package finding is the single canonical home for the lint-finding vocabulary shared by every internal linter (forgeconv, scaffolds, migrationlint).
Package finding is the single canonical home for the lint-finding vocabulary shared by every internal linter (forgeconv, scaffolds, migrationlint).
forgeconv
File: internal/linter/forgeconv/allocate_port_spacing.go
File: internal/linter/forgeconv/allocate_port_spacing.go
scaffolds
Package scaffolds — `forge lint --check-workarounds` rule.
Package scaffolds — `forge lint --check-workarounds` rule.
staticexport
Package staticexport reports what a Next.js App Router frontend contains that a static export (`output: "export"`) cannot serve.
Package staticexport reports what a Next.js App Router frontend contains that a static export (`output: "export"`) cannot serve.
suppress
Package suppress is the single suppression mechanism shared by every forge-owned linter (forgeconv, scaffolds, migrationlint, and the deadcode/vacuous guards once they are exposed to user projects).
Package suppress is the single suppression mechanism shared by every forge-owned linter (forgeconv, scaffolds, migrationlint, and the deadcode/vacuous guards once they are exposed to user projects).
Package migrationgit answers, from git, the one question both the version lint and `forge db migration rebase` have to agree on: which migrations were already on the default branch when this branch was cut.
Package migrationgit answers, from git, the one question both the version lint and `forge db migration rebase` have to agree on: which migrations were already on the default branch when this branch was cut.
Package migrationver allocates migration version prefixes.
Package migrationver allocates migration version prefixes.
Package mockheaderguard proves that the generated mock-data header describes a layout forge actually creates.
Package mockheaderguard proves that the generated mock-data header describes a layout forge actually creates.
Package obsdash turns a forge project's own service metadata into observability dashboards.
Package obsdash turns a forge project's own service metadata into observability dashboards.
Package openfiles answers the one question every reclaimer that deletes from a shared directory must ask first: is a live process using this path?
Package openfiles answers the one question every reclaimer that deletes from a shared directory must ask first: is a live process using this path?
Package procguard keeps forge from signalling the processes it is running inside.
Package procguard keeps forge from signalling the processes it is running inside.
Package projectstore is the single read surface for a forge project's PROJECT-GLOBAL state.
Package projectstore is the single read surface for a forge project's PROJECT-GLOBAL state.
Package removalguard is the repository-wide proof that a removed feature is gone from EVERY surface forge ships — not just the Go tree.
Package removalguard is the repository-wide proof that a removed feature is gone from EVERY surface forge ships — not just the Go tree.
Package scaffold holds forge's BIRTH-TIME, SCAFFOLD-ONCE emitters: code that renders user-owned artifacts exactly once, at an explicit `forge scaffold ...` moment, and never touches them again.
Package scaffold holds forge's BIRTH-TIME, SCAFFOLD-ONCE emitters: code that renders user-owned artifacts exactly once, at an explicit `forge scaffold ...` moment, and never touches them again.
Package secrets resolves declared secret REFERENCES (which live in git: EnvVar.secret_ref / secret_key) to secret VALUES (which never live in git) for one environment.
Package secrets resolves declared secret REFERENCES (which live in git: EnvVar.secret_ref / secret_key) to secret VALUES (which never live in git) for one environment.
Package shadowdb resolves WHICH postgres server hosts the generate-time schema-introspection shadow database.
Package shadowdb resolves WHICH postgres server hosts the generate-time schema-introspection shadow database.
Package shellbuildtokens finds retired forge substitution tokens left in a ShellBuild `cmd`.
Package shellbuildtokens finds retired forge substitution tokens left in a ShellBuild `cmd`.
Package shellrun runs a POSIX shell script in-process (mvdan.cc/sh), so the same script behaves identically on every OS — including Windows, where no `sh` binary is on PATH.
Package shellrun runs a POSIX shell script in-process (mvdan.cc/sh), so the same script behaves identically on every OS — including Windows, where no `sh` binary is on PATH.
Package sqlident reads postgres identifiers out of SQL text.
Package sqlident reads postgres identifiers out of SQL text.
Package statefile is the one place forge's JSON-record-under-.forge/state helpers live.
Package statefile is the one place forge's JSON-record-under-.forge/state helpers live.
Package storage owns host storage budgets and the lifecycle of explicitly registered local development caches.
Package storage owns host storage budgets and the lifecycle of explicitly registered local development caches.
Package templates owns the embedded forge template tree and renders it into scaffolded code.
Package templates owns the embedded forge template tree and renders it into scaffolded code.
Package testreport turns the record of a `go test -json` run into a verdict about whether that run actually proved anything.
Package testreport turns the record of a `go test -json` run into a verdict about whether that run actually proved anything.
Package tierguard proves that every Tier-1 (regenerated-every-run) file forge writes is actually DERIVED from something the user wrote.
Package tierguard proves that every Tier-1 (regenerated-every-run) file forge writes is actually DERIVED from something the user wrote.
Package vacuousguard is the repository-wide proof that a green test actually ran something.
Package vacuousguard is the repository-wide proof that a green test actually ran something.
Package webruntimepeers is the SINGLE source of truth for which packages must resolve to exactly one copy when a project links @reliantlabs/forge-web-runtime.
Package webruntimepeers is the SINGLE source of truth for which packages must resolve to exactly one copy when a project links @reliantlabs/forge-web-runtime.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL