# basic_go

Minimal core-only shape:

```bzl
load("@io_bazel_rules_go//go:def.bzl", "go_binary")
load("@rules_wails//wails:defs.bzl", "wails_build_assets", "wails_generate_bindings", "wails_run", "wails_toolchain")

go_binary(
    name = "wails3",
    srcs = ["scripts/wails3.go"],
)

wails_toolchain(
    name = "example_wails_toolchain_impl",
    go = "@my_go_sdk//:bin/go",
    wails = ":wails3",
)

toolchain(
    name = "example_wails_toolchain",
    toolchain = ":example_wails_toolchain_impl",
    toolchain_type = "@rules_wails//wails:toolchain_type",
)

go_binary(
    name = "app",
    srcs = ["main.go"],
)

wails_build_assets(
    name = "build_assets",
    srcs = ["build/config.yml"],
    app_name = "example",
    binary_name = "example",
    strip_prefix = "build/",
)

wails_generate_bindings(
    name = "bindings",
    out_dir = "frontend/src/lib/bindings",
    package_dir = ".",
)

wails_run(
    name = "run",
    binary = ":app",
    build_assets = ":build_assets",
)
```
