Commit Graph

97 Commits

Author SHA1 Message Date
lucaronin
1a627877db feat: detect layout/structural changes in design-diff-analyzer
- Detect new components added (frames with names)
- Detect components removed
- Detect height/structural changes
- Add high-priority layout tasks

Now catches additions like macOS title bar that were previously missed.
2026-02-17 16:36:02 +01:00
lucaronin
40b0d4f867 feat: add macOS title bar to UI design 2026-02-17 16:33:14 +01:00
lucaronin
348b028e2a fix: use dynamic color-coding for active note states based on type 2026-02-17 14:24:13 +01:00
lucaronin
7d4f21e260 feat: add semantic analysis to design-diff-analyzer
- Detect design patterns (color-coding systems, contrast improvements, spacing)
- Analyze design intent and explain **why** changes were made
- Add critical warnings for dynamic implementations (e.g., color-coding must be type-based, not hardcoded)
- Include intent analysis in output for Claude Code

This helps Claude Code understand the **system** behind changes, not just apply spot modifications.
2026-02-17 14:22:31 +01:00
lucaronin
a7b6726964 feat: update sidebar colors and spacing - accent colors, increased gaps 2026-02-17 14:12:56 +01:00
lucaronin
b143dc9d98 updated the design 2026-02-17 14:09:44 +01:00
lucaronin
123ba66f6e fix: convert design-diff-analyzer to ES modules
- Use import instead of require (package.json has type: module)
- Fixes script execution for post-commit hook
2026-02-17 14:08:04 +01:00
lucaronin
0b3d190644 feat: sidebar redesign - chevron right, remove section badges, align groups 2026-02-17 13:47:48 +01:00
lucaronin
5c7c06705f feat: update Sidebar to match design - traffic lights, wrench icon, proper indentation 2026-02-17 13:45:09 +01:00
lucaronin
cfa4754f29 feat: auto-implement design changes via post-commit hook
- Add scripts/design-diff-analyzer.js to detect design changes
  • Analyzes ui-design.pen diff (colors, typography, spacing, layout)
  • Generates implementation tasks for Claude Code
  • Distinguishes content-only changes (no implementation)
- Add .git/hooks/post-commit to spawn Claude Code automatically
  • Triggers when ui-design.pen is committed
  • Spawns isolated sub-agent with auto-notify on completion
  • 10min timeout, auto-cleanup after done
- Update install-hooks.sh to install post-commit hook
- Document full workflow in .github/HOOKS.md

Workflow: commit design → analyzer runs → Claude Code spawns → implements → notifies Brian → Brian notifies Luca
2026-02-17 13:27:09 +01:00
lucaronin
81d00395db design: extend note preview text in mockup
- Note 1: 'modern stack...' → 'modern stack and updated visual language...'
- Note 2: 'hiring priorities...' → 'hiring priorities with the engineering team leads...'

Changes are cosmetic mockup text only, no code implementation needed.
2026-02-17 13:22:34 +01:00
lucaronin
d79b1f62eb fix: update pre-commit hook to detect MCP config
- Check for CodeScene in ~/.claude/mcp.json (MCP setup)
- Fallback to ~/.codescene/token (CLI setup)
- Now works with standard Claude Code + CodeScene MCP
2026-02-17 13:17:23 +01:00
lucaronin
f47dcd56ee docs: add README and shareable git hooks
- Add README.md with quick start, docs links, dev workflow
- Add .github/hooks/ with installable pre-commit hook
- Add install-hooks.sh script for easy setup
- Hook checks code health, warns on large changes
- Documentation in .github/HOOKS.md
2026-02-17 13:14:20 +01:00
lucaronin
70fcc8594e feat: add pre-commit hook for CodeScene quality checks
- Add .git/hooks/pre-commit with CodeScene integration
- Warns on large file changes (>500 lines)
- Suggests Claude Code + MCP for detailed analysis
- Bypassable with --no-verify or [skip codescene]
- Add .github/HOOKS.md documentation
2026-02-17 13:13:28 +01:00
lucaronin
544415e1fa fix: remove non-existent CodeScene GitHub Action
- CodeScene doesn't have an official GitHub Action
- Use local CodeScene CLI or MCP tools instead
- Other checks (tests, coverage, lint, docs) still enforced
2026-02-17 13:11:26 +01:00
lucaronin
e7c4563200 feat: add comprehensive documentation and CI/CD pipeline
- Add docs/ with ARCHITECTURE, ABSTRACTIONS, GETTING-STARTED, THEMING
- Add GitHub Actions workflow with automated quality checks:
  • Tests (frontend + Rust)
  • Coverage (70% threshold)
  • Code Health (CodeScene delta analysis)
  • Documentation check (warning only)
  • Lint & Format (ESLint + Clippy + rustfmt)
