chore: promote development to main (2026-08-24) - #75
Merged
Merged
Conversation
Adds an optional parentId to BookmarkFolder, capped at
MAX_FOLDER_DEPTH = 3 levels (root-level folders are depth 1). New
commands:
- createSubfolder (context menu on a folder): creates a folder
directly under it, skipping a parent picker since the parent is
implied by the click. Blocked with a warning if it would exceed
the depth cap.
- moveFolderToParent (context menu on a folder): reparents an
existing folder via a picker (pickParentFolder) that excludes the
folder itself, its descendants, and any parent that would exceed
the depth cap.
deleteFolder now promotes direct child folders to the root (not
deleted) the same way it already does for direct bookmarks.
getChildren recurses through the hierarchy; FolderGroupItem carries
its direct child folders and shows a subfolder count alongside the
bookmark count. List view shows a full breadcrumb path
("Backend › Auth Service") instead of just the immediate folder name.
Drag-and-drop: dropping a folder onto another folder now nests it as
that folder's last child (VS Code's tree DnD API can't distinguish
"dropped near" from "dropped on," so nesting wins over the reordering
shipped in #38 — reordering root-level folders now happens by
dropping on empty space, which still appends to the end). Nesting
that would exceed the depth cap or create a cycle is refused with a
warning message.
pickFolder (for bookmarks) now renders breadcrumb labels too, for
disambiguating same-named folders at different nesting levels; its
match-by-name matching becomes match-by-breadcrumb, a no-op change
for anyone not using nesting since a root folder's breadcrumb is
just its name.
Includes unit tests for the store, the depth/cycle helper functions,
both new commands, the provider's recursive getChildren, and the
new drag-and-drop nesting semantics, plus an e2e test exercising
real nested creation, tree recursion, and drag-and-drop reparenting.
npm run lint was tsc --noEmit only — a type-check, not a lint — with no formatter and nothing enforcing checks before a commit reached CI. - ESLint (flat config, typescript-eslint) split into lint:types/lint:style under the existing lint script, so CI's Lint step is a drop-in. - Prettier with a format/format:check script, wired into CI as a new step. - lefthook, installed via postinstall, running lint/format/test against staged files on pre-commit. Closes #54, #51.
Mechanical reformat only, no behavior change — establishes the baseline that npm run format:check now enforces in CI. Part of #54.
CLAUDE.md (an AI-assistant-facing file) was the only place the branching model, commit conventions, and Definition of Done were written down, so human contributors had no equivalent onboarding doc, and PRs had no checklist prompting them through it. - CONTRIBUTING.md summarizes the workflow and Definition of Done, linked from README's Development section. - .github/PULL_REQUEST_TEMPLATE.md mirrors that checklist on every PR. - CLAUDE.md/README updated to describe the lint:types/lint:style split, format:check, and the new lefthook pre-commit hook. Closes #53, #52.
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Promote development to main
Date: 2026-08-24
Trigger: Scheduled weekly promotion
CI on development HEAD: https://github.com/Wikid82/Workspace-File-Bookmarks/actions/runs/32673526322
Commits being promoted
Merge instructions — important
Use "Create a merge commit", not squash or rebase. Squashing collapses every
feat:/fix:commit into one bullet-list body, which release-please can't parse —version bumps and changelog entries silently stop working.
Opened automatically by Promote development to main.