Commit Graph

73 Commits

Author SHA1 Message Date
Vijay Janapa Reddi
566a69d471 chore(gitignore): track .vscode/settings.json for shared Peacock theme 2026-03-03 07:39:00 -05:00
Vijay Janapa Reddi
ccebf6346a chore: remove .gemini and clean up .gitignore 2026-03-03 07:30:59 -05:00
Vijay Janapa Reddi
e6051001b1 Parallel builds: track callout PDFs, fix extension errors, remove copy step
- .gitignore: allow book/quarto/assets/images/icons/callouts/*.pdf
- Add missing callout PDFs (takeaways, pitfall, fallacy) so worktrees have them
- Extension: runtime repo-root check and clearer errors for parallel debug
- Extension: remove copyCalloutPdfsToWorktree (PDFs now in repo by default)
- README: document parallel build requirements; drop callout copy note
2026-02-15 16:50:25 -05:00
Vijay Janapa Reddi
37d26f6def Book volumes: content, VS Code ext, CLI debug, and build updates 2026-02-15 16:02:54 -05:00
Vijay Janapa Reddi
c9d21b768b feat(binder): add render plots command for matplotlib figure gallery
Integrate figure rendering into the binder CLI so plots can be previewed
without a full Quarto build. Extracts Python code blocks with fig-* labels
from QMD files, renders them to PNG, and outputs a browsable gallery at
_output/plots/<chapter>/. Also fixes the package import chain so `binder`
works correctly as an installed entry point.

- Add book/cli/commands/render.py with RenderCommand class
- Wire into main.py with help table entry and command dispatch
- Add matplotlib>=3.7.0 to pyproject.toml dependencies
- Add book/quarto/_output/ to .gitignore
- Archive standalone render_figures.py to _archive/
2026-02-14 12:43:23 -05:00
Vijay Janapa Reddi
9797b74707 Improves figure list generation for book builds
Refactors figure list generation to reliably locate and clear LaTeX manifest files.

- Searches for the figure manifest in both the quarto root and build output directory,
  handling cases where the post-render step moves the file.
- Clears stale manifests from both locations to avoid incorrect figure counts from
  previous builds.
- Moves the LaTeX manifest to the build output directory to keep the source
  tree clean.
- Updates the merge script to find the manifest dynamically.

This prevents issues where figure counts are mismatched due to outdated or
missing manifest files.
2026-02-09 15:33:45 -05:00
Vijay Janapa Reddi
224e6ad00e WIP: editorial updates across Vol 1/Vol 2 chapters and LaTeX config 2026-02-09 10:55:46 -05:00
Vijay Janapa Reddi
18be3650e4 refactor: improve prose flow and add EPUB config for Vol 1
- Remove redundant "This chapter..." openers from section starts
- Improve ml_systems chapter transitions and explanations
- Add EPUB build configuration for Volume 1
- Add index_figures.txt to .gitignore (build artifact)
2026-02-07 10:41:55 -05:00
Vijay Janapa Reddi
8f8af7b368 chore: add testing logs to gitignore 2026-02-02 06:52:53 -05:00
Vijay Janapa Reddi
5e93515e61 refactor: consolidate to volume-only structure
- Remove non-volume config files (_quarto-pdf.yml, _quarto-html.yml,
  _quarto-epub.yml) - only volume-specific configs remain
- Remove old shared contents/parts/ directory
- Move part dividers and summaries into vol1/parts/ and vol2/parts/
- Update all volume configs to reference new paths
- Add gitignore exception for book parts directories
2026-01-24 09:13:48 -05:00
Vijay Janapa Reddi
32e96e88a0 chore: update gitignore for kits build artifacts 2025-12-27 18:00:36 -05:00
Vijay Janapa Reddi
7e290309fc Move .claude to root level for monorepo support
- Remove tracked symlink from tinytorch/.claude
- .claude/ at root now links to AIConfigs (gitignored)
- Agents organized under agents/book/ and agents/tinytorch/
- Clean up duplicate entries in .gitignore
2025-12-18 08:22:48 -05:00
Vijay Janapa Reddi
3d515573b7 fix: correct module numbering in test file error messages
Module references were using an incorrect/outdated numbering scheme.
Updated to match actual module order: 01-Tensor through 13-Transformers.
2025-12-17 07:39:09 -05:00
Vijay Janapa Reddi
c8e97dd9d9 Excludes files from version control
Adds files generated by Claude and Cursor to .gitignore, preventing them from being tracked.
2025-12-10 19:36:45 -08:00
Vijay Janapa Reddi
3c17327df8 fix: add export directory guard and gitignore Quarto artifacts
- Add guard in tito src export to prevent running from wrong directory
- Add gitignore patterns for Quarto build artifacts (*.html, _xref.json, etc.)
- Add .cursor~HEAD to gitignore
- Fix tinytorch/* pattern to tinytorch/tinytorch/* (was ignoring entire subtree)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-10 19:23:14 -08:00
Vijay Janapa Reddi
47aa6667ec chore: add TinyTorch CI workflow and clean up gitignore
- Add tinytorch-ci.yml for TinyTorch test automation
- Add book/quarto/.gitignore for Quarto build artifacts
- Fix .gitignore to properly ignore symlinks (.claude, .cursor)
- Add README.html and pre-migration files to .gitignore
- Delete obsolete pre-migration tracking files
2025-12-06 07:19:25 -08:00
Vijay Janapa Reddi
7b92e11193 Repository Restructuring: Prepare for TinyTorch Integration (#1068)
* Restructure: Move book content to book/ subdirectory

- Move quarto/ → book/quarto/
- Move cli/ → book/cli/
- Move docker/ → book/docker/
- Move socratiQ/ → book/socratiQ/
- Move tools/ → book/tools/
- Move scripts/ → book/scripts/
- Move config/ → book/config/
- Move docs/ → book/docs/
- Move binder → book/binder

Git history fully preserved for all moved files.

Part of repository restructuring to support MLSysBook + TinyTorch.

Pre-commit hooks bypassed for this commit as paths need updating.

* Update pre-commit hooks for book/ subdirectory

- Update all quarto/ paths to book/quarto/
- Update all tools/ paths to book/tools/
- Update config/linting to book/config/linting
- Update project structure checks

Pre-commit hooks will now work with new directory structure.

* Update .gitignore for book/ subdirectory structure

- Update quarto/ paths to book/quarto/
- Update assets/ paths to book/quarto/assets/
- Maintain all existing ignore patterns

* Update GitHub workflows for book/ subdirectory

- Update all quarto/ paths to book/quarto/
- Update cli/ paths to book/cli/
- Update tools/ paths to book/tools/
- Update docker/ paths to book/docker/
- Update config/ paths to book/config/
- Maintain all workflow functionality

* Update CLI config to support book/ subdirectory

- Check for book/quarto/ path first
- Fall back to quarto/ for backward compatibility
- Maintain full CLI functionality

* Create new root and book READMEs for dual structure

- Add comprehensive root README explaining both projects
- Create book-specific README with quick start guide
- Document repository structure and navigation
- Prepare for TinyTorch integration
2025-12-05 14:04:21 -08:00
Vijay Janapa Reddi
aa25465477 chore: clean up build artifacts and update gitignore
Remove tracked build artifacts that should be regenerated:
- Diagram PDFs (3 files): Auto-generated by Quarto diagram extension
- Quarto HTML support files (frontiers_files): Bootstrap, clipboard, etc.

Update .gitignore to prevent future tracking:
- Add **/*_files/ pattern for Quarto HTML support directories
- These are auto-generated and should not be in version control

