Scaffold hello-world apps, test frameworks, and Gitea CI
- uv workspace tying nisse-core, nisse-dev, nisse-ops together (src layouts, workspace-sourced nisse-core dependency) - Placeholder hello-world entry points for both agents, calling through nisse-core to exercise the package boundary - pytest unit tests per package; integration tests (marker-gated) running the installed console scripts as subprocesses - ruff lint + format, nisse_* declared first-party - Gitea Actions workflow running lint, format check, unit and integration tests; scripts/check.sh mirrors it locally Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
b0efbe7b4c
commit
c1041a5ba1
18 files changed
+315
No files matched your search
@@ -0,0 +1,16 @@
|
||||
[project]
|
||||
name = "nisse-ops"
|
||||
version = "0.1.0"
|
||||
description = "Sysadmin agent: operates infrastructure, driven by tickets, gated on consequences"
|
||||
requires-python = ">=3.12"
|
||||
dependencies = ["nisse-core"]
|
||||
|
||||
[project.scripts]
|
||||
nisse-ops = "nisse_ops.main:main"
|
||||
|
||||
[tool.uv.sources]
|
||||
nisse-core = { workspace = true }
|
||||
|
||||
[build-system]
|
||||
requires = ["uv_build>=0.12,<0.13"]
|
||||
build-backend = "uv_build"
|
||||
Whitespace-only changes.
@@ -0,0 +1,11 @@
|
||||
"""Placeholder entry point for the sysadmin agent."""
|
||||
|
||||
from nisse_core.greeting import greeting
|
||||
|
||||
|
||||
def main() -> None:
|
||||
print(greeting("nisse-ops"))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
@@ -0,0 +1,10 @@
|
||||
import pytest
|
||||
|
||||
from nisse_ops.main import main
|
||||
|
||||
|
||||
def test_main_prints_greeting(capsys: pytest.CaptureFixture[str]) -> None:
|
||||
main()
|
||||
assert (
|
||||
capsys.readouterr().out == "Hello from nisse-ops, the house spirit is awake.\n"
|
||||
)
|
||||
Reference in new issue
Block a user