Skip to content

Repo standardisation and DB layer simplification#12

Merged
MelbourneDeveloper merged 27 commits intomainfrom
docoupdate
Apr 6, 2026
Merged

Repo standardisation and DB layer simplification#12
MelbourneDeveloper merged 27 commits intomainfrom
docoupdate

Conversation

@MelbourneDeveloper
Copy link
Copy Markdown
Collaborator

TLDR;

Standardises repo infrastructure (Makefile, CI workflows, docs structure, agent config) and simplifies the DB layer by removing unnecessary Result wrapping from internal functions.

Details

What Was Added:

  • New Claude skills: code-dedup, spec-check, upgrade-packages
  • Agent instruction files for Cursor, Windsurf, Copilot, Cline (all point to CLAUDE.md)
  • opencode.json config
  • post-release job in release workflow: auto-bumps package.json version and triggers website deploy
  • deploy-pages.yml replaces both deploy-website.yml (now workflow_dispatch) and deploy.yml (deleted)
  • Lock recovery spec section in docs/specs/database.md
  • Parsing strategy spec [DISC-PARSE-STRATEGY] in discovery docs
  • Mise task type added to README supported types table

What Was Changed:

  • Makefile rewritten with cross-platform OS detection, help target, public/private target split, fmt-check target, and standardised interface
  • CLAUDE.md / Agents.md consolidated and restructured with logging standards, spec ID rules, and updated command table
  • .gitignore expanded with universal patterns and secret exclusions
  • .prettierrc renamed to .prettierrc.json with explicit settings
  • DB layer (db.ts, lifecycle.ts): initSchema, registerCommand, ensureCommandExists, closeDatabase, addTagToCommand, removeTagFromCommand, getAllTagNames, getCommandIdsByTag, reorderTagCommands, getAllRows, upsertSummary — all changed from Result<T,E> returns to direct returns (throw on unrecoverable errors only). New getDbOrThrow() convenience function replaces repeated getDb() + Result unwrapping
  • CommandTreeProvider, QuickTasksProvider, TagConfig, extension.ts, TaskRunner, summaryPipeline — simplified by removing Result unwrapping boilerplate, using getDbOrThrow()
  • CI workflow: make format replaces make fmt-check for the format step
  • Coverage thresholds updated to reflect current coverage levels
  • Docs moved from docs/*.md to docs/specs/*.md and docs/plans/
  • release.yml adds marketplace publish step and post-release job
  • VS Code workspace settings add title bar colour customisation
  • Lint fix: renamed dbPath parameter to targetDbPath in dbLockRecovery.unit.test.ts to resolve no-shadow error
  • README updated: 22 tool types, Mise added, text filter references removed

What Was Deleted:

  • .github/workflows/deploy.yml (superseded by release.yml post-release job)
  • .prettierrc (replaced by .prettierrc.json)
  • Result wrapping removed from all internal DB functions that cannot meaningfully recover from errors
  • /* istanbul ignore */ comments removed from DB functions that are now directly tested

How do the tests prove the change works

  • 84 unit tests pass (including dbLockRecovery.unit.test.ts lock removal tests, model selection, task runner param formatting, tree hierarchy, discovery, PowerShell parser)
  • 143 E2E tests pass covering: tree view click behaviour, folder hierarchy, make target line navigation, tag commands, junction table tagging, command runner (shell/npm/make/python/launch/vscode tasks), discovery (22 providers), configuration, quick tasks drag-and-drop, markdown preview, filtering, file utils, DB operations
  • 48 website Playwright tests pass (SEO, navigation, blog, docs, dark mode, responsive)
  • Coverage thresholds met (84.19% lines, 76.73% branches, 81.91% functions)

MelbourneDeveloper and others added 27 commits March 26, 2026 21:09
Discover tasks from mise.toml, .mise.toml, mise.yaml, and .mise.yaml
config files. Extracts task names and descriptions from [tasks.*] TOML
sections and tasks: YAML blocks.

Fixes TOML parser to recognize [tasks.name] sections without requiring
a bare [tasks] preamble, matching how mise configs are written in
practice.
The extra docs/api-reference.md and docs/empty.md fixture files caused
the docs/ directory to have 3 markdown files, triggering folder node
wrapping in the tree view. This made guide.md unreachable by the
markdown E2E tests which only check immediate category children.
@MelbourneDeveloper MelbourneDeveloper merged commit 32e3da7 into main Apr 6, 2026
2 checks passed
@MelbourneDeveloper MelbourneDeveloper deleted the docoupdate branch April 6, 2026 08:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants