chore: init project skeleton

Directory structure, pyproject.toml with hatchling build, and all
subpackage stubs for pyra Stage 1.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
curo1305
2026-05-17 12:48:32 +02:00
commit 0a04e04490
16 changed files with 72 additions and 0 deletions
+12
View File
@@ -0,0 +1,12 @@
{
"permissions": {
"allow": [
"Bash(git init *)",
"Bash(git add *)",
"Bash(git commit *)",
"Bash(git status *)",
"Bash(git log *)",
"Bash(git diff *)"
]
}
}
+14
View File
@@ -0,0 +1,14 @@
__pycache__/
*.py[cod]
*.egg-info/
*.egg
dist/
build/
.venv/
venv/
.pytest_cache/
.coverage
htmlcov/
*.log
.env
.DS_Store
+41
View File
@@ -0,0 +1,41 @@
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "pyra"
version = "0.1.0"
description = "Personal AI assistant CLI with vault-first security"
requires-python = ">=3.11"
dependencies = [
"litellm>=1.40.0",
"rich>=13.0.0",
"click>=8.1.0",
"prompt-toolkit>=3.0.0",
"questionary>=2.0.0",
"ruamel.yaml>=0.18.0",
"pydantic>=2.0.0",
"httpx>=0.27.0",
"python-dotenv>=1.0.0",
]
[project.optional-dependencies]
dev = [
"pytest>=8.0.0",
"pytest-asyncio>=0.23.0",
"ruff>=0.4.0",
]
[project.scripts]
pyra = "pyra.cli:main"
[tool.hatch.build.targets.wheel]
packages = ["src/pyra"]
[tool.ruff]
line-length = 100
target-version = "py311"
[tool.pytest.ini_options]
asyncio_mode = "auto"
testpaths = ["tests"]
+1
View File
@@ -0,0 +1 @@
__version__ = "0.1.0"
+4
View File
@@ -0,0 +1,4 @@
from pyra.cli import main
if __name__ == "__main__":
main()
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File