Files
autoclaude/pyproject.toml
retoorandClaude Haiku 4.5 8becf881fc feat: Initialize autoclaude as professional Python package. Bump to 2.1.0
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>
2026-09-16 06:25:04 +00:00

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"