[A] configGen

This commit is contained in:
2025-09-12 20:45:22 +08:00
parent ac71f02bab
commit 4b2859186a
2 changed files with 246 additions and 0 deletions

84
CLAUDE.md Normal file
View File

@@ -0,0 +1,84 @@
# CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
## Project Overview
Config-Man is a Python CLI tool for managing encrypted static configuration files stored in object storage with Cloudflare CDN distribution. It's primarily used for game application configuration management with support for multi-version management and update strategies.
## Code Architecture
### Core Components
- `src/config_man/core/` - Core business logic modules:
- `config_manager.py` - Handles storage and CDN configuration file operations
- `display_manager.py` - Manages configuration display and comparison
- `view_command.py` - Implements the view command functionality
- `suggest_update_command.py` - Implements the suggest-update command functionality
- `force_update_command.py` - Implements the force-update command functionality
### CLI Layer
- `src/config_man/cli/main.py` - Main CLI entry point using Click framework
- Commands: view, suggest-update, force-update, show-config, setup-cloudflare, set-config
### Utilities
- `src/config_man/utils/` - Utility modules for crypto, config management, and mock functionality
## Common Development Commands
### Installation and Setup
```bash
# Install dependencies
pip install -r requirements.txt
# Install in development mode
pip install -e .
# Install with development dependencies
pip install -e ".[dev]"
```
### Running the CLI
```bash
# Run the CLI tool
python main.py --help
# Or if installed
config-man --help
```
### Testing
```bash
# Run all tests
pytest
# Run tests with coverage
pytest --cov=src/config_man
# Run tests with coverage report
pytest --cov=src/config_man --cov-report=html
```
### Code Quality
```bash
# Format code with black
black .
# Lint with flake8
flake8 .
# Type checking with mypy
mypy src/
```
## Configuration
- Uses `config-man.json` for runtime configuration
- Supports environment variables for Cloudflare CDN settings
- Configuration can be modified with `config-man set-config` command
## Key Dependencies
- click>=8.0.0 - CLI framework
- pycryptodome>=3.19.0 - Encryption/decryption
- tabulate>=0.9.0 - Table formatting
- requests>=2.31.0 - HTTP requests
- rich>=13.0.0 - Rich text formatting
- rclone - Required for storage operations