store-editor

Build interactive TUI editors for storage.Store configuration schemas in Go.

54|6|Updated Jan 7, 2026
One-click install
npx skills add https://github.com/schmitthub/clawker --skill store-editor-schmitthub
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: store-editor
Source: https://github.com/schmitthub/clawker/tree/main/.agents/skills/store-editor
Command: npx skills add https://github.com/schmitthub/clawker --skill store-editor-schmitthub

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Adding or changing a store editor in this Go codebase requires coordinating four layers — Cobra commands, domain adapters, the storeui orchestration package, and TUI presentation models — and getting the reflection, override, and per-field save semantics right is error-prone without a documented contract. ## Core Features & Use Cases - Architecture guidance: Documents the four-layer design (command → domain adapter → orchestration → presentation) and the import boundary that keeps bubbletea out of storeui. - Step-by-step build recipe: Walks through creating a domain adapter with Overrides and LayerTargets, wiring a Cobra edit command, and registering it in the parent command. - Testing patterns: Provides concrete test templates for override path validation, round-trip integration tests, WalkFields checks, and BubbleTea model tests. - Use Case: When adding a new settings or project edit command, follow the checklist to define field overrides, derive save targets from store.WriteTargets(), and verify behavior with round-trip tests. ## Quick Start Ask the agent to add a new store editor for a configuration domain following the store-editor skill's adapter, command, and testing checklist.

Frequently Asked Questions about store-editor

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add a new store editor for a config schema?▼

Create a domain adapter package exporting Overrides, LayerTargets, and Edit functions, then add a Cobra command under internal/cmd that loads the config, gets the store, and calls the adapter's Edit. Finally wire the command into the parent command's AddCommand list.

How do I hide or make fields read-only in the field browser?▼

Set Hidden: true in an Override to remove a field, including prefix-based hiding of entire subtrees. Set ReadOnly for fields managed by other systems, and use Kind plus Options for constrained select fields.

What Go types does the store UI field walker support?▼

WalkFields maps string, bool, *bool, int, []string, time.Duration, map[string]string, and []struct to corresponding FieldKinds with dedicated editors. Nested structs are recursed, and unrecognized types fall back to a read-only raw YAML textarea.

How are individual field edits saved to config layers?▼

Edits are coerced to typed values via SetFieldValue, staged with store.Set, then persisted to a chosen layer file with store.WriteFieldTo. Deletes go through store.Remove, and WriteFieldTo remerges layers so re-reads reflect the true merged state.

Why does the store editor panic on duplicate override paths?▼

ApplyOverrides panics on duplicate override paths because they indicate a programming error in the adapter. Catch this in tests by asserting each override path matches a real walked field and appears only once.