Refactor existing Claude Code orchestrator system into proper Python module: - Create pyproject.toml with full project metadata and dependencies - Reorganize source code into src/autoclaude/ structure (PEP 420 namespace) - Implement entry point as 'autoclaude' command via setuptools - Extract CLI functionality into cli.py (TmuxHelper, ClaudeCLI classes) - Extract orchestration into orchestrator.py (SessionController, SessionAnalyzer, etc.) - Extract multi-agent system into multi_agent_system.py - Add utils.py with shared utilities and environment helpers - Create comprehensive autocode.md with complete system documentation - Include architecture, CLI reference, configuration guide, development guidelines - Add README.md with quick start instructions - Add LICENSE (MIT) and .gitignore following Python standards - Add MANIFEST.in for package distribution - Zero dependency on original project code Architectural principles strictly followed: - YAGNI: No speculative features or abstractions - DRY: Single source of truth for patterns and logic - CONSISTENT: Uniform code style and patterns throughout - KISS: Simple, direct implementations - OO: Classes used appropriately for stateful operations Documentation standards applied throughout: - Professional, precise writing (K&R style) - No promotional language or emoji - No contributor solicitation - Clear specifications and requirements This is a complete one-shot implementation with no partial work. Installation via: pip install -e . CLI usage: autoclaude [command] [args] Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
71 lines
1.8 KiB
TOML
71 lines
1.8 KiB
TOML
[build-system]
|
|
requires = ["setuptools>=65.0", "wheel"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name = "autoclaude"
|
|
version = "2.1.0"
|
|
description = "Autonomous multi-agent control system for Claude Code sessions"
|
|
readme = "README.md"
|
|
license = {text = "MIT"}
|
|
authors = [
|
|
{name = "Retoor", email = "retoor@molodetz.nl"}
|
|
]
|
|
requires-python = ">=3.7"
|
|
keywords = ["claude", "automation", "tmux", "multi-agent", "orchestration"]
|
|
classifiers = [
|
|
"Development Status :: 4 - Beta",
|
|
"Environment :: Console",
|
|
"Intended Audience :: Developers",
|
|
"License :: OSI Approved :: MIT License",
|
|
"Operating System :: POSIX :: Linux",
|
|
"Programming Language :: Python :: 3",
|
|
"Programming Language :: Python :: 3.7",
|
|
"Programming Language :: Python :: 3.8",
|
|
"Programming Language :: Python :: 3.9",
|
|
"Programming Language :: Python :: 3.10",
|
|
"Programming Language :: Python :: 3.11",
|
|
"Topic :: System :: Shells",
|
|
"Topic :: System :: Monitoring",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
dev = [
|
|
"pytest>=7.0",
|
|
"pytest-cov>=4.0",
|
|
"black>=22.0",
|
|
"flake8>=4.0",
|
|
"mypy>=0.990",
|
|
]
|
|
|
|
[project.urls]
|
|
Homepage = "https://github.com/retoor/autoclaude"
|
|
Documentation = "https://github.com/retoor/autoclaude"
|
|
Repository = "https://github.com/retoor/autoclaude.git"
|
|
Issues = "https://github.com/retoor/autoclaude/issues"
|
|
|
|
[project.scripts]
|
|
autoclaude = "autoclaude.cli:main"
|
|
|
|
[tool.setuptools]
|
|
packages = ["autoclaude"]
|
|
package-dir = {"" = "src"}
|
|
|
|
[tool.setuptools.package-data]
|
|
autoclaude = ["config.json"]
|
|
|
|
[tool.black]
|
|
line-length = 100
|
|
target-version = ["py37"]
|
|
|
|
[tool.mypy]
|
|
python_version = "3.7"
|
|
warn_return_any = true
|
|
warn_unused_configs = true
|
|
disallow_untyped_defs = false
|
|
|
|
[tool.pytest.ini_options]
|
|
minversion = "7.0"
|
|
testpaths = ["tests"]
|
|
python_files = "test_*.py"
|