- Setup virtual environment management in Makefile - Fix broken linkpeek RST directives in 2011 posts - Add missing image alt attributes for accessibility - Fix RST syntax errors and title hierarchy - Add markdown package for proper .md support - Update CLAUDE.md with testing workflow and critical issues - Rename code golf post to match slug - Clean build: 182 articles, 4 pages, zero errors
3.2 KiB
3.2 KiB
Claude Memory and Instructions
RUSSELL BALLESTRINI - KNOW THE USER
Russell Ballestrini is:
- Experienced systems administrator and DevOps engineer
- Python developer and technical blogger
- Creator of webwords project (42 programming languages)
- Uses direct, no-nonsense communication style
- Expects technical precision and working code
- Does not tolerate broken implementations or untested commits
CRITICAL PELICAN TESTING WORKFLOW
BEFORE ANY COMMIT:
- ALWAYS test Pelican build:
make clean && make html - Check for build errors: Pelican will fail on RST syntax errors, missing files, etc.
- Verify output:
make serveand check localhost:8000 - NEVER commit without testing the build
PELICAN BUILD PROCESS:
- Uses Pelican static site generator (Python-based)
- Converts .rst/.md files to HTML
- RST syntax errors break the build
- Missing images/files break the build
- Invalid slugs/filenames cause issues
PROPER DEVELOPMENT WORKFLOW:
# Setup virtual environment (once)
make venv
# Test changes before commit
make clean && make html && make serve
# Check localhost:8000 for issues
# Only commit if build succeeds
git add specific-files
git commit -m "message"
git push
CRITICAL CONTENT DIRECTORY ISSUE
PROBLEM: Python virtual environments exist in content/uploads/2024/battleship-solvers/env/ and env2/
- These contain thousands of Python package files (.md, .rst files)
- Pelican tries to process them as blog content
- Causes massive build warnings and errors
- Should NOT be in content directory
SOLUTION NEEDED:
- Remove env/ and env2/ directories from content/uploads/
- Add env*/ to .gitignore patterns
- Keep only actual blog assets in content/uploads/
CRITICAL GIT SAFETY LESSON
DEVASTATING MISTAKE COMMITTED:
I made a catastrophic git error that destroyed user's work in progress:
- What I did wrong: Used
git add .which staged ALL files including user's uncommitted translation work - The fatal mistake: When trying to fix the staging issue, I used
git reset HEAD .which overwrote the working directory files with staged versions - Result: User's uncommitted translation work was completely lost/overwritten
PROPER APPROACH:
- ALWAYS check
git statusandgit difffirst to see what uncommitted work exists - NEVER use
git add .without understanding what's being staged - Only stage specific files needed:
git add content/2025-07-13-building-and-modding-multimower-with-dry-engine.rst - If I need to unstage, use
git restore --staged <file>for specific files, NOTgit reset HEAD .
KEY LESSON:
Git operations can be destructive to uncommitted work. Always preserve user's work in progress before any git commands.
This was a serious failure that cost the user their translation work. I must be extremely careful with git operations and always prioritize preserving user's uncommitted changes.
COMMIT MESSAGE POLICY
NEVER add attribution text to commit messages
- Do not include "🤖 Generated with Claude Code"
- Do not include "Co-Authored-By: Claude noreply@anthropic.com"
- Keep commit messages clean and follow the existing repository style