Skip to content

gnarzilla/guardian

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Guardian

Git Authentication & Development Interface Assistant & Navigator

Features

Cli

Guardian: Git Authentication & Development Assistant

A comprehensive tool for managing Git authentication, security,
and development workflows.
Screenshot 2025-07-28 075100

Auth

Authentication management commands

  • cli auth setup-github: Configure GitHub Personal Access Token (PAT) for authentication
  • cli auth setup-ssh: Generate and configure SSH keys
  • cli auth status: Check status of all authentication methods
  • cli auth validate-github: Validate GitHub token and show its capabilities
  • cli auth list: List configured authentication methods
  • cli auth debug-tokens: Debug token storage (development only)
  • cli auth debug-service: Debug auth service configuration
  • cli auth setup-signing: Setup GPG key for commit signing

Config

Configuration management commands

  • cli config set: Set a configuration value
  • cli config get: Get a configuration value
  • cli config unset: Remove a configuration value
  • cli config init: Initialize configuration with defaults

Hooks

Pre-commit hook management

  • cli hooks templates: List available hook templates
  • cli hooks install: Install Git hooks using specified template
  • cli hooks list: List installed hooks and their status
  • cli hooks show: Show content of an installed hook
  • cli hooks remove: Remove an installed hook

Format

Code formatting commands

  • cli format run: Format code using configured formatters
  • cli format configure: Configure formatting settings
  • cli init: Initialize Guardian in the current directory

Repo

Repository and remote management commands

  • cli repo create: Create a remote repository for the current project
  • cli repo connect: Connect existing repository to a remote
  • cli repo sync: Synchronize repository configuration across systems
  • cli repo apply-sync: Apply synchronized configuration from .guardian-sync.yml

Installation

git clone github.com/gnarzilla/guardian

python3 -m venv venv

source venv/bin/activate

pip install .

guardian

Quick Start

# Initialize Guardian
guardian init

# Setup authentication
guardian auth setup-ssh
guardian auth setup-github

# Check status
guardian auth status

Usage Examples

Here are some common use cases:

Setting up a new machine

# Install Guardian
pip install guardian

# Setup authentication
guardian auth setup-ssh
guardian auth setup-github

# Verify setup
guardian auth status

Managing Git configurations

# View current configuration
guardian config get

# Set configuration
guardian config set user.name "Your Name"
guardian config set user.email "[email protected]"

Working with hooks

# Install hooks
guardian hooks install

# View installed hooks
guardian hooks list

Project Management

$ guardian docs commands
guardian
┣━━ auth
┃   Authentication management commands
┃   ┣━━ debug-service
┃   ┃   Debug auth service configuration
┃   ┣━━ debug-tokens
┃   ┃   Debug token storage (development only)
┃   ┣━━ list
┃   ┃   List configured authentication methods
┃   ┣━━ setup-bitbucket
┃   ┃   Configure Bitbucket App Password
┃   ┣━━ setup-github
┃   ┃   Configure GitHub Personal Access Token (PAT) for authentication
┃   ┣━━ setup-gitlab
┃   ┃   Configure GitLab Personal Access Token
┃   ┣━━ setup-signing
┃   ┃   Setup GPG key for commit signing
┃   ┣━━ setup-ssh
┃   ┃   Generate and configure SSH keys
┃   ┣━━ status
┃   ┃   Check status of all authentication methods
┃   ┗━━ validate-github
┃       Validate GitHub token and show its capabilities
┣━━ config
┃   Configuration management commands
┃   ┣━━ get
┃   ┃   Get a configuration value
┃   ┣━━ init
┃   ┃   Initialize configuration with defaults
┃   ┣━━ set
┃   ┃   Set a configuration value
┃   ┗━━ unset
┃       Remove a configuration value
┣━━ deps
┃   Dependencies management commands
┃   ┗━━ sync
┃       Sync dependencies with requirements/pyproject.toml
┣━━ docs
┃   Documentation management commands
┃   ┣━━ commands
┃   ┃   Generate command tree documentation
┃   ┗━━ project
┃       Generate project structure documentation
┣━━ format
┃   Code formatting commands
┃   ┣━━ configure
┃   ┃   Configure formatting settings
┃   ┗━━ run
┃       Format code using configured formatters
┣━━ hooks
┃   Pre-commit hook management
┃   ┣━━ install
┃   ┃   Install Git hooks using specified template
┃   ┣━━ list
┃   ┃   List installed hooks and their status
┃   ┣━━ remove
┃   ┃   Remove an installed hook
┃   ┣━━ show
┃   ┃   Show content of an installed hook
┃   ┗━━ templates
┃       List available hook templates
┣━━ init
┃   Initialize Guardian in the current directory
┣━━ proxy
┃   Proxy server management
┃   ┣━━ cert
┃   ┃   Show certificate installation instructions
┃   ┗━━ start
┃       Start the authentication proxy
┗━━ repo
    Repository and remote management commands
    ┣━━ apply-sync
    ┃   Apply synchronized configuration from .guardian-sync.yml
    ┣━━ connect
    ┃   Connect existing repository to a remote
    ┣━━ create
    ┃   Create a remote repository for the current project
    ┣━━ migrate
    ┃   Repository migration commands
    ┃   ┣━━ execute
    ┃   ┃   Execute repository migration
    ┃   ┗━━ plan
    ┃       Plan repository migration
    ┣━━ pull
    ┃   Pull from remote repository
    ┣━━ push
    ┃   Push changes to remote repository
    ┣━━ status
    ┃   Check repository status and remote connection
    ┗━━ sync
        Synchronize repository configuration across systems

For more examples and detailed documentation, visit our documentation site.

Contributing

We welcome contributions! Please see our Contributing Guide for details.

License

MIT License - see LICENSE for details.