chore: add hooks, CI/CD infrastructure, ignore runtime JSON

- Transfer Claude Code hooks from internal: identity injector, email
  notification, auto-fix diagnostics, pre-compact recovery
- Add notification sounds for tool use, stop, and alerts
- Wire all hooks in .claude/settings.json
- Add global system prompt (.aipass/aipass_global_prompt.md)
- Add branch-local prompt placeholders for all modules
- Set up CI pipeline: lint (ruff) → test matrix (3.10-3.13) → coverage
- Add workflows: PyPI publish, security scanning, stale issues
- Add GitHub issue templates, dependabot, editorconfig
- Configure pytest norecursedirs and coverage fail-under=70
- Add *.json to gitignore — runtime JSON files constantly change
- Untrack runtime JSON (registry, plans, seed bypass, module data)
- Keep source JSON tracked via negation rules (json_templates, pack,
  spawn templates, settings, pyrightconfig)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
AIOSAI
2026-03-06 20:33:40 -08:00
co-authored by Claude Opus 4.6
parent 6f60b7e26e
commit f30443504c
63 changed files with 1189 additions and 679 deletions
+16 -1
View File
@@ -44,6 +44,7 @@ dev = [
"pytest",
"pytest-cov",
"ruff",
"coverage",
]
[project.scripts]
@@ -54,7 +55,21 @@ seedgo = "aipass.seedgo.apps.seedgo:main"
packages = ["src/aipass"]
[tool.pytest.ini_options]
testpaths = ["tests"]
testpaths = ["tests", "src"]
norecursedirs = ["templates", "*.egg-info", ".git", ".venv", "__pycache__"]
[tool.coverage.run]
source = ["src/aipass"]
omit = ["*/tests/*", "*/templates/*"]
[tool.coverage.report]
show_missing = true
fail_under = 70
exclude_lines = [
"pragma: no cover",
"if __name__ == .__main__.",
"if TYPE_CHECKING:",
]
[tool.ruff]
line-length = 120