By krfantasy
Conduct deep architectural analysis on complex codebases to design and evaluate solutions for module refactoring, performance optimization, API design, and nested data processing.
Uses power tools
Uses Bash, Write, or Edit tools
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
alsdiffis a semantic diff tool for Ableton Live Set (.als) files that makes version control meaningful for music producers.
Ableton Live Set files (.als) are gzip-compressed XML. Because standard git diff treats them as binary blobs, using version control to track changes in music projects is nearly impossible.
While existing workarounds allow decompressing .als files to .xml for diffing, the raw output is overwhelmingly verbose. A typical 20-track project can result in a 200,000-line XML file, making generic text diffs unreadable.
alsdiff solves this problem. It decompresses .als files and parses the XML to perform a semantic diff:
The output of alsdiff looks like this:
* LiveSet
* Tracks
* MidiTrack: "Lead Synth"
* DeviceChain
+ Compressor2
* Eq8
* Bands
* Band.4
* Freq: 2500.0 -> 3200.0
* Gain: 0.0 -> 2.5
* Clips
* MidiClip: "Verse"
* Notes (3 Added, 1 Removed)
Download from GitHub Releases:
chmod +x ./alsdiff
mv alsdiff ~/.local/bin # or any directory in your PATH
Note: The Windows build is currently untested as I don't have access to a Windows machine. Feedback welcome!
A helper script is provided at ./scripts/setup-git.sh. Simply download it to your git repository root and run ./setup-git.sh. This script will automatically configure git to use alsdiff for .als files and optionally install a prepare-commit-msg hook for auto-generating commit messages.
The script provides:
.gitattributes configuration for .als filesalsdiff --gitalsdiff --mode statsAlternatively, you can perform the setup manually.
.gitattributes in your repository:cd /path/to/live_projects/
echo "*.als diff=alsdiff" >> .gitattributes
git config --global diff.alsdiff.command "alsdiff <put_extra_args_here> --git"
git diff will use alsdiff to compare .als files:git diff HEAD~1 -- your-project.als
When enabled, the hook automatically prepends change statistics to your commit messages:
$ git commit
MyProject.als:
Tracks: 1 Added, 3 Modified
Devices: 2 Added, 5 Removed
Clips: 4 Added, 2 Modified
# Please enter the commit message...
If the hook runs multiple times for the same commit message (for example during amend/reuse flows), it refreshes the generated stats block instead of duplicating it.
# Initialize opam if not done before
opam init
# Create a local switch with the correct OCaml version
opam switch create . --deps-only --with-test
# Activate the environment
eval $(opam env)
# Install dependencies (if not using local switch)
opam install . --deps-only
# Build
dune build
# Run tests (optional)
dune runtest
# Install to ~/.local/bin
dune install alsdiff --prefix ~/.local/
dune exec alsdiff -- file1.als file2.als
You can build custom binaries from any branch or commit using the provided GitHub Actions workflow, removing the need for a local OCaml environment.
npx claudepluginhub krfantasy/alsdiff --plugin architect-analystLSP integration for OCaml via ocamllsp
Save Ableton Live projects via natural language or slash command using AppleScript automation
Generate changelogs from git commit history following Keep a Changelog format
Automatically format OCaml files with ocp-indent after edits
Ultra-compressed communication mode. Cuts ~75% of tokens while keeping full technical accuracy by speaking like a caveman.
Comprehensive UI/UX design plugin for mobile (iOS, Android, React Native) and web applications with design systems, accessibility, and modern patterns
Agent that simplifies and refines code for clarity, consistency, and maintainability while preserving functionality
Multi-model consensus engine integrating OpenAI Codex CLI, Gemini CLI, and Claude CLI for collaborative code review and problem-solving.
Curate auto-memory, promote learnings to CLAUDE.md and rules, extract proven patterns into reusable skills.