Skip to main content

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 violations
  • validate - Validate guard compliance with optional fixes
  • show - Display file with guard permission visualization
  • acl - 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 integration
  • ide - Start IDE attachment mode (replaces --worker-mode)
  • hook - Manage git pre-commit hooks
  • themes - 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 --recursive for 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 directive
  • WHO: Indicates who the rule applies to (AI for AI systems, HU for human developers, ALL for both)
  • PERMISSION: Specifies the permission level (RO for read-only, ED for editable with reason, FX for 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

tumee_codeguard-0.26.0.tar.gz (733.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tumee_codeguard-0.26.0-py3-none-any.whl (849.8 kB view details)

Uploaded Python 3

File details

Details for the file tumee_codeguard-0.26.0.tar.gz.

File metadata

  • Download URL: tumee_codeguard-0.26.0.tar.gz
  • Upload date:
  • Size: 733.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.10

File hashes

Hashes for tumee_codeguard-0.26.0.tar.gz
Algorithm Hash digest
SHA256 e4d90f27f0b232e6eedf6d491a68db516764dffed28b6839d7d734532b549403
MD5 ca95779b714d145138c785f06e8fcee3
BLAKE2b-256 c9cb5ff7ab8265c4ed5f2db89160fc8d559b4cf6755ea62fcc724549d83582f9

See more details on using hashes here.

File details

Details for the file tumee_codeguard-0.26.0-py3-none-any.whl.

File metadata

File hashes

Hashes for tumee_codeguard-0.26.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d7079e1ee036edbe9fb4545d363c30c826a2d673ac13c5ba7874ce3951ca9c17
MD5 8c6c087b155a0c0e41001c1bf691d9eb
BLAKE2b-256 cce8cfe9aa07dbfd886d98bdaf42d32742e66443b43af19f76466d4df05aaae2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page