Skip to content

chore: promote development to main (2026-08-24) - #75

Merged
Wikid82 merged 8 commits into
mainfrom
development
Aug 24, 2026
Merged

chore: promote development to main (2026-08-24)#75
Wikid82 merged 8 commits into
mainfrom
development

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

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

966df95 chore: update npm dependency lockfile
8f570fe chore: repo maintenance tooling (lint, format, pre-commit hooks, contributor docs) (#74)
afa64b7 docs: add CONTRIBUTING.md, PR template, and document tooling
dda66e9 style: apply prettier formatting to existing files
bb1ed3c chore: add ESLint, Prettier, and lefthook tooling
ffebd9d feat: support nested (sub-)folders (#73)
3145ca7 feat: support nested (sub-)folders
82f0353 chore: propagate main into development (#71)

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.

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-commenter

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 97.51861% with 10 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
extension.ts 97.51% 0 Missing and 10 partials ⚠️

📢 Thoughts on this report? Let us know!

@Wikid82
Wikid82 merged commit a9947f4 into main Aug 24, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants