Skip to content

v0.17.11#100

Merged
runkids merged 20 commits intomainfrom
v0.17.11
Mar 25, 2026
Merged

v0.17.11#100
runkids merged 20 commits intomainfrom
v0.17.11

Conversation

@runkids
Copy link
Owner

@runkids runkids commented Mar 25, 2026

  1. Extras flatten — new flatten: true option for extras targets syncs all files from subdirectories directly into the target root, solving the problem where AI tools like Claude Code only discover top-level files
  2. Full CLI support--flatten for extras init, --flatten/--no-flatten for extras mode, flatten indicator in extras list
  3. TUI + Web UI — flatten toggle in the init wizard and Extras page, with config editor validation

runkids added 14 commits March 25, 2026 11:53
When flatten=true, SyncExtra maps subdirectory files to target root
using filepath.Base(). First file wins on collision, subsequent are
skipped with warnings. Includes config validation, sync-time guard,
CheckSyncStatus collision handling, and CollectExtraFiles support.

Ref: #97
extras init --flatten, extras mode --flatten/--no-flatten, extras list
flatten indicator. TUI wizard adds flatten toggle phase after mode
selection (skipped for symlink). Back-navigation updated.

Ref: #97
Server handlers accept/return flatten field. Extras page shows flatten
checkbox per target. Config editor validates flatten+symlink constraint.

Ref: #97
Covers: flatten merge (files land flat), collision detection (warn and
skip), and config YAML round-trip.

Ref: #97
Extras command docs, config reference, built-in skill, website
changelog, release notes. Add mk-imagine to README contributors.

Ref: #97
- name: claude under targets was showing mode doc (targets.mode)
  instead of target name doc. Fixed by adding targets.name fieldDoc
  entry which scores higher in subsequence matching.
- Bare list values like "- agents" (short-form target name) were
  invisible: extractKey, parseYamlTree, and lookupFieldDoc now
  handle them.
FlattenRel: 100% coverage (flatten, no-flatten, collision).
CheckSyncStatus: 0% → 84% (synced, drift, flatten synced, flatten
drift, flatten collision not drift, copy mode).
Hovering shows: "Sync files from subdirectories directly into the
target root (e.g., for tools that only discover top-level files)"
extras <name> --flatten and extras <name> --no-flatten were rejected
as "unknown subcommand" because the shorthand dispatch only checked
for --mode. Now recognizes all three flags.

Ref: #97
9 scenarios covering: flatten sync, flat layout, JSON field, collision
detection + warning, toggle on/off, symlink rejection, prune.
Self-contained steps (each sets up its own state).

Note: designed for ssenv direct execution, not mdproof (HOME
isolation conflict between mdproof and ssenv).

Ref: #97
Press F to toggle flatten on/off for a target. Single-target extras
toggle directly; multi-target extras show a target picker first.
Shows "Flatten enabled/disabled" confirmation message.
@runkids runkids linked an issue Mar 25, 2026 that may be closed by this pull request
@runkids runkids self-assigned this Mar 25, 2026
@runkids runkids added the feature New feature or request label Mar 25, 2026
@gemini-code-assist
Copy link

Warning

Gemini encountered an error creating the summary. You can try again by commenting /gemini summary.

runkids added 6 commits March 25, 2026 18:40
- Self-contained steps pattern to avoid mdproof setup conflicts
- extras remove writes errors to stdout, not stderr
Move version field from top-level frontmatter to metadata block:
  metadata:
    version: v0.17.11

ReadLocalSkillVersion and FetchRemoteSkillVersion now parse
metadata.version with fallback to top-level version for backward
compatibility.
Test SKILL.md content changed from top-level version: to
metadata.version to match the new format.
…rget is omitted

For multi-target extras, ss extras agents --flatten now sets flatten
on all targets at once instead of requiring --target. Mode changes
still require --target for multi-target extras.
@runkids runkids merged commit 580ad58 into main Mar 25, 2026
8 checks passed
@runkids runkids deleted the v0.17.11 branch March 25, 2026 13:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: flatten option for extras sync

1 participant