Py-Rotkeeper is a modular Python pipeline for content rendering, log rotation, and project scaffolding. It replaces scattered scripts with a central CONFIG-driven structure, multi-site safe workflow, and modular CLI commands.
Okay this whole thing is AI slopvibecoded and a rewrite of the old rotkeeper for BASH. The writer took a lot bit of liberties about it and honestly the BASH version did pretty much everything this currently does and more… better. It's a work in progress and this bit of text is the only portion of the project not made by ChatGPT with the sporadic advice from Grok and the mascot was cleaned up by Gemini and generated in a Sora video. It's slop on top of slop. Also the project was initially constructed in Codex. Pretty much anything but Claude has touched it.
Py-Rotkeeper simplifies and organizes project pipelines by:
- Modularizing CLI commands under
rc/rotkeeper/lib/ - Centralizing paths, flags, and settings via
CONFIG - Using canonical sources for content, templates, styles, and images
- Supporting incremental rendering with YAML manifests
- Multi-site safe: multiple project folders can co-exist
- Modular CLI commands (
init,render,sitemap,nav, etc.) - CONFIG singleton for consistent paths, flags, and dry-run/debug modes
- Canonical
sources/folder for reusable templates, SCSS, images, and sample content - Incremental render with state tracking
- Frontmatter-aware template overrides
- SCSS compilation (Python 3 safe, Bulma deprecation filtered)
- Multi-site safe: everything relative to current working directory
- Dry-run and verbose logging
- Clone the repository:
git clone https://github.com/drawmeanelephant/Py-Rotkeeper- Navigate to the project directory:
cd Py-Rotkeeper- Set up a Python virtual environment (optional but recommended):
python3 -m venv venv
source venv/bin/activate- Install dependencies:
pip install -r requirements.txt- Use the main CLI entry point:
python -m rc.rotkeeper.rc <command> [options]Example: Initialize a new project:
python -m rc.rotkeeper.rc init --project my-siterc/
rotkeeper/
rc.py # CLI entry point
config.py # Central CONFIG singleton
lib/ # Modular command scripts
sources/ # Canonical sources for new projects
content/ # index.md, sample.md
templates/ # default.html, rot-doc.html
styles/ # main.scss, partials
images/ # mascot.png
rc/rotkeeper/contains the main pipeline logic and modular commands.sources/holds all canonical files for initializing new projects.- Project folders created with init will replicate this structure under HOME and BONES paths defined in CONFIG.
Contributions are welcome! To contribute:
- Fork the repository
- Create a branch for your feature or bugfix
- Commit changes with clear messages
- Submit a pull request
Guidelines:
- Follow PEP8 and project style conventions.
- Include tests for new functionality.
- Document new commands or changes in the CLI help output.
This project is licensed under the MIT License.