Cleanup also performed locally (not tracked in git):
- Removed .bak backup files
- Removed Python __pycache__ directories
- Removed loose diagram-*.pdf files from quarto root

All removed files will be regenerated automatically during builds.
2025-11-26 18:02:15 +01:00
Vijay Janapa Reddi
b564473e32 chore(config): consolidate gitignore and restore _quarto.yml
- Add quarto/_quarto.yml to version control (HTML config)
- Remove quarto/_quarto.yml from root .gitignore
- Consolidate quarto/.gitignore into root .gitignore
- Add **/*.quarto_ipynb pattern to root .gitignore
- Delete redundant quarto/.gitignore file
2025-11-11 08:09:48 -05:00
Vijay Janapa Reddi
c383a09160 Removes obsolete symlink and adds to ignore.
Removes a symbolic link to a config file that is no
longer used.

Adds the symbolic link filename to the .gitignore file
to prevent it from being accidentally added back to
the repository.
2025-11-10 19:58:08 -05:00
Vijay Janapa Reddi
be0694dc2e refactor(maintenance): consolidate release notes scripts into unified tool
Addresses script organization and maintainability:
- Merged generate_release_notes.py and release_notes.py into changelog-releasenotes.py
- Removed deprecated change_log.py (superseded by changelog-releasenotes.py)
- Added diagram-*.pdf to .gitignore (Quarto auto-generated cache files)

This consolidation simplifies the release workflow and eliminates duplicate code.
2025-11-02 11:03:07 -05:00
Vijay Janapa Reddi
417c4849f3 docs: add table formatter documentation and update dependencies
- Added comprehensive README for table formatter tool
- Updated tools dependencies
- Cleaned up development requirements
- Removed outdated footnote context
2025-10-06 14:12:21 -04:00
Vijay Janapa Reddi
1dac36aa80 fix(gitignore): allow workspace settings.json for theme configuration
- Add exception to .gitignore for .vscode/settings.json
- Preserves MLSysBook purple theme configuration in repository
- Still ignores other VS Code files for security
2025-09-08 08:53:26 -04:00
Vijay Janapa Reddi
0e15ba822d chore: add backup files to .gitignore
- Prevent *.bak files from being committed in the future
- Keep repository clean from script-generated backup files
2025-09-07 15:16:10 -04:00
Vijay Janapa Reddi
81457148cb chore: add lab build artifacts and swap files to gitignore 2025-09-07 14:38:34 -04:00
Vijay Janapa Reddi
16e2b8d881 chore: add quarto config backup to gitignore 2025-09-07 14:37:33 -04:00
Vijay Janapa Reddi
91c10a54c5 refactor: apply academic tone refinements to all chapters
- Remove AI/LLM writing patterns (delving, leveraging, etc.)
- Eliminate unnecessary dashes, em dashes, and hyphens
- Strengthen academic voice throughout
- Standardize terminology and sentence structure
- Preserve all technical accuracy and protected content
- Fix spelling errors caught by linter
2025-09-07 01:18:37 -04:00
Vijay Janapa Reddi
f830bc6131 gitignore: prevent backup files from being committed
Added *.backup.* pattern to .gitignore to prevent the section ID
manager backup files from being accidentally committed in the future.

Users can still create backup files locally with --backup flag,
but they won't be tracked in git.
2025-09-06 09:18:05 -04:00
Vijay Janapa Reddi
f2a4c7ec54 feat: consolidate knowledge maps and establish review file conventions
- Replace prescriptive KNOWLEDGE_MAP.md with hybrid empirical version
- Remove redundant KNOWLEDGE_MAP_V2.md
- Establish _reviews/ convention for temporary review files
- Update .gitignore to exclude temporary review directory
- Create README documenting temporary file conventions

The knowledge map now focuses on what each chapter teaches rather than
restrictive can/cannot rules, following the principle that historical
context is always acceptable while technical details must wait.
2025-09-06 08:25:46 -04:00
Vijay Janapa Reddi
fbc5055467 feat: add /improve Claude command and review system
- Create .claude/commands/improve.md for project command
- Add multi-perspective review system in review/
- Support smart file chunking for large files
- Generate small, focused PRs automatically
- Include 5 student perspectives for comprehensive review
- Update .gitignore to allow sharing Claude commands

Now accessible via /improve command in Claude Code
2025-09-05 07:44:55 -04:00
Vijay Janapa Reddi
83b76a19e8 chore: remove redundant .ai directory
- Eliminate duplication by removing .ai directory
- All AI configuration now consolidated in .cursor/ directory
- Update .gitignore to reflect single configuration location
- Simplify structure with single source of truth for AI config
2025-08-26 23:58:14 +02:00
Vijay Janapa Reddi
0a7db88eb1 feat(config): enhance AI configuration accessibility
- Add AI configuration section to .cursorrules for automatic discovery
- Create .cursor directory with symlinks to AI config files
- Add .cursor to gitignore to maintain privacy
- Enable multiple pathways for Cursor to access AI operational tooling
2025-08-26 23:51:20 +02:00
Vijay Janapa Reddi
c2fe80bf6d chore: add AI configuration to gitignore
Keep AI operational tooling private while maintaining local access for development workflow.
2025-08-26 23:48:43 +02:00
Vijay Janapa Reddi
79e73a530c fix: Correct biological neuron to artificial neuron mapping
Thanks to @formlsysbookissue for identifying this important clarification.

- Updated Table 3.1: Dendrites now map to inputs, synapses to weights
- Revised explanatory text throughout Chapter 3 to maintain distinction
- Updated quiz question to reflect corrected understanding
- Renumbered mapping list for clarity (1-5 instead of 1-4)

This correction helps students build accurate mental models of how biological
neural structures relate to artificial neural networks.

Part of #947
2025-08-23 22:24:52 +02:00
Vijay Janapa Reddi
1a2ffb50a0 feat(binder): move build directory inside quarto/ for better architecture
- Move build output from root/build/ to quarto/_build/
- Update Quarto configs to output-dir: _build/html and _build/pdf
- Update binder tool to use new build directory location
- Update clean and check methods for new artifact locations
- Add quarto/_build/ to .gitignore
- Remove old build/ directory

This makes more architectural sense as builds are now co-located
with the Quarto project files, and eliminates the cross-directory
dependency that was causing GitHub Pages deployment issues.
2025-08-05 20:55:12 -04:00
Vijay Janapa Reddi
ad492f2418 fix: add quarto/_site/ to gitignore to prevent build artifacts in repo 2025-08-05 20:47:59 -04:00
Vijay Janapa Reddi
1dab161767 refactor(structure): rename book directory to quarto for consistency
- book/ → quarto/ (matches docker/ pattern)
- Update all workflow references to quarto/
- Update .gitignore patterns for quarto/
- Update documentation references
- Maintain consistent naming convention across project
2025-08-05 15:08:46 -04:00
Vijay Janapa Reddi
9bedba2015 chore(gitignore): prevent R markdown artifacts from being committed 2025-08-04 01:10:01 -04:00
Vijay Janapa Reddi
f14ca599c6 feat(publish): implement PDF workflow management without git tracking
- Modified publish-live workflow to download PDF from artifacts and upload to release assets
- Updated quarto-build deployment to copy PDF to assets but exclude from git commits
- Added PDF exclusion rules to .gitignore
- Removed PDF commit steps from publish.sh and binder scripts
- Created test script to verify PDF handling
- Added comprehensive documentation for the new workflow

This ensures PDF is available for download but not tracked in git repository,
keeping the repo clean while maintaining accessibility.
2025-08-02 11:13:28 -04:00
Vijay Janapa Reddi
243b14bc61 Remove EPUB functionality from pre-commit hooks and build system
- Remove EPUB from GitHub workflow valid formats and build steps
- Remove EPUB config references from binder script
- Remove EPUB rendering and compression functions from publish script
- Remove EPUB file patterns from .gitignore
- Update README.md to remove EPUB config reference
- Update help messages to only mention HTML and PDF formats
- Tested binder commands and status functionality
2025-07-31 00:57:47 -04:00
Vijay Janapa Reddi
dff9f2969b Updates author roles to list format
Refactors the author roles field to utilize a list format within the configuration file.

This change improves readability and maintainability.
2025-07-29 12:36:43 -04:00
Vijay Janapa Reddi
2aa4151741 Cleans Quarto-generated figure artifacts
Updates the binder to remove Quarto-generated figure-html
directories, preventing them from being included in the build.

This reduces the size of the final output and avoids including
unnecessary files.
2025-07-29 07:19:51 -04:00
Vijay Janapa Reddi
ccfaaf1d23 Ignore macOS system files
Added pattern to ignore ._* files (macOS system metadata files):
- Prevents accidental commits of system-generated files
- Keeps repository clean of platform-specific metadata

 Better git hygiene for macOS development
2025-07-28 16:59:18 -04:00
Vijay Janapa Reddi
baff5b199f chore: ignore macOS system files
- Add ._* pattern to .gitignore to exclude macOS system files
- Remove existing ._* files from repository
- Prevent future macOS system files from being tracked
2025-07-27 10:49:29 -04:00
Vijay Janapa Reddi
97e06dde74 refactor: reorganize build structure with dedicated build/ directory
- Move build outputs from _book/ to build/html/ and build/pdf/
- Update Quarto configurations to use new output directories
- Update Makefile with new build targets and directory creation
- Update .gitignore to exclude build/ directory
- Update clean.sh to handle new build structure
- Mark _book/ and index_files/ as legacy for cleanup
2025-07-27 10:48:30 -04:00
Vijay Janapa Reddi
11f8eb55e7 feat: enhance content and project presentation
- Reorganize README for visitor-first experience
- Add Harvard branding and dynamic GitHub badges
- Improve GitHub star call-to-action messaging
- Fix book cover display and text wrapping on index page
- Update gitignore for build artifacts
- Enhance responsive design for mobile devices
2025-07-25 17:41:56 -04:00
Vijay Janapa Reddi
5b64b7b3e6 Adds comprehensive .gitignore file
Adds a comprehensive .gitignore file tailored for the project structure, build process, and common development environment artifacts.

This prevents unnecessary files from being tracked in the repository, including:

- Python and R environment files
- Editor and IDE configuration files
- Quarto generated content (cache, books, HTML, LaTeX, figures)
- macOS system files
- Temporary files and logs
- Local workspace directories

Improves repository cleanliness and reduces the risk of accidentally committing sensitive or large files.
2025-07-25 11:29:19 -04:00
Vijay Janapa Reddi
53e2a6c01b WIP: Caption improvements and source standardization
- Standardized 50+ citations from *source: @citation* to Source: [@citation] format
- Fixed improve_figure_captions.py script functionality
- Added bold title generation and weak starter detection
- Created source standardization plan and automation script
- Enhanced caption quality validation and repair features

Note: Style validation skipped for WIP commit
2025-07-23 21:14:40 -04:00
Vijay Janapa Reddi
a99962e442 feat: Add comprehensive caption validation and repair system
- Add CaptionQualityChecker class with quality rules
- Implement --check/-c flag for caption quality analysis
- Implement --repair/-r flag for selective caption fixing
- Add short-form flags for all options (-b, -c, -r, -v, -u)
- Support multiple directories with -d flag
- Professional quality reports with issue categorization
- Smart repair of punctuation and capitalization issues

Quality rules detect missing punctuation, poor capitalization,
generic captions, broken formatting, and LaTeX artifacts.
Enables targeted caption improvements while maintaining quality.
2025-07-22 13:57:28 -04:00
Vijay Janapa Reddi
66e42d8c6b Remove large model dir and ignore going forward 2025-07-22 09:04:02 -04:00