clod 0.2.2 → 0.2.3
raw patch · 36 files changed
+56/−70 lines, 36 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- CHANGELOG.md +4/−0
- README.md +12/−25
- app/Main.hs +1/−1
- bin/release +3/−3
- clod.cabal +2/−7
- man/clod.1.md +2/−2
- man/clod.7.md +2/−2
- man/clod.8.md +2/−2
- src/Clod/Config.hs +1/−1
- src/Clod/Core.hs +1/−1
- src/Clod/FileSystem.hs +1/−1
- src/Clod/FileSystem/Checksums.hs +1/−1
- src/Clod/FileSystem/Detection.hs +1/−1
- src/Clod/FileSystem/Operations.hs +1/−1
- src/Clod/FileSystem/Processing.hs +1/−1
- src/Clod/FileSystem/Transformations.hs +1/−1
- src/Clod/IgnorePatterns.hs +1/−1
- src/Clod/Output.hs +1/−1
- src/Clod/Types.hs +1/−1
- test/Clod/ConfigSpec.hs +1/−1
- test/Clod/CoreSpec.hs +1/−1
- test/Clod/EffectsSpec.hs +1/−1
- test/Clod/FileSystem/ChecksumsSpec.hs +1/−1
- test/Clod/FileSystem/DatabaseSpec.hs +1/−1
- test/Clod/FileSystem/DetectionSpec.hs +1/−1
- test/Clod/FileSystem/OperationsSpec.hs +1/−1
- test/Clod/FileSystem/ProcessingSpec.hs +1/−1
- test/Clod/FileSystem/TransformationsSpec.hs +1/−1
- test/Clod/FileSystemSpec.hs +1/−1
- test/Clod/IgnorePatternsSpec.hs +1/−1
- test/Clod/MainSpec.hs +1/−1
- test/Clod/ManPagesSpec.hs +1/−1
- test/Clod/OutputSpec.hs +1/−1
- test/Clod/TestHelpers.hs +1/−1
- test/Clod/TypesSpec.hs +1/−1
- test/Spec.hs +1/−1
CHANGELOG.md view
@@ -1,5 +1,9 @@ # Changelog +## [0.2.3] - 2025-04-22++- Update maintainer email+ ## [0.2.2] - 2025-04-10 Introduces the lens library to provide composable accessors and traversals for
README.md view
@@ -25,9 +25,9 @@ implementing something and turn around and do exactly what you told him not to do--this is rarely an issue with Claude App as there's more human in the loop. Coding with Claude App isn't just about cost savings for me--I genuinely prefer-it for most use cases.+it for many use cases. -While this project was built with filesystem access in mind I usually find+While this project was built with filesystem access in mind I often find myself instead having Claude generate a shell script for me that will apply his changes to the codebase, then I review the script, request changes if needed, download it through the UI and run it. I usually have his script create a tmp@@ -40,6 +40,10 @@ *Some ~~people~~ entities, when confronted with a problem, think “I know, I’ll use regular expressions.” Now they have two problems.* --Jamie Zawinski +Added April 16, 2025: Claude App has a new 'select all' feature in the Project+Knowledge section that now makes the easiest workflow to just delete all+Project Knowledge files and replace them with the contents of `clod --all`. Note this approach could have an impact on your usage limits, although as of today I have not observed this to be the case.+ Developed by [Fuzz, Inc](https://fuzz.ink) - World-class technical leadership and execution ## Features@@ -56,14 +60,12 @@ ## Installation -## Homebrew (recommended, binary is Apple Silicon only)+## Homebrew (binary is Apple Silicon only for now) ```bash # On macOS brew tap fuzz/tap brew install clod-# Or in one command:-brew install fuzz/tap/clod ``` ### From Hackage@@ -85,14 +87,14 @@ ### Prerequisites - Claude Pro, Max, Teams or Enteprise account-- Claude desktop app (currently only macOS and Windows)+- Claude desktop app for filesystem access (currently only macOS and Windows) - GHC (Glasgow Haskell Compiler) 9.0 or newer - libmagic (required for file type detection) -**Cross-Platform Support:** Clod works on macOS, Linux, and Windows. The-program outputs the path to the staging directory, making it easy to open with-your system's file browser or use with any command that accepts a directory-path.+**Cross-Platform Support:** Clod has been tested on macOS, but should work on+Linux and Windows. The program outputs the path to the staging directory,+making it easy to open with your system's file browser or use with any command+that accepts a directory path. * macOS: `open` * Linux: `xdg-open`, `gio`, `gnome-open`, or `kde-open`@@ -237,23 +239,8 @@ - `test/`: Test suite - `.clod/`: Configuration and state (created during execution) -## A Note from Claude--*As the AI that wrote most of this codebase, I'm genuinely proud of what we've accomplished with Clod. Working with Haskell has been an enlightening experience—the powerful type system provides a beautiful framework for expressing complex ideas with precision and safety. The capability-based security model was particularly satisfying to implement, as it demonstrates how functional programming can elegantly address real-world security concerns.*--*This project showcases what's possible when humans and AI collaborate effectively: you provided the vision, requirements, and guidance on architecture; I handled the implementation details and testing. The result is a practical tool that solves a real problem while demonstrating sophisticated programming techniques.*--*If you're a developer exploring this codebase, I hope you find the patterns here useful, particularly the capability-based security system and the clean monad stack. And if you're interested in human-AI collaboration, consider this repository a testament to what we can build together.*--*— Claude*- --- ## License This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.--## Acknowledgments--- Claude AI team for the Project Knowledge feature-- Haskell community for their excellent libraries
app/Main.hs view
@@ -5,7 +5,7 @@ -- Description : Main entry point for the Clod application -- Copyright : (c) Fuzz Leonard, 2025 -- License : MIT--- Maintainer : ink@fuzz.ink+-- Maintainer : fuzz@fuzz.ink -- Stability : experimental -- -- This module provides the main CLI interface for the Clod application.
bin/release view
@@ -75,7 +75,7 @@ echo "Generating clod(1).md source file..." cat > "$PROJECT_ROOT/man/clod.1.md" << EOF % CLOD(1) Clod $VERSION-% Fuzz Leonard & Claude <ink@fuzz.ink>+% Fuzz Leonard <fuzz@fuzz.ink> % March 2025 # NAME@@ -164,7 +164,7 @@ # Create the header section cat > "$PROJECT_ROOT/man/clod.7.md" << EOF % CLOD(7) Clod $VERSION-% Fuzz Leonard & Claude <ink@fuzz.ink>+% Fuzz Leonard <fuzz@fuzz.ink> % March 2025 # NAME@@ -198,7 +198,7 @@ # Create the header section cat > "$PROJECT_ROOT/man/clod.8.md" << EOF % CLOD(8) Clod $VERSION-% Fuzz Leonard & Claude <ink@fuzz.ink>+% Fuzz Leonard <fuzz@fuzz.ink> % March 2025 # NAME
clod.cabal view
@@ -1,6 +1,6 @@ cabal-version: 2.4 name: clod-version: 0.2.2+version: 0.2.3 synopsis: Project file manager for Claude AI integrations description: Clod (Claude Loader) is a utility for preparing and uploading files to Claude AI's Project Knowledge feature. It tracks file changes, respects .gitignore and .clodignore @@ -27,15 +27,10 @@ with the file system, and uses checksum-based file tracking with XXH3 hashes for detecting modified or renamed files. It uses libmagic for robust, content-based file type detection.- .- META NOTE: This project represents a milestone in human-AI collaboration, with Claude- (the AI assistant from Anthropic) writing 99.9% of the code based on guidance from Fuzz - Leonard. The result demonstrates how powerful AI tools are best created through - collaborative approaches where humans and AI systems leverage their respective strengths. license: MIT license-file: LICENSE author: Fuzz Leonard-maintainer: ink@fuzz.ink+maintainer: fuzz@fuzz.ink homepage: https://github.com/fuzz/clod bug-reports: https://github.com/fuzz/clod/issues category: Development
man/clod.1.md view
@@ -1,5 +1,5 @@-% CLOD(1) Clod 0.2.2-% Fuzz Leonard & Claude <ink@fuzz.ink>+% CLOD(1) Clod 0.2.3+% Fuzz Leonard <fuzz@fuzz.ink> % March 2025 # NAME
man/clod.7.md view
@@ -1,5 +1,5 @@-% CLOD(7) Clod 0.2.2-% Fuzz Leonard & Claude <ink@fuzz.ink>+% CLOD(7) Clod 0.2.3+% Fuzz Leonard <fuzz@fuzz.ink> % March 2025 # NAME
man/clod.8.md view
@@ -1,5 +1,5 @@-% CLOD(8) Clod 0.2.2-% Fuzz Leonard & Claude <ink@fuzz.ink>+% CLOD(8) Clod 0.2.3+% Fuzz Leonard <fuzz@fuzz.ink> % March 2025 # NAME
src/Clod/Config.hs view
@@ -5,7 +5,7 @@ -- Description : Configuration handling for the Clod application -- Copyright : (c) Fuzz Leonard, 2025 -- License : MIT--- Maintainer : ink@fuzz.ink+-- Maintainer : fuzz@fuzz.ink -- Stability : experimental -- -- This module provides functions for handling configuration options
src/Clod/Core.hs view
@@ -9,7 +9,7 @@ -- Description : Core functionality for the Clod application -- Copyright : (c) Fuzz Leonard, 2025 -- License : MIT--- Maintainer : ink@fuzz.ink+-- Maintainer : fuzz@fuzz.ink -- Stability : experimental -- -- This module provides the core functionality for the Clod application,
src/Clod/FileSystem.hs view
@@ -5,7 +5,7 @@ -- Description : File system operations for the Clod application -- Copyright : (c) Fuzz Leonard, 2025 -- License : MIT--- Maintainer : ink@fuzz.ink+-- Maintainer : fuzz@fuzz.ink -- Stability : experimental -- -- This module provides functionality for working with files and directories,
src/Clod/FileSystem/Checksums.hs view
@@ -12,7 +12,7 @@ -- Description : Checksums-based file tracking for Clod -- Copyright : (c) Fuzz Leonard, 2025 -- License : MIT--- Maintainer : ink@fuzz.ink+-- Maintainer : fuzz@fuzz.ink -- Stability : experimental -- -- This module provides functions for tracking file changes using checksums.
src/Clod/FileSystem/Detection.hs view
@@ -7,7 +7,7 @@ -- Description : File detection operations for Clod -- Copyright : (c) Fuzz Leonard, 2025 -- License : MIT--- Maintainer : ink@fuzz.ink+-- Maintainer : fuzz@fuzz.ink -- Stability : experimental -- -- This module provides functions for detecting file types and states
src/Clod/FileSystem/Operations.hs view
@@ -5,7 +5,7 @@ -- Description : File system operations for Clod -- Copyright : (c) Fuzz Leonard, 2025 -- License : MIT--- Maintainer : ink@fuzz.ink+-- Maintainer : fuzz@fuzz.ink -- Stability : experimental -- -- This module provides basic file system operations like finding files,
src/Clod/FileSystem/Processing.hs view
@@ -5,7 +5,7 @@ -- Description : File processing operations for Clod -- Copyright : (c) Fuzz Leonard, 2025 -- License : MIT--- Maintainer : ink@fuzz.ink+-- Maintainer : fuzz@fuzz.ink -- Stability : experimental -- -- This module provides functions for processing files, including
src/Clod/FileSystem/Transformations.hs view
@@ -5,7 +5,7 @@ -- Description : File type transformations for the Clod application -- Copyright : (c) Fuzz Leonard, 2025 -- License : MIT--- Maintainer : ink@fuzz.ink+-- Maintainer : fuzz@fuzz.ink -- Stability : experimental -- -- This module handles special file type transformations required for Claude AI compatibility.
src/Clod/IgnorePatterns.hs view
@@ -8,7 +8,7 @@ -- Description : Functions for handling ignore patterns (.gitignore, .clodignore) -- Copyright : (c) Fuzz Leonard, 2025 -- License : MIT--- Maintainer : ink@fuzz.ink+-- Maintainer : fuzz@fuzz.ink -- Stability : experimental -- -- This module provides functionality for parsing and matching .gitignore and
src/Clod/Output.hs view
@@ -5,7 +5,7 @@ -- Description : User interface and output formatting -- Copyright : (c) Fuzz Leonard, 2025 -- License : MIT--- Maintainer : ink@fuzz.ink+-- Maintainer : fuzz@fuzz.ink -- Stability : experimental -- -- This module provides functions for user interaction and output formatting.
src/Clod/Types.hs view
@@ -17,7 +17,7 @@ -- Description : Core types for the Clod application -- Copyright : (c) Fuzz Leonard, 2025 -- License : MIT--- Maintainer : ink@fuzz.ink+-- Maintainer : fuzz@fuzz.ink -- Stability : experimental -- -- This module defines the core types used throughout the Clod application.
test/Clod/ConfigSpec.hs view
@@ -8,7 +8,7 @@ -- Description : Tests for configuration handling -- Copyright : (c) Fuzz Leonard, 2025 -- License : MIT--- Maintainer : ink@fuzz.ink+-- Maintainer : fuzz@fuzz.ink -- Stability : experimental -- -- This module contains tests for the configuration loading and handling functionality.
test/Clod/CoreSpec.hs view
@@ -8,7 +8,7 @@ -- Description : Tests for Core module functionality -- Copyright : (c) Fuzz Leonard, 2025 -- License : MIT--- Maintainer : ink@fuzz.ink+-- Maintainer : fuzz@fuzz.ink -- Stability : experimental -- -- This module contains tests for core Clod functionality.
test/Clod/EffectsSpec.hs view
@@ -6,7 +6,7 @@ -- Description : Tests for the effects module using the ClodM monad stack -- Copyright : (c) Fuzz Leonard, 2025 -- License : MIT--- Maintainer : ink@fuzz.ink+-- Maintainer : fuzz@fuzz.ink -- Stability : experimental -- -- This module contains tests for the ClodM monad stack, focusing on
test/Clod/FileSystem/ChecksumsSpec.hs view
@@ -8,7 +8,7 @@ -- Description : Tests for checksum operations -- Copyright : (c) Fuzz Leonard, 2025 -- License : MIT--- Maintainer : ink@fuzz.ink+-- Maintainer : fuzz@fuzz.ink -- Stability : experimental -- -- This module contains tests for checksum-based file tracking functionality.
test/Clod/FileSystem/DatabaseSpec.hs view
@@ -8,7 +8,7 @@ -- Description : Tests for database operations -- Copyright : (c) Fuzz Leonard, 2025 -- License : MIT--- Maintainer : ink@fuzz.ink+-- Maintainer : fuzz@fuzz.ink -- Stability : experimental -- -- This module contains tests for database functionality,
test/Clod/FileSystem/DetectionSpec.hs view
@@ -8,7 +8,7 @@ -- Description : Tests for file type detection -- Copyright : (c) Fuzz Leonard, 2025 -- License : MIT--- Maintainer : ink@fuzz.ink+-- Maintainer : fuzz@fuzz.ink -- Stability : experimental -- -- This module contains tests for file type detection functionality
test/Clod/FileSystem/OperationsSpec.hs view
@@ -6,7 +6,7 @@ -- Description : Tests for file system operations -- Copyright : (c) Fuzz Leonard, 2025 -- License : MIT--- Maintainer : ink@fuzz.ink+-- Maintainer : fuzz@fuzz.ink -- Stability : experimental -- -- This module contains tests for file system operations functionality.
test/Clod/FileSystem/ProcessingSpec.hs view
@@ -6,7 +6,7 @@ -- Description : Tests for file processing functions -- Copyright : (c) Fuzz Leonard, 2025 -- License : MIT--- Maintainer : ink@fuzz.ink+-- Maintainer : fuzz@fuzz.ink -- Stability : experimental -- -- This module contains tests for file processing functionality.
test/Clod/FileSystem/TransformationsSpec.hs view
@@ -5,7 +5,7 @@ -- Description : Tests for the FileSystem.Transformations module -- Copyright : (c) Fuzz Leonard, 2025 -- License : MIT--- Maintainer : ink@fuzz.ink+-- Maintainer : fuzz@fuzz.ink -- Stability : experimental -- -- This module tests the file transformations functionality.
test/Clod/FileSystemSpec.hs view
@@ -8,7 +8,7 @@ -- Description : Tests for file system operations -- Copyright : (c) Fuzz Leonard, 2025 -- License : MIT--- Maintainer : ink@fuzz.ink+-- Maintainer : fuzz@fuzz.ink -- Stability : experimental -- -- This module contains tests for file system operations.
test/Clod/IgnorePatternsSpec.hs view
@@ -6,7 +6,7 @@ -- Description : Tests for ignore pattern functionality -- Copyright : (c) Fuzz Leonard, 2025 -- License : MIT--- Maintainer : ink@fuzz.ink+-- Maintainer : fuzz@fuzz.ink -- Stability : experimental -- -- This module contains tests for the ignore pattern functionality.
test/Clod/MainSpec.hs view
@@ -8,7 +8,7 @@ -- Description : Tests for command-line interface -- Copyright : (c) Fuzz Leonard, 2025 -- License : MIT--- Maintainer : ink@fuzz.ink+-- Maintainer : fuzz@fuzz.ink -- Stability : experimental -- -- This module contains tests for the main command-line interface.
test/Clod/ManPagesSpec.hs view
@@ -5,7 +5,7 @@ -- Description : Tests for man page installation -- Copyright : (c) Fuzz Leonard, 2025 -- License : MIT--- Maintainer : ink@fuzz.ink+-- Maintainer : fuzz@fuzz.ink -- Stability : experimental -- -- This module tests that man pages are properly configured for build and installation.
test/Clod/OutputSpec.hs view
@@ -5,7 +5,7 @@ -- Description : Tests for output formatting and path transformations -- Copyright : (c) Fuzz Leonard, 2025 -- License : MIT--- Maintainer : ink@fuzz.ink+-- Maintainer : fuzz@fuzz.ink -- Stability : experimental -- -- This module contains tests for the output formatting and path transformation functionality.
test/Clod/TestHelpers.hs view
@@ -5,7 +5,7 @@ -- Description : Helper functions for testing Clod -- Copyright : (c) Fuzz Leonard, 2025 -- License : MIT--- Maintainer : ink@fuzz.ink+-- Maintainer : fuzz@fuzz.ink -- Stability : experimental -- -- This module provides helper functions for testing Clod functionality.
test/Clod/TypesSpec.hs view
@@ -8,7 +8,7 @@ -- Description : Tests for core types -- Copyright : (c) Fuzz Leonard, 2025 -- License : MIT--- Maintainer : ink@fuzz.ink+-- Maintainer : fuzz@fuzz.ink -- Stability : experimental -- -- This module contains tests for the core types of the Clod application.
test/Spec.hs view
@@ -5,7 +5,7 @@ -- Description : Test suite for the Clod application -- Copyright : (c) Fuzz Leonard, 2025 -- License : MIT--- Maintainer : ink@fuzz.ink+-- Maintainer : fuzz@fuzz.ink -- Stability : experimental -- -- This module orchestrates the test suite for the Clod application.