Skip to content

Conversation

@ammario
Copy link
Member

@ammario ammario commented Oct 6, 2025

Problem

The docs workflow currently installs mdbook-mermaid and mdbook-linkcheck from source on every run, which takes 2-3 minutes.

Solution

Add GitHub Actions caching for compiled binaries in ~/.cargo/bin:

  • Cache key includes plugin versions to invalidate when versions change
  • Only install plugins if not already present in cache
  • Setup Rust toolchain for cargo commands

Impact

  • Reduces CI time from ~2-3 minutes to ~30 seconds on cache hit
  • 🔄 Cache persists across runs
  • 🎯 Automatically invalidates when plugin versions change

Testing

Will be validated by this PR's own CI run (first run will populate cache, subsequent runs will be faster).

Generated with cmux

ammario added 24 commits October 6, 2025 12:02
- Initialize mdbook in docs/ directory
- Add mermaid support for diagrams
- Add linkcheck for link validation
- Create example pages (intro, getting started, architecture)
- Add GitHub Actions workflow for auto-deployment to GitHub Pages
- Add bun scripts: docs, docs:build, docs:watch

_Generated with `cmux`_
- Remove generated JS files from git (mermaid-init.js, mermaid.min.js)
- Update GitHub repo URLs from ammarbandukwala to coder
- Add scripts that auto-install mermaid assets if missing
- Add mermaid JS files to .gitignore
- Remove architecture.md (docs are for users not developers)
- Update getting-started.md with install instructions from README
- Remove architecture from SUMMARY.md
- Remove architecture docs (for developers, not users)
- Update getting started with install instructions from README
- Focus on user-facing content only
- Create docs/src/keybinds.md with all keybinds
- Use src/utils/ui/keybinds.ts as source of truth
- Add cross-references in both files to keep them in sync
- Fix intro.md to remove architecture link
- Update SUMMARY.md to include keybinds page
- Create docs/theme/custom.css with app colors
- Use dark background (#1e1e1e) matching app
- Fix table cell alignment to left
- Style code blocks, links, sidebar to match app
- Update book.toml to include custom CSS
- Set .sidebar-resize-handle to #333333 (close to requested #323232)
- Uses existing --bg-tertiary variable
- Keep color change (accent-blue) on active links
- Remove background-color, set to transparent
- Set --bg to use --bg-primary (#1e1e1e)
- Ensures consistency with our custom theme colors
- Override --table-alternate-bg to use --bg-secondary (#262626) instead of blue
- Hide theme selector with theme-toggle = false in book.toml
- Keep single consistent dark theme
- Remove invalid theme-toggle config option
- Hide theme selector with CSS: #theme-toggle and .theme-popup
- Keep single dark theme enforced
- Update .sidebar .chapter li.chapter-item a from text-secondary to text-primary
- Makes sidebar links more visible (#d4d4d4)
- Remove duplicate content in docs/src/intro.md
- Create symlink to README.md as single source of truth
- Keeps docs introduction in sync with repo README
- Create docs/src/CLAUDE.md as symlink to ../../CLAUDE.md
- Add to SUMMARY.md as 'Developer Guide'
- Fixes linkcheck error from README intro
- Makes developer documentation accessible in docs
- Change link from (CLAUDE.md) to (./CLAUDE.md)
- Makes link work correctly when README is symlinked in docs
- Still works fine on GitHub
- mdbook linkcheck forbids symlinks outside root
- Copy file instead to fix linkcheck error
- Note: This creates duplication - need to keep both files in sync
- Rename CLAUDE.md to AGENTS.md (more general name for AI assistants)
- Make CLAUDE.md a symlink to AGENTS.md for backwards compatibility
- Update README.md to reference AGENTS.md
- Update docs to use AGENTS.md instead of CLAUDE.md
- Update SUMMARY.md to title it 'AGENTS' instead of 'Developer Guide'
- docs/src/AGENTS.md is the canonical file (source of truth)
- AGENTS.md at root is symlink to docs/src/AGENTS.md
- CLAUDE.md at root is symlink to docs/src/AGENTS.md (backwards compat)
- Satisfies mdbook linkcheck while maintaining symlink consistency
- Change pre > code padding from 0 to 6px
- Improves readability of code blocks in docs
- Rename getting-started.md to install.md
- Update SUMMARY.md sidebar link
- Change page title from 'Getting Started' to 'Install'
- Break symlink: README and intro.md are now separate files
- README is minimal and links to published docs
- intro.md is comprehensive documentation welcome page
- README focuses on quick start and links out
- Change all docs URLs from coder.github.io/cmux to cmux.io
- Update README.md and docs/README.md
- Change title from 'cmux Documentation' to 'cmux docs'
- Simplify intro.md content
- Update mode references from 'plan/edit/yolo' to 'plan/exec'
- Streamline 'Why cmux?' section
@ammario
Copy link
Member Author

ammario commented Oct 6, 2025

Closing due to conflicts. Will create fresh PR with caching from current main.

@ammario ammario closed this Oct 6, 2025
@ammario ammario deleted the cache-mdbook-plugins branch October 6, 2025 17:34
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.

1 participant