chore: scaffold clm package and tooling

This commit is contained in:
grok-bot committed 2026-08-04 20:38:11 +02:00
1 parent 91e03d0916
commit 99aabadb4b
9 files changed
+124

No files matched your search

+14
View File
@@ -0,0 +1,14 @@
__pycache__/
*.py[cod]
.venv/
dist/
*.egg-info/
.pytest_cache/
.mypy_cache/
.ruff_cache/
.coverage
htmlcov/
.clm/sessions/
.clm/manifests/
*.jsonl
.DS_Store
+30
View File
@@ -0,0 +1,30 @@
# CLM — Context Lifecycle Management
Automated Context Lifecycle Management for LLM Agents.
## Requirements
- Python ≥ 3.12
## Install
```bash
uv venv && source .venv/bin/activate
uv pip install -e ".[dev]"
```
## CLI
```bash
clm --help
```
## Tests
```bash
pytest
```
## Version
`0.1.0a1` (MVP alpha)
+46
View File
@@ -0,0 +1,46 @@
[project]
name = "clm"
version = "0.1.0a1"
description = "Automated Context Lifecycle Management for LLM Agents"
readme = "README.md"
requires-python = ">=3.12"
dependencies = [
"pydantic>=2.7",
"pydantic-settings>=2.3",
"typer>=0.12",
"rich>=13.7",
"pyyaml>=6.0",
]
[project.optional-dependencies]
dev = [
"pytest>=8.2",
"pytest-cov>=5.0",
"ruff>=0.5",
"mypy>=1.10",
"types-PyYAML>=6.0",
]
[project.scripts]
clm = "clm.cli.app:app"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["src/clm"]
[tool.pytest.ini_options]
testpaths = ["tests"]
pythonpath = ["src"]
[tool.ruff]
line-length = 100
target-version = "py312"
[tool.mypy]
python_version = "3.12"
strict = true
packages = ["clm"]
mypy_path = "src"
+3
View File
@@ -0,0 +1,3 @@
"""CLM — Context Lifecycle Management for LLM Agents."""
__version__ = "0.1.0a1"
View File
Whitespace-only changes.
+14
View File
@@ -0,0 +1,14 @@
"""CLI entry point for CLM."""
import typer
app = typer.Typer(
name="clm",
help="Context Lifecycle Management for LLM Agents",
no_args_is_help=True,
)
@app.callback()
def main() -> None:
"""Context Lifecycle Management for LLM Agents."""
View File
Whitespace-only changes.
+12
View File
@@ -0,0 +1,12 @@
from pathlib import Path
import pytest
@pytest.fixture
def tmp_clm_home(tmp_path: Path) -> Path:
home = tmp_path / ".clm"
(home / "memory" / "topics").mkdir(parents=True)
(home / "memory" / "logs").mkdir(parents=True)
(home / "sessions").mkdir(parents=True)
(home / "manifests").mkdir(parents=True)
return home
+5
View File
@@ -0,0 +1,5 @@
import clm
def test_version():
assert clm.__version__ == "0.1.0a1"