mirror of
https://github.com/SuperClaude-Org/SuperClaude_Framework.git
synced 2025-12-29 16:16:08 +00:00
44 lines
1.5 KiB
Markdown
44 lines
1.5 KiB
Markdown
|
|
# SuperClaude Framework - Development Guide
|
||
|
|
|
||
|
|
## Build/Test/Lint Commands
|
||
|
|
```bash
|
||
|
|
# Install development dependencies
|
||
|
|
pip install -e ".[dev]"
|
||
|
|
|
||
|
|
# Code formatting (Black, 88 char line length)
|
||
|
|
black SuperClaude setup
|
||
|
|
|
||
|
|
# Linting
|
||
|
|
flake8 SuperClaude setup
|
||
|
|
|
||
|
|
# Type checking
|
||
|
|
mypy SuperClaude setup
|
||
|
|
|
||
|
|
# Run all quality checks
|
||
|
|
black . && flake8 SuperClaude setup && mypy SuperClaude setup
|
||
|
|
|
||
|
|
# Test installation (dry-run)
|
||
|
|
SuperClaude install --dry-run --verbose
|
||
|
|
|
||
|
|
# Build package
|
||
|
|
python -m build
|
||
|
|
|
||
|
|
# Validate PyPI readiness
|
||
|
|
python scripts/validate_pypi_ready.py
|
||
|
|
```
|
||
|
|
|
||
|
|
## Code Style Guidelines
|
||
|
|
- **Formatter**: Black (88 char lines), target Python 3.8-3.12
|
||
|
|
- **Imports**: Standard library → third-party → local (absolute imports preferred)
|
||
|
|
- **Type hints**: Required for all public functions using `typing` module
|
||
|
|
- **Naming**: PascalCase for classes, snake_case for functions/variables, UPPER_SNAKE_CASE for constants
|
||
|
|
- **Private methods**: Leading underscore (`_method_name`)
|
||
|
|
- **Docstrings**: Google style with Args/Returns/Raises sections
|
||
|
|
- **Error handling**: Use specific exceptions, log with `get_logger()`, display user messages with `display_*` functions
|
||
|
|
- **No comments**: Code should be self-documenting unless explicitly needed
|
||
|
|
|
||
|
|
## Project Structure
|
||
|
|
- `SuperClaude/`: Framework instruction files (Markdown-based AI prompts)
|
||
|
|
- `setup/`: Installation system (components, services, utils, CLI)
|
||
|
|
- `scripts/`: Build and publishing utilities
|
||
|
|
- Config files: `pyproject.toml` (main config), `setup.py` (legacy support)
|