feat(namepool): Add themed name pools for polecats
Polecats now get themed names from the Mad Max universe by default
(furiosa, nux, slit, etc.) instead of generic polecat-01, polecat-02.
Changes:
- Add NamepoolConfig to config/types.go for per-rig theme configuration
- Update namepool.go with three built-in themes:
- mad-max (default): furiosa, nux, imperator, etc.
- minerals: obsidian, quartz, ruby, etc.
- wasteland: rust, chrome, fury, etc.
- Add gt namepool commands: themes, set, add, reset
- Update manager.go to load namepool config from rig settings
Configuration in .gastown/config.json:
```json
{
"namepool": {
"style": "minerals",
"max_before_numbering": 50
}
}
```
Issue: beads-rs0
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -53,6 +53,7 @@ type RigConfig struct {
|
||||
Version int `json:"version"` // schema version
|
||||
MergeQueue *MergeQueueConfig `json:"merge_queue,omitempty"` // merge queue settings
|
||||
Theme *ThemeConfig `json:"theme,omitempty"` // tmux theme settings
|
||||
Namepool *NamepoolConfig `json:"namepool,omitempty"` // polecat name pool settings
|
||||
}
|
||||
|
||||
// ThemeConfig represents tmux theme settings for a rig.
|
||||
@@ -125,3 +126,26 @@ func DefaultMergeQueueConfig() *MergeQueueConfig {
|
||||
MaxConcurrent: 1,
|
||||
}
|
||||
}
|
||||
|
||||
// NamepoolConfig represents namepool settings for themed polecat names.
|
||||
type NamepoolConfig struct {
|
||||
// Style picks from a built-in theme (e.g., "mad-max", "minerals", "wasteland").
|
||||
// If empty, defaults to "mad-max".
|
||||
Style string `json:"style,omitempty"`
|
||||
|
||||
// Names is a custom list of names to use instead of a built-in theme.
|
||||
// If provided, overrides the Style setting.
|
||||
Names []string `json:"names,omitempty"`
|
||||
|
||||
// MaxBeforeNumbering is when to start appending numbers.
|
||||
// Default is 50. After this many polecats, names become name-01, name-02, etc.
|
||||
MaxBeforeNumbering int `json:"max_before_numbering,omitempty"`
|
||||
}
|
||||
|
||||
// DefaultNamepoolConfig returns a NamepoolConfig with sensible defaults.
|
||||
func DefaultNamepoolConfig() *NamepoolConfig {
|
||||
return &NamepoolConfig{
|
||||
Style: "mad-max",
|
||||
MaxBeforeNumbering: 50,
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user