vurnix 0.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- vurnix-0.1.0/.gitignore +9 -0
- vurnix-0.1.0/LICENSE +21 -0
- vurnix-0.1.0/PKG-INFO +62 -0
- vurnix-0.1.0/README.md +43 -0
- vurnix-0.1.0/npm/README.md +8 -0
- vurnix-0.1.0/npm/bin/vurnix.js +15 -0
- vurnix-0.1.0/npm/package.json +12 -0
- vurnix-0.1.0/pyproject.toml +32 -0
- vurnix-0.1.0/src/vurnix/__init__.py +3 -0
- vurnix-0.1.0/src/vurnix/cli.py +71 -0
- vurnix-0.1.0/tests/test_cli.py +23 -0
vurnix-0.1.0/.gitignore
ADDED
vurnix-0.1.0/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 shiersa
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
vurnix-0.1.0/PKG-INFO
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: vurnix
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: Local-first software factory: deterministic multi-agent orchestration for small local models. Early development.
|
|
5
|
+
Project-URL: Homepage, https://github.com/shiersa/vurnix
|
|
6
|
+
Project-URL: Repository, https://github.com/shiersa/vurnix
|
|
7
|
+
Author: shiersa
|
|
8
|
+
License-Expression: MIT
|
|
9
|
+
License-File: LICENSE
|
|
10
|
+
Keywords: agents,deterministic,local-llm,orchestration,software-factory
|
|
11
|
+
Classifier: Development Status :: 3 - Alpha
|
|
12
|
+
Classifier: Environment :: Console
|
|
13
|
+
Classifier: Intended Audience :: Developers
|
|
14
|
+
Classifier: Operating System :: OS Independent
|
|
15
|
+
Classifier: Programming Language :: Python :: 3
|
|
16
|
+
Classifier: Topic :: Software Development :: Build Tools
|
|
17
|
+
Requires-Python: >=3.10
|
|
18
|
+
Description-Content-Type: text/markdown
|
|
19
|
+
|
|
20
|
+
# Vurnix
|
|
21
|
+
|
|
22
|
+
**A local-first software factory.** Deterministic multi-agent orchestration that turns
|
|
23
|
+
small local models (12B-class, on your own hardware) into working software — end to end,
|
|
24
|
+
from PRD to a clone-and-run repository.
|
|
25
|
+
|
|
26
|
+
> **Status: early development (alpha).** This release reserves the `vurnix` CLI entry
|
|
27
|
+
> point and ships an environment preflight. The pipeline lands in a later release.
|
|
28
|
+
|
|
29
|
+
## Why Vurnix
|
|
30
|
+
|
|
31
|
+
- **Weak-local-model first** — designed around small open-weight models running locally,
|
|
32
|
+
not frontier APIs. The orchestration layer, not model size, does the heavy lifting.
|
|
33
|
+
- **Deterministic orchestration** — scheduling, gating, and verification are plain code:
|
|
34
|
+
same input, same build plan. LLMs write code; they don't run the factory.
|
|
35
|
+
- **Self-evolving** — lessons and skills accumulate from every build and graduate into
|
|
36
|
+
deterministic checks over time.
|
|
37
|
+
- **Fully autonomous** — PRD in, pushed clone-and-run repository out.
|
|
38
|
+
|
|
39
|
+
## Install
|
|
40
|
+
|
|
41
|
+
```sh
|
|
42
|
+
pip install vurnix # or: uv tool install vurnix
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
```sh
|
|
46
|
+
vurnix info # what this is
|
|
47
|
+
vurnix doctor # preflight your environment
|
|
48
|
+
vurnix version
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
An `npm i -g vurnix` stub is also published to hold the name; the Python package is primary.
|
|
52
|
+
|
|
53
|
+
## Roadmap
|
|
54
|
+
|
|
55
|
+
- [ ] Pipeline release (build orchestration + verification gates)
|
|
56
|
+
- [ ] Hub (observability)
|
|
57
|
+
- [ ] Docs
|
|
58
|
+
|
|
59
|
+
## License
|
|
60
|
+
|
|
61
|
+
MIT — see [LICENSE](LICENSE). This covers the placeholder CLI; future components may
|
|
62
|
+
ship under their own terms.
|
vurnix-0.1.0/README.md
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Vurnix
|
|
2
|
+
|
|
3
|
+
**A local-first software factory.** Deterministic multi-agent orchestration that turns
|
|
4
|
+
small local models (12B-class, on your own hardware) into working software — end to end,
|
|
5
|
+
from PRD to a clone-and-run repository.
|
|
6
|
+
|
|
7
|
+
> **Status: early development (alpha).** This release reserves the `vurnix` CLI entry
|
|
8
|
+
> point and ships an environment preflight. The pipeline lands in a later release.
|
|
9
|
+
|
|
10
|
+
## Why Vurnix
|
|
11
|
+
|
|
12
|
+
- **Weak-local-model first** — designed around small open-weight models running locally,
|
|
13
|
+
not frontier APIs. The orchestration layer, not model size, does the heavy lifting.
|
|
14
|
+
- **Deterministic orchestration** — scheduling, gating, and verification are plain code:
|
|
15
|
+
same input, same build plan. LLMs write code; they don't run the factory.
|
|
16
|
+
- **Self-evolving** — lessons and skills accumulate from every build and graduate into
|
|
17
|
+
deterministic checks over time.
|
|
18
|
+
- **Fully autonomous** — PRD in, pushed clone-and-run repository out.
|
|
19
|
+
|
|
20
|
+
## Install
|
|
21
|
+
|
|
22
|
+
```sh
|
|
23
|
+
pip install vurnix # or: uv tool install vurnix
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
```sh
|
|
27
|
+
vurnix info # what this is
|
|
28
|
+
vurnix doctor # preflight your environment
|
|
29
|
+
vurnix version
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
An `npm i -g vurnix` stub is also published to hold the name; the Python package is primary.
|
|
33
|
+
|
|
34
|
+
## Roadmap
|
|
35
|
+
|
|
36
|
+
- [ ] Pipeline release (build orchestration + verification gates)
|
|
37
|
+
- [ ] Hub (observability)
|
|
38
|
+
- [ ] Docs
|
|
39
|
+
|
|
40
|
+
## License
|
|
41
|
+
|
|
42
|
+
MIT — see [LICENSE](LICENSE). This covers the placeholder CLI; future components may
|
|
43
|
+
ship under their own terms.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# vurnix
|
|
2
|
+
|
|
3
|
+
Name-holding stub for **Vurnix** — a local-first software factory: deterministic
|
|
4
|
+
multi-agent orchestration for small local models. Early development.
|
|
5
|
+
|
|
6
|
+
The Python package is the primary distribution: `pip install vurnix`.
|
|
7
|
+
|
|
8
|
+
Home: https://github.com/shiersa/vurnix
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
const VERSION = "0.1.0";
|
|
3
|
+
const HOME = "https://github.com/shiersa/vurnix";
|
|
4
|
+
|
|
5
|
+
const cmd = process.argv[2];
|
|
6
|
+
if (cmd === "version" || cmd === "--version" || cmd === "-v") {
|
|
7
|
+
console.log(`vurnix ${VERSION}`);
|
|
8
|
+
} else {
|
|
9
|
+
console.log(
|
|
10
|
+
`Vurnix v${VERSION} (alpha) — local-first software factory.\n` +
|
|
11
|
+
`Deterministic multi-agent orchestration for small local models.\n\n` +
|
|
12
|
+
`The Python package is the primary distribution: pip install vurnix\n` +
|
|
13
|
+
`Home: ${HOME}`
|
|
14
|
+
);
|
|
15
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "vurnix",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Local-first software factory: deterministic multi-agent orchestration for small local models. Early development — placeholder CLI; the Python package is primary.",
|
|
5
|
+
"bin": { "vurnix": "bin/vurnix.js" },
|
|
6
|
+
"files": ["bin"],
|
|
7
|
+
"engines": { "node": ">=18" },
|
|
8
|
+
"license": "MIT",
|
|
9
|
+
"repository": { "type": "git", "url": "git+https://github.com/shiersa/vurnix.git" },
|
|
10
|
+
"homepage": "https://github.com/shiersa/vurnix",
|
|
11
|
+
"keywords": ["agents", "orchestration", "local-llm", "software-factory", "deterministic"]
|
|
12
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["hatchling"]
|
|
3
|
+
build-backend = "hatchling.build"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "vurnix"
|
|
7
|
+
version = "0.1.0"
|
|
8
|
+
description = "Local-first software factory: deterministic multi-agent orchestration for small local models. Early development."
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
requires-python = ">=3.10"
|
|
11
|
+
license = "MIT"
|
|
12
|
+
license-files = ["LICENSE"]
|
|
13
|
+
authors = [{ name = "shiersa" }]
|
|
14
|
+
keywords = ["agents", "orchestration", "local-llm", "software-factory", "deterministic"]
|
|
15
|
+
classifiers = [
|
|
16
|
+
"Development Status :: 3 - Alpha",
|
|
17
|
+
"Environment :: Console",
|
|
18
|
+
"Intended Audience :: Developers",
|
|
19
|
+
"Operating System :: OS Independent",
|
|
20
|
+
"Programming Language :: Python :: 3",
|
|
21
|
+
"Topic :: Software Development :: Build Tools",
|
|
22
|
+
]
|
|
23
|
+
|
|
24
|
+
[project.urls]
|
|
25
|
+
Homepage = "https://github.com/shiersa/vurnix"
|
|
26
|
+
Repository = "https://github.com/shiersa/vurnix"
|
|
27
|
+
|
|
28
|
+
[project.scripts]
|
|
29
|
+
vurnix = "vurnix.cli:main"
|
|
30
|
+
|
|
31
|
+
[tool.hatch.build.targets.wheel]
|
|
32
|
+
packages = ["src/vurnix"]
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"""Vurnix command-line interface.
|
|
2
|
+
|
|
3
|
+
This 0.1.x release reserves the ``vurnix`` entry point and ships an
|
|
4
|
+
environment preflight; the pipeline lands in a later release.
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
import argparse
|
|
8
|
+
import shutil
|
|
9
|
+
import sys
|
|
10
|
+
|
|
11
|
+
from . import __version__
|
|
12
|
+
|
|
13
|
+
REPO_URL = "https://github.com/shiersa/vurnix"
|
|
14
|
+
|
|
15
|
+
INFO = f"""\
|
|
16
|
+
Vurnix v{__version__} (alpha)
|
|
17
|
+
|
|
18
|
+
A local-first software factory: deterministic multi-agent orchestration
|
|
19
|
+
that turns small local models into working software, end to end.
|
|
20
|
+
|
|
21
|
+
- Deterministic pipeline: same input, same build plan, machine-checked gates
|
|
22
|
+
- Weak-local-model first: built for 12B-class models on your own hardware
|
|
23
|
+
- Self-evolving: lessons and skills accumulate and graduate into code
|
|
24
|
+
|
|
25
|
+
Status: early development. This release reserves the CLI entry point;
|
|
26
|
+
the pipeline lands in a later release.
|
|
27
|
+
|
|
28
|
+
Home: {REPO_URL}
|
|
29
|
+
"""
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
def doctor() -> int:
|
|
33
|
+
"""Preflight the environment for the upcoming pipeline."""
|
|
34
|
+
git = shutil.which("git")
|
|
35
|
+
docker = shutil.which("docker")
|
|
36
|
+
checks = [
|
|
37
|
+
("python >= 3.10", sys.version_info >= (3, 10), sys.version.split()[0]),
|
|
38
|
+
("git", git is not None, git or "not found"),
|
|
39
|
+
("docker (optional)", True, docker or "not found"),
|
|
40
|
+
]
|
|
41
|
+
failed = False
|
|
42
|
+
for name, ok, detail in checks:
|
|
43
|
+
print(f" [{'ok' if ok else 'MISSING':>7}] {name}: {detail}")
|
|
44
|
+
failed = failed or not ok
|
|
45
|
+
return 1 if failed else 0
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
def main(argv=None) -> int:
|
|
49
|
+
parser = argparse.ArgumentParser(
|
|
50
|
+
prog="vurnix",
|
|
51
|
+
description="Vurnix — local-first software factory (alpha).",
|
|
52
|
+
)
|
|
53
|
+
parser.add_argument("--version", action="version", version=f"vurnix {__version__}")
|
|
54
|
+
sub = parser.add_subparsers(dest="command")
|
|
55
|
+
sub.add_parser("version", help="print the version")
|
|
56
|
+
sub.add_parser("info", help="what Vurnix is and where it lives")
|
|
57
|
+
sub.add_parser("doctor", help="preflight checks for the upcoming pipeline")
|
|
58
|
+
args = parser.parse_args(argv)
|
|
59
|
+
|
|
60
|
+
if args.command == "version":
|
|
61
|
+
print(f"vurnix {__version__}")
|
|
62
|
+
return 0
|
|
63
|
+
if args.command == "doctor":
|
|
64
|
+
print(f"vurnix {__version__} preflight:")
|
|
65
|
+
return doctor()
|
|
66
|
+
print(INFO)
|
|
67
|
+
return 0
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
if __name__ == "__main__":
|
|
71
|
+
raise SystemExit(main())
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
from vurnix import __version__
|
|
2
|
+
from vurnix.cli import main
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
def test_version(capsys):
|
|
6
|
+
assert main(["version"]) == 0
|
|
7
|
+
assert capsys.readouterr().out.strip() == f"vurnix {__version__}"
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
def test_info_points_home(capsys):
|
|
11
|
+
assert main(["info"]) == 0
|
|
12
|
+
assert "github.com/shiersa/vurnix" in capsys.readouterr().out
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
def test_default_is_info(capsys):
|
|
16
|
+
assert main([]) == 0
|
|
17
|
+
assert "software factory" in capsys.readouterr().out
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
def test_doctor_passes_where_git_exists(capsys):
|
|
21
|
+
assert main(["doctor"]) == 0
|
|
22
|
+
out = capsys.readouterr().out
|
|
23
|
+
assert "git" in out and "python" in out
|