Add documentation website that dogfoods all Sailkit packages#6
Open
joshribakoff wants to merge 44 commits intointegrationfrom
Open
Add documentation website that dogfoods all Sailkit packages#6joshribakoff wants to merge 44 commits intointegrationfrom
joshribakoff wants to merge 44 commits intointegrationfrom
Conversation
Creates a full Astro documentation site in docs/ that demonstrates: - Compass: Sidebar navigation structure + prev/next links - Teleport: Vim keybindings (j/k, h/l, Ctrl+d/u) - Lantern: Dark/light theme toggle with flash prevention - Lighthouse: Smart 404 with fuzzy URL matching - Atlas: Wiki-style [[magic-links]] throughout content Includes 16 documentation pages covering: - Introduction and getting started guides - Individual package documentation - Task-based guides (vim-navigation, theming, magic-links, smart-404) - Architecture overview 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add hamburger button that toggles sidebar on mobile breakpoint - Add overlay that closes sidebar when clicked - Auto-expand collapsed nav sections when vim j/k navigation enters them - Update installation docs to reflect packages not yet published to npm 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add spyglass.md: Site search UI layer (adapts Fuse.js/MiniSearch/Pagefind) - Add scribe.md: Documentation testing (extract and verify code blocks) - Update packages.md: Now 7 packages (5 implemented, 2 planned) - Update navigation.ts: Add spyglass and scribe to sidebar - Update comparison table with status column 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Extracts TypeScript/JavaScript code blocks from markdown - Executes code and checks exit codes for pass/fail - Parallel execution with configurable concurrency - TTY detection for interactive vs CI output - Vitest-style progress display with spinners 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Replace child process spawning with in-process execution: - Use esbuild transform for TypeScript transpilation - Execute code in vm sandbox with captured console output - Reduces test time from ~62s to ~0.26s 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Use commander for CLI argument parsing - Make path argument required (like ESLint/Prettier) - Add IO interface for testability (mock stdout/stderr) - Add vitest with 8 unit tests using mock IO - Fix parser to handle info strings with 'scribe' marker 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Remove scribe marker requirement - all JS/TS blocks tested by default - Add nocheck marker to skip specific blocks (```ts nocheck) - Add vitest.config.ts to exclude dist folder from tests 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
lantern: Theme toggle library
…key binding DSL Add validation for parseKey() to reject invalid key binding syntax with clear error messages. Includes tests for: empty strings, whitespace, leading/trailing/ consecutive plus signs, unrecognized modifiers, duplicate modifiers, modifier-only bindings, and suspicious multi-character keys. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add initial playwright test setup for teleport package: - playwright.config.ts configuration - e2e scroll tests with fixture HTML files - Basic teleport spec placeholder Tests are a work in progress and not yet passing. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
…w the single source of truth 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Update package names and all import references across compass and lantern packages. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Rename npm scope from @sailkit to @bearing-dev
- Add createTeleport() that scans DOM, uses Compass internally, handles highlighting - Simplify Teleport.astro to thin wrapper around createTeleport() - Update README with design philosophy: drop-in, framework-agnostic - Add toggleSidebar binding (t key) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add sidebarSelector to detect when sidebar is hidden - Add whenHidden option: 'ignore' (default) or 'show-sidebar' - j/k/Enter now respect sidebar visibility state - Document why Teleport exists vs mousetrap in README 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Remove highlightVisible state tracking. Teleport now simply adds a CSS class to the current item - visibility is the consumer's concern via their own CSS styling. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
When sidebar is hidden and whenHidden='ignore', navigation keys (j/k/arrows) now scroll the content instead of doing nothing. Scroll amount is 1/4 viewport height (smaller than Ctrl+D/U which uses 1/2). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
When sidebar is hidden with whenHidden='ignore' (default): - Arrow keys pass through to browser for native scroll feel - j/k/Enter do nothing (sidebar navigation doesn't apply) - Press t to toggle sidebar back for navigation This works the same whether sidebar is hidden due to responsive breakpoint or user toggle. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- gg (two g's in quick succession) goes to first item - G (Shift+g) goes to last item - Sequence detection with 500ms timeout between keypresses - Added tests for new bindings 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add breakpoint config: 'desktop' mode passes arrows through for native scroll - Teleport.astro uses matchMedia to detect breakpoint dynamically - Change gg/G to scroll page content instead of navigating sidebar - Use instant scroll on initial page load (no animation jumping) - Add tests for desktop/mobile breakpoint behavior 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Remove hardcoded .teleport-highlight styles from library. Consumer is now responsible for styling the highlight class. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Implement @sailkit/teleport vim-style keyboard navigation
- Update all package.json names to @sailkit/ scope - Update all source imports and README references - Fix teleport.md: remove hallucinated createDOMNavigator API, use correct createTeleport with proper callback names (onDown/onUp not onNextItem/onPrevItem) - Fix scribe.md: update to actual exports (parseMarkdown, filterTestableBlocks, runBlocks), remove outdated "Planned" status, document nocheck marker 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Update runner.ts to use esbuild build (not transform) for proper bundling - Resolve imports from workspace root node_modules - Add global assert to sandbox - Add nocheck to docs with browser APIs (document, window) or partial examples Scribe now validates 10/10 testable blocks in compass, lantern, lighthouse docs. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Auto-detects document/window/localStorage usage via regex and injects JSDOM globals into the VM sandbox. Enables testing of browser API examples. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Update all package.json names and dependencies - Update imports in source files, docs, and config - Replace npm install instructions with git URL method - Packages not published to npm yet, use github:sailkit-dev/sailkit#main 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add Teleport component to index.astro - Add nav-item class to CTA buttons and package cards - Add teleport-highlight styles 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Individual package lock files are redundant with root workspace lock. The file also had outdated @sailkit/* naming. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
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.
Summary
🤖 Generated with Claude Code