feat: extract Gas Town types from beads core (bd-i54l)
Remove Gas Town-specific issue types (agent, role, rig, convoy, slot) from beads core. These types are now identified by labels instead: - gt:agent, gt:role, gt:rig, gt:convoy, gt:slot Changes: - internal/types/types.go: Remove TypeAgent, TypeRole, TypeRig, TypeConvoy, TypeSlot constants - cmd/bd/agent.go: Create agents with TypeTask + gt:agent label - cmd/bd/merge_slot.go: Create slots with TypeTask + gt:slot label - internal/storage/sqlite/queries.go, transaction.go: Query convoys by gt:convoy label - internal/rpc/server_issues_epics.go: Check gt:agent label for role_type/rig label auto-add - cmd/bd/create.go: Check gt:agent label for role_type/rig label auto-add - internal/ui/styles.go: Remove agent/role/rig type colors - cmd/bd/export_obsidian.go: Remove agent/role/rig/convoy type tag mappings - Update all affected tests This enables beads to be a generic issue tracker while Gas Town uses labels for its specific type semantics. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> Executed-By: beads/crew/dave Rig: beads Role: crew
This commit is contained in:
@@ -135,18 +135,8 @@ var (
|
||||
Light: "", // standard text color
|
||||
Dark: "",
|
||||
}
|
||||
ColorTypeAgent = lipgloss.AdaptiveColor{
|
||||
Light: "#59c2ff", // cyan - agent identity
|
||||
Dark: "#59c2ff",
|
||||
}
|
||||
ColorTypeRole = lipgloss.AdaptiveColor{
|
||||
Light: "#7fd962", // green - role definition
|
||||
Dark: "#7fd962",
|
||||
}
|
||||
ColorTypeRig = lipgloss.AdaptiveColor{
|
||||
Light: "#e6a756", // orange - rig identity (project container)
|
||||
Dark: "#e6a756",
|
||||
}
|
||||
// Note: Gas Town-specific types (agent, role, rig) have been removed.
|
||||
// Use labels (gt:agent, gt:role, gt:rig) with custom styling if needed.
|
||||
|
||||
// === Issue ID Color ===
|
||||
// IDs use standard text color - subtle, not attention-grabbing
|
||||
@@ -194,9 +184,7 @@ var (
|
||||
TypeTaskStyle = lipgloss.NewStyle().Foreground(ColorTypeTask)
|
||||
TypeEpicStyle = lipgloss.NewStyle().Foreground(ColorTypeEpic)
|
||||
TypeChoreStyle = lipgloss.NewStyle().Foreground(ColorTypeChore)
|
||||
TypeAgentStyle = lipgloss.NewStyle().Foreground(ColorTypeAgent)
|
||||
TypeRoleStyle = lipgloss.NewStyle().Foreground(ColorTypeRole)
|
||||
TypeRigStyle = lipgloss.NewStyle().Foreground(ColorTypeRig)
|
||||
// Note: Gas Town-specific type styles (agent, role, rig) have been removed.
|
||||
)
|
||||
|
||||
// CategoryStyle for section headers - bold with accent color
|
||||
@@ -331,7 +319,8 @@ func RenderPriority(priority int) string {
|
||||
}
|
||||
|
||||
// RenderType renders an issue type with semantic styling
|
||||
// bugs get color; all other types use standard text
|
||||
// bugs and epics get color; all other types use standard text
|
||||
// Note: Gas Town-specific types (agent, role, rig) now fall through to default
|
||||
func RenderType(issueType string) string {
|
||||
switch issueType {
|
||||
case "bug":
|
||||
@@ -344,12 +333,6 @@ func RenderType(issueType string) string {
|
||||
return TypeEpicStyle.Render(issueType)
|
||||
case "chore":
|
||||
return TypeChoreStyle.Render(issueType)
|
||||
case "agent":
|
||||
return TypeAgentStyle.Render(issueType)
|
||||
case "role":
|
||||
return TypeRoleStyle.Render(issueType)
|
||||
case "rig":
|
||||
return TypeRigStyle.Render(issueType)
|
||||
default:
|
||||
return issueType
|
||||
}
|
||||
|
||||
@@ -92,9 +92,10 @@ func TestRenderTypeVariants(t *testing.T) {
|
||||
{"task", TypeTaskStyle.Render("task")},
|
||||
{"epic", TypeEpicStyle.Render("epic")},
|
||||
{"chore", TypeChoreStyle.Render("chore")},
|
||||
{"agent", TypeAgentStyle.Render("agent")},
|
||||
{"role", TypeRoleStyle.Render("role")},
|
||||
{"rig", TypeRigStyle.Render("rig")},
|
||||
// Gas Town types (agent, role, rig) have been removed - they now fall through to default
|
||||
{"agent", "agent"}, // Falls through to default (no styling)
|
||||
{"role", "role"}, // Falls through to default (no styling)
|
||||
{"rig", "rig"}, // Falls through to default (no styling)
|
||||
{"custom", "custom"},
|
||||
}
|
||||
for _, tc := range cases {
|
||||
|
||||
Reference in New Issue
Block a user