Files
huty dc2d2acc82 feat: initial framework for AI-powered ops terminal
Scaffold an MVP of the natural-language ops terminal: inventory + intent
template registry, SSH/WinRM/local connectors, risk-gated executor with
SQLite audit log, Claude-driven agent layer using Function Calling, plus a
Typer CLI and FastAPI surface.

Includes 10 cross-OS intents (disk/system/service) and example inventory.
Verified end-to-end on the local Windows host: hosts/intents listing,
check_disk_usage execution, and WRITE-class confirmation gating.

Co-Authored-By: Claude Opus 4 <noreply@anthropic.com>
2026-05-21 11:01:43 +09:00

47 lines
933 B
TOML

[project]
name = "ai-app-ops-tools"
version = "0.1.0"
description = "AI-powered natural language ops terminal for heterogeneous servers"
requires-python = ">=3.11"
dependencies = [
"fastapi>=0.110",
"uvicorn[standard]>=0.27",
"pydantic>=2.6",
"pydantic-settings>=2.2",
"PyYAML>=6.0",
"Jinja2>=3.1",
"asyncssh>=2.14",
"pywinrm>=0.4.3",
"sqlalchemy[asyncio]>=2.0",
"aiosqlite>=0.19",
"anthropic>=0.40",
"typer>=0.12",
"python-dotenv>=1.0",
"rich>=13.7",
]
[project.optional-dependencies]
dev = [
"pytest>=8.0",
"pytest-asyncio>=0.23",
"ruff>=0.3",
]
[project.scripts]
ops = "ops_tools.cli:app"
[build-system]
requires = ["setuptools>=68", "wheel"]
build-backend = "setuptools.build_meta"
[tool.setuptools.packages.find]
where = ["src"]
[tool.ruff]
line-length = 100
target-version = "py311"
[tool.pytest.ini_options]
asyncio_mode = "auto"
testpaths = ["tests"]