A code validation tool for enforcing access control on code modifications
Project description
TuMee CodeGuard
A powerful file change detection tool that identifies, tracks, and validates code modifications with a focus on respecting designated "guarded" regions across multiple programming languages.
Package Name: tumee-codeguard
Command: codeguard
✨ CodeGuard 2.0 features a modern Typer-based CLI with consistent argument patterns, Rich formatting, and logical command grouping for improved usability.
Installation
Prerequisites
- Python 3.10 or higher
- Git (for version control integration)
Setup
On macOS/Linux
# Make the install script executable
chmod +x install.sh
# Run the installation script
./install.sh
On Windows
# Run the installation script
install.bat
Usage
Running CodeGuard
On macOS/Linux
# Run CodeGuard
./run_codeguard.sh [command] [options]
# For example, to get help
./run_codeguard.sh --help
# To get effective permissions for a file
./run_codeguard.sh acl /path/to/file
On Windows
# Run CodeGuard
run_codeguard.bat [command] [options]
# For example, to get help
run_codeguard.bat --help
# To get effective permissions for a file
run_codeguard.bat acl C:\path\to\file
Commands
CodeGuard 2.0 features a modern, user-friendly CLI with consistent argument patterns and logical command grouping.
Core Commands
verify- Compare files/directories for guard violations (unified command)scan- Scan files/directories for violationsvalidate- Validate guard compliance with optional fixesshow- Display file with guard permission visualizationacl- Get effective permissions for files/directories
Grouped Commands
context up/down- Context file discovery (upward/downward traversal)guards create/list/validate/directories- Directory guard management
Integration Commands
mcp- Start MCP server for IDE integrationide- Start IDE attachment mode (replaces--worker-mode)hook- Manage git pre-commit hooksthemes- Manage visualization themes
Key Improvements
- Consistent patterns: All commands use similar argument structures
- Rich formatting: Beautiful help with proper sections and highlighting
- Type validation: Automatic path validation and type conversion
- Recursive support: Most commands support
--recursivefor directories
Examples
Code Validation (Unified Commands)
# Compare two files directly (simplified)
./run_codeguard.sh verify ./original.py ./modified.py
# Compare file to current disk version
./run_codeguard.sh verify ./modified.py
# Compare to git revision
./run_codeguard.sh verify ./src/main.py --git-revision HEAD~1
# Scan directory for violations
./run_codeguard.sh scan ./src --recursive --include "*.py"
# Validate and fix guard compliance
./run_codeguard.sh validate ./src --recursive --fix
Directory Guard Management
# Create guard rules
./run_codeguard.sh guards create --rule "*.py:AI-RO" --description "*.py:Python read-only"
# List guard rules
./run_codeguard.sh guards list --recursive --format json
# Validate guard files
./run_codeguard.sh guards validate --recursive --fix
# List guarded directories
./run_codeguard.sh guards directories --format text
Access Control Information
# Get effective permissions for a file
./run_codeguard.sh acl ./src/main.py --verbose --format json
# Check directory permissions recursively
./run_codeguard.sh acl ./src --recursive
File Visualization
# Display file with guard permissions
./run_codeguard.sh show ./src/main.py
# Use specific theme and syntax highlighting
./run_codeguard.sh show ./src/main.py --theme dark --syntax
Context Discovery
# Find context files walking up
./run_codeguard.sh context up --priority high
# Find context files walking down
./run_codeguard.sh context down --depth-first --format json
Integration
# Start MCP server for IDE integration
./run_codeguard.sh mcp --port 8080
# Start IDE attachment mode
./run_codeguard.sh ide --min-version 1.2.0
# Install git pre-commit hook
./run_codeguard.sh hook --install
Guard Annotation System
CodeGuard supports a standardized guard notation that works across programming languages:
@GUARD:WHO-PERMISSION
Where:
@GUARD: The prefix that identifies this as a guard directiveWHO: Indicates who the rule applies to (AIfor AI systems,HUfor human developers,ALLfor both)PERMISSION: Specifies the permission level (ROfor read-only,EDfor editable with reason,FXfor fixed/unchangeable)
Examples
# @GUARD:AI-RO This is an AI read-only section
def sensitive_function():
pass
# @GUARD:HU-ED Humans can edit this section with good reason
def editable_function():
pass
"""
@GUARD:ALL-FX
This section is fixed for everyone
"""
Directory-Level Guard System
CodeGuard supports directory-level guard annotations through .ai-attributes files:
# All files in this directory are AI read-only
* @GUARD:AI-RO
# All Python files in this directory and subdirectories are fixed
**/*.py @GUARD:ALL-FX
# Test files in the tests directory can be edited
tests/* @GUARD:ALL-ED
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tumee_codeguard-0.26.1.tar.gz.
File metadata
- Download URL: tumee_codeguard-0.26.1.tar.gz
- Upload date:
- Size: 733.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0028fa3e0783eec0953fe136cccce77ba1ef3c8b4e3623a94b0fff59fbbe8c8c
|
|
| MD5 |
63e6132ce2f727e2ecdbcd43c3c10418
|
|
| BLAKE2b-256 |
d8519c39c7349ee5894bbec7a728ca98bec6e959580c34950aa610257620f81f
|
File details
Details for the file tumee_codeguard-0.26.1-py3-none-any.whl.
File metadata
- Download URL: tumee_codeguard-0.26.1-py3-none-any.whl
- Upload date:
- Size: 849.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2b324e44d932d2f913f7703cf5338ada5caebed9ff3e4c80da450c68be2a0a34
|
|
| MD5 |
780d8d0a13d13d790d2e65598c9234b9
|
|
| BLAKE2b-256 |
a35b3c45f195090c98724f85a7ad9568929152e84d2efe9026faad405d374d5b
|