pub struct GoConfig {
pub module: Option<String>,
pub package_name: Option<String>,
pub features: Option<Vec<String>>,
pub exclude_types: Vec<String>,
pub serde_rename_all: Option<String>,
pub rename_fields: HashMap<String, String>,
pub run_wrapper: Option<String>,
pub extra_lint_paths: Vec<String>,
}Fields§
§module: Option<String>§package_name: Option<String>Override the Go package name (default: derived from module path)
features: Option<Vec<String>>§exclude_types: Vec<String>Types to exclude from Go binding generation.
Go bindings call the generated C FFI directly through cgo, so types excluded from
[crates.ffi].exclude_types are also excluded automatically by the Go backend.
serde_rename_all: Option<String>Override the serde rename_all strategy for JSON field names (e.g. “camelCase”, “snake_case”). When set, this takes priority over the IR type-level serde_rename_all.
rename_fields: HashMap<String, String>Per-field name remapping for this language. Key is TypeName.field_name, value is the
desired binding field name. Applied after automatic keyword escaping.
run_wrapper: Option<String>Prefix wrapper for default tool invocations. When set, prepends this string to default commands across all pipelines (lint, test, build, etc.).
extra_lint_paths: Vec<String>Extra paths to append to default lint commands (format, check, typecheck).