Help us shape the future of Go! Take the 2026 Go Developer Survey

nativeui

package
v2.219.0 Latest Latest
Warning

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

Go to latest
Published: Oct 28, 2026 License: MIT Imports: 8 Imported by: 0

Documentation

Overview

Package nativeui projects a selected person into the Claude Code terminal surfaces a composed identity can drive: a custom theme and the settings fragment that selects it and carries the role's spinner voice.

Index

Constants

View Source
const SubagentStatusLineCommand = "acompose statusline --subagent --color"

SubagentStatusLineCommand renders the composed identity per agent-panel row.

Variables

This section is empty.

Functions

func WriteAll

func WriteAll(dir string, bundles []Bundle) (int, error)

WriteAll lays out themes/ plus one settings fragment per role. Convergence installs the tree, so nothing here touches ~/.claude.

Types

type Bundle

type Bundle struct {
	Role     string   `json:"role"`
	Slug     string   `json:"slug"`
	Theme    Theme    `json:"theme"`
	Settings Settings `json:"settings"`
}

Bundle is everything one role contributes to the native surfaces.

func Build

func Build(p *person.Person, opts Options) ([]Bundle, error)

Build projects every role in catalogue order.

func BuildRole

func BuildRole(p *person.Person, roleName string, opts Options) (Bundle, error)

BuildRole projects one role into its theme and settings fragment.

type Options

type Options struct {
	// SpinnerMode is "replace" or "append". Replace makes the role
	// unmistakable and discards the harness vocabulary.
	SpinnerMode string
	// SlugPrefix namespaces theme slugs so several people can coexist.
	SlugPrefix string
}

Options tunes emission for callers that do not want the default voice.

type Settings

type Settings struct {
	Theme              string            `json:"theme"`
	SpinnerVerbs       SpinnerVerbs      `json:"spinnerVerbs"`
	SpinnerTipsEnabled bool              `json:"spinnerTipsEnabled"`
	SpinnerTips        SpinnerTips       `json:"spinnerTipsOverride"`
	SubagentStatusLine StatusLineCommand `json:"subagentStatusLine"`
}

Settings is the fragment merged into ~/.claude/settings.json.

type SpinnerTips

type SpinnerTips struct {
	ExcludeDefault bool     `json:"excludeDefault"`
	Tips           []string `json:"tips"`
}

SpinnerTips adds role doctrine to the waiting surface. ExcludeDefault stays false so the harness keeps teaching its own features.

type SpinnerVerbs

type SpinnerVerbs struct {
	Mode  string   `json:"mode"`
	Verbs []string `json:"verbs"`
}

SpinnerVerbs replaces or extends the harness verb vocabulary.

type StatusLineCommand

type StatusLineCommand struct {
	Type    string `json:"type"`
	Command string `json:"command"`
}

StatusLineCommand is a pull-based row renderer the harness invokes. Nothing is installed for it, so it survives --safe-mode.

type Theme

type Theme struct {
	Name      string            `json:"name"`
	Base      string            `json:"base"`
	Overrides map[string]string `json:"overrides"`
}

Theme is the document Claude Code reads from ~/.claude/themes/<slug>.json.

Jump to

Keyboard shortcuts

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