- Configure coverage in vite.config.ts (v8 provider, 70% threshold)
- Add test:coverage script to package.json
- Install @vitest/coverage-v8
- Update CLAUDE.md with docs-update requirement
- Add CI/CD setup guides in .github/
2026-02-17 13:10:43 +01:00
lucaronin
f9d9bdabf7 refactor: decompose Inspector.tsx into EditableValue, DynamicPropertiesPanel, and frontmatter utils 2026-02-17 12:12:32 +01:00
lucaronin
47deb6f3b7 refactor: extract useVaultLoader and useNoteActions hooks from App.tsx 2026-02-17 12:10:21 +01:00
lucaronin
e805970c17 refactor: extract wikilink utils and DiffView from Editor.tsx 2026-02-17 12:08:03 +01:00
lucaronin
27e1d71488 refactor: extract DiffView into its own file from Editor.tsx 2026-02-17 12:07:23 +01:00
lucaronin
b3039f98cc refactor: replace manual days_from_epoch with chrono in vault.rs 2026-02-17 12:06:31 +01:00
lucaronin
c7b20fd938 refactor: extract frontmatter.rs module from vault.rs with with_frontmatter() helper 2026-02-17 12:05:39 +01:00
lucaronin
9b4fe05883 fix: correct flaky test assertions for is_a folder inference 2026-02-17 12:03:32 +01:00
lucaronin
3572d0238b test: add Editor.tsx unit tests
- Empty state rendering with keyboard shortcut hints
- Tab bar rendering and switching between tabs
- Close tab interaction
- Breadcrumb bar with note type, title, and word count
- New note button in tab bar
- BlockNote editor rendering
- Modified indicator and diff toggle button
- Inspector panel integration
2026-02-17 11:59:21 +01:00
lucaronin
0c2cfe13bf test: add App.tsx integration tests
- Renders four-panel layout with sidebar, note list, editor
- Loads and displays vault entries from mock data
- Shows empty state when no note is selected
- Keyboard shortcut Cmd+S shows toast
- Verifies default sidebar selection (All Notes)
2026-02-17 11:59:17 +01:00
lucaronin
ddb2ca0783 fix: update tests to match redesigned UI
- Remove Sidebar tests for removed elements (app title, search bar)
- Update Inspector tests: header is now 'Properties' not 'Inspector'
- Fix status pill test to check inline styles instead of old CSS class
- Update relationship tests to use frontmatter-based rendering
- Fix 'no relationships' test to use content without relationship keys
2026-02-17 11:56:17 +01:00
lucaronin
7f047210e4 docs: enforce atomic commits in CLAUDE.md guidelines 2026-02-17 11:34:17 +01:00
lucaronin
fe997b8d4d feat: redesign v2 — inspector layout fix, editor scroll, diff moved to breadcrumb bar
- Fix editor scroll (min-height: 0 + overflow)
- Properties panel extends full height
- Moved Diff button to git-branch icon in breadcrumb bar
- Minor CSS fixes for app layout
2026-02-17 11:31:23 +01:00
lucaronin
d8b91522bb Remove dark mode — force light mode only
- Remove .dark CSS variables block from index.css
- Remove theme toggle state and Cmd+Shift+T shortcut from Sidebar
- Remove dark class initialization from main.tsx
- Hardcode BlockNote theme to 'light' in Editor
- shadcn dark: classes left in place (harmless, no-op without .dark class)
2026-02-17 11:03:23 +01:00
lucaronin
6989f44031 feat: migrate to shadcn/ui
Install Tailwind CSS v4 + shadcn/ui with Radix UI primitives. Migrate all
UI components (Sidebar, NoteList, Editor tabs, Inspector, dialogs, palette)
from BEM CSS to Tailwind utility classes and shadcn components (Button,
Input, Dialog, Badge, etc.). Map theme system to shadcn CSS variables while
preserving BlockNote editor styles untouched. Remove 8 old CSS files.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 16:56:44 +01:00
lucaronin
4d33435bfd Revert "feat: block numbers + active block highlight (onSelectionChange)"
This reverts commit c9b999279d.
2026-02-16 14:50:29 +01:00
lucaronin
c9b999279d feat: block numbers + active block highlight (onSelectionChange) 2026-02-16 14:49:30 +01:00
lucaronin
5da48acb90 feat: 🌳 emoji favicon 2026-02-16 14:26:36 +01:00
lucaronin
8fc759da99 fix: remove vertical nesting lines for cleaner list appearance 2026-02-16 14:24:15 +01:00
lucaronin
59d1bf8e8e feat: kitchen-sink mock note with all markdown features for visual testing 2026-02-16 14:12:56 +01:00
lucaronin
78fedc92e7 fix: align list nesting vertical lines with bullet center via ::before left offset 2026-02-16 14:07:02 +01:00
lucaronin
00ad997a26 fix: allow all hosts in vite config for tunnel access 2026-02-16 14:04:15 +01:00
lucaronin
94cd8bdcc1 feat: title separator, centered editor, handle spacing, list line alignment 2026-02-16 13:50:21 +01:00
lucaronin
fd021b2c1a fix: side menu handles horizontal layout for better vertical alignment with headings 2026-02-16 09:27:28 +01:00
lucaronin
94936f2f27 fix: override BlockNote default line-height 1.5 on .bn-block-outer with theme value 2026-02-16 09:17:03 +01:00
lucaronin
711f3c7bc4 feat: add bulletGap and checkbox gap controls in theme.json 2026-02-16 08:54:11 +01:00
lucaronin
16f8056991 fix: bullet/checkbox vertical alignment with text line, heading margins on block-outer 2026-02-16 08:52:18 +01:00
lucaronin
6e1a98ad6c fix: heading handle alignment (padding on block-outer), bullet/checkbox/list CSS targeting 2026-02-16 08:33:15 +01:00
lucaronin
6ef354e639 fix: heading margins on .bn-block wrapper so drag handles stay vertically aligned 2026-02-16 08:24:49 +01:00
lucaronin
4c211e09bc fix: editor content survives theme HMR + bullet marker styling + indent control 2026-02-16 08:21:23 +01:00
lucaronin
405d5f39fc feat: comprehensive theme.json config with live hot-reload for editor styling 2026-02-16 08:04:06 +01:00
lucaronin
9afc13811e merge: blocknote-poc into main 2026-02-16 07:55:46 +01:00
lucaronin
9a9769334e feat: proper wiki-links as custom BlockNote inline content with suggestion menu
- Custom 'wikilink' inline content type via createReactInlineContentSpec
- Extended BlockNote schema with wikilink spec
- Suggestion menu triggered by [[ showing all vault entries
- Markdown round-trip: [[target]] → placeholder tokens → wikilink inline content
- Click handler on .wikilink elements for navigation
- Removed old hack (regex preprocessing to wikilink.internal URLs + DOM click interception on <a> tags)
- Added .wikilink CSS styles
- Passed entries prop from App.tsx to Editor for suggestion menu
2026-02-15 19:50:23 +01:00
lucaronin
4284ed3221 fix: working wiki-link click interception via capture-phase handler on container 2026-02-15 19:41:39 +01:00
lucaronin
465e40a6a8 fix: remove href from wikilink anchors to prevent browser navigation, use onclick instead 2026-02-15 19:35:31 +01:00