fact-toolkit 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.
- fact_toolkit-0.1.0/.github/workflows/release.yml +73 -0
- fact_toolkit-0.1.0/.gitignore +15 -0
- fact_toolkit-0.1.0/PKG-INFO +681 -0
- fact_toolkit-0.1.0/README.md +643 -0
- fact_toolkit-0.1.0/commands/fact-audit.md +24 -0
- fact_toolkit-0.1.0/commands/fact-next.md +23 -0
- fact_toolkit-0.1.0/commands/fact-start.md +19 -0
- fact_toolkit-0.1.0/commands/fact-status.md +30 -0
- fact_toolkit-0.1.0/dashboard/static/dashboard.css +614 -0
- fact_toolkit-0.1.0/dashboard/static/dashboard.js +975 -0
- fact_toolkit-0.1.0/dashboard/templates/index.html +109 -0
- fact_toolkit-0.1.0/docs/img/dashboard-overview.png +0 -0
- fact_toolkit-0.1.0/fact/__init__.py +3 -0
- fact_toolkit-0.1.0/fact/agents/__init__.py +59 -0
- fact_toolkit-0.1.0/fact/agents/claude_code.py +244 -0
- fact_toolkit-0.1.0/fact/cli.py +370 -0
- fact_toolkit-0.1.0/fact/dashboard/__init__.py +1 -0
- fact_toolkit-0.1.0/fact/dashboard/server.py +302 -0
- fact_toolkit-0.1.0/fact/dashboard/state.py +697 -0
- fact_toolkit-0.1.0/fact/dashboard/tree.py +61 -0
- fact_toolkit-0.1.0/fact/dashboard_proc.py +82 -0
- fact_toolkit-0.1.0/fact/data.py +51 -0
- fact_toolkit-0.1.0/fact/paths.py +112 -0
- fact_toolkit-0.1.0/fact/pricing.py +78 -0
- fact_toolkit-0.1.0/fact/spec_state.py +612 -0
- fact_toolkit-0.1.0/fact/speckit.py +161 -0
- fact_toolkit-0.1.0/hooks/fact_audit.py +154 -0
- fact_toolkit-0.1.0/hooks/fact_audit_stop.py +104 -0
- fact_toolkit-0.1.0/hooks/fact_compact.py +157 -0
- fact_toolkit-0.1.0/hooks/fact_compact_progress.py +199 -0
- fact_toolkit-0.1.0/hooks/fact_hook.py +199 -0
- fact_toolkit-0.1.0/hooks/fact_session_resume.py +90 -0
- fact_toolkit-0.1.0/pricing.json +42 -0
- fact_toolkit-0.1.0/pyproject.toml +68 -0
- fact_toolkit-0.1.0/skills/fact-audit/SKILL.md +232 -0
- fact_toolkit-0.1.0/skills/fact-discovery/SKILL.md +77 -0
- fact_toolkit-0.1.0/skills/fact-implement/SKILL.md +105 -0
- fact_toolkit-0.1.0/skills/fact-onboarding/SKILL.md +87 -0
- fact_toolkit-0.1.0/skills/fact-research/SKILL.md +161 -0
- fact_toolkit-0.1.0/skills/fact-rpi-harness/SKILL.md +166 -0
- fact_toolkit-0.1.0/skills/fact-skill-installer/SKILL.md +87 -0
- fact_toolkit-0.1.0/tests/__init__.py +0 -0
- fact_toolkit-0.1.0/tests/test_dashboard_state.py +157 -0
- fact_toolkit-0.1.0/tests/test_init_e2e.py +80 -0
- fact_toolkit-0.1.0/tests/test_pricing.py +30 -0
- fact_toolkit-0.1.0/tests/test_spec_state.py +62 -0
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# Publishes fact-toolkit to PyPI on tag push (v*).
|
|
2
|
+
#
|
|
3
|
+
# Uses PyPI Trusted Publishing (OIDC) — no API tokens, no secrets to rotate.
|
|
4
|
+
# Setup is one-time on PyPI:
|
|
5
|
+
#
|
|
6
|
+
# 1. Create the project on https://pypi.org (or claim it via a first manual upload).
|
|
7
|
+
# 2. On the project's "Publishing" page, add a Trusted Publisher with:
|
|
8
|
+
# owner = holaPymbu
|
|
9
|
+
# repository = fact
|
|
10
|
+
# workflow = release.yml
|
|
11
|
+
# environment = release
|
|
12
|
+
# 3. Create a `release` environment in this repo's Settings → Environments.
|
|
13
|
+
#
|
|
14
|
+
# After that, `git tag v0.1.0 && git push --tags` (or a GitHub Release on a tag)
|
|
15
|
+
# triggers a build + publish.
|
|
16
|
+
|
|
17
|
+
name: release
|
|
18
|
+
|
|
19
|
+
on:
|
|
20
|
+
push:
|
|
21
|
+
tags:
|
|
22
|
+
- "v*"
|
|
23
|
+
|
|
24
|
+
jobs:
|
|
25
|
+
build:
|
|
26
|
+
name: Build sdist + wheel
|
|
27
|
+
runs-on: ubuntu-latest
|
|
28
|
+
steps:
|
|
29
|
+
- uses: actions/checkout@v4
|
|
30
|
+
|
|
31
|
+
- name: Set up Python
|
|
32
|
+
uses: actions/setup-python@v5
|
|
33
|
+
with:
|
|
34
|
+
python-version: "3.12"
|
|
35
|
+
|
|
36
|
+
- name: Install build backend
|
|
37
|
+
run: python -m pip install --upgrade build
|
|
38
|
+
|
|
39
|
+
- name: Build distributions
|
|
40
|
+
run: python -m build
|
|
41
|
+
|
|
42
|
+
- name: Verify version matches the tag
|
|
43
|
+
run: |
|
|
44
|
+
tag="${GITHUB_REF_NAME#v}"
|
|
45
|
+
pkg_version=$(python -c "import tomllib,sys; print(tomllib.loads(open('pyproject.toml','rb').read().decode())['project']['version'])")
|
|
46
|
+
if [ "$tag" != "$pkg_version" ]; then
|
|
47
|
+
echo "Tag $GITHUB_REF_NAME does not match pyproject version $pkg_version" >&2
|
|
48
|
+
exit 1
|
|
49
|
+
fi
|
|
50
|
+
|
|
51
|
+
- name: Upload artifacts
|
|
52
|
+
uses: actions/upload-artifact@v4
|
|
53
|
+
with:
|
|
54
|
+
name: dist
|
|
55
|
+
path: dist/
|
|
56
|
+
|
|
57
|
+
publish:
|
|
58
|
+
name: Publish to PyPI
|
|
59
|
+
needs: build
|
|
60
|
+
runs-on: ubuntu-latest
|
|
61
|
+
environment:
|
|
62
|
+
name: release
|
|
63
|
+
url: https://pypi.org/p/fact-toolkit
|
|
64
|
+
permissions:
|
|
65
|
+
id-token: write # required for trusted publishing
|
|
66
|
+
steps:
|
|
67
|
+
- uses: actions/download-artifact@v4
|
|
68
|
+
with:
|
|
69
|
+
name: dist
|
|
70
|
+
path: dist/
|
|
71
|
+
|
|
72
|
+
- name: Publish
|
|
73
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|