fact-toolkit 0.1.0__py3-none-any.whl

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.
Files changed (39) hide show
  1. fact/__init__.py +3 -0
  2. fact/_data/commands/fact-audit.md +24 -0
  3. fact/_data/commands/fact-next.md +23 -0
  4. fact/_data/commands/fact-start.md +19 -0
  5. fact/_data/commands/fact-status.md +30 -0
  6. fact/_data/dashboard/static/dashboard.css +614 -0
  7. fact/_data/dashboard/static/dashboard.js +975 -0
  8. fact/_data/dashboard/templates/index.html +109 -0
  9. fact/_data/hooks/fact_audit.py +154 -0
  10. fact/_data/hooks/fact_audit_stop.py +104 -0
  11. fact/_data/hooks/fact_compact.py +157 -0
  12. fact/_data/hooks/fact_compact_progress.py +199 -0
  13. fact/_data/hooks/fact_hook.py +199 -0
  14. fact/_data/hooks/fact_session_resume.py +90 -0
  15. fact/_data/pricing.json +42 -0
  16. fact/_data/skills/fact-audit/SKILL.md +232 -0
  17. fact/_data/skills/fact-discovery/SKILL.md +77 -0
  18. fact/_data/skills/fact-implement/SKILL.md +105 -0
  19. fact/_data/skills/fact-onboarding/SKILL.md +87 -0
  20. fact/_data/skills/fact-research/SKILL.md +161 -0
  21. fact/_data/skills/fact-rpi-harness/SKILL.md +166 -0
  22. fact/_data/skills/fact-skill-installer/SKILL.md +87 -0
  23. fact/agents/__init__.py +59 -0
  24. fact/agents/claude_code.py +244 -0
  25. fact/cli.py +370 -0
  26. fact/dashboard/__init__.py +1 -0
  27. fact/dashboard/server.py +302 -0
  28. fact/dashboard/state.py +697 -0
  29. fact/dashboard/tree.py +61 -0
  30. fact/dashboard_proc.py +82 -0
  31. fact/data.py +51 -0
  32. fact/paths.py +112 -0
  33. fact/pricing.py +78 -0
  34. fact/spec_state.py +612 -0
  35. fact/speckit.py +161 -0
  36. fact_toolkit-0.1.0.dist-info/METADATA +681 -0
  37. fact_toolkit-0.1.0.dist-info/RECORD +39 -0
  38. fact_toolkit-0.1.0.dist-info/WHEEL +4 -0
  39. fact_toolkit-0.1.0.dist-info/entry_points.txt +2 -0
fact/__init__.py ADDED
@@ -0,0 +1,3 @@
1
+ """FACT — Focused Agentic Context Toolkit."""
2
+
3
+ __version__ = "0.1.0"
@@ -0,0 +1,24 @@
1
+ ---
2
+ description: Run a security / architecture / quality audit on demand.
3
+ ---
4
+
5
+ Load the `fact-audit` skill and run an audit.
6
+
7
+ The user may pass a dimension as argument:
8
+ - `/fact-audit security`
9
+ - `/fact-audit architecture`
10
+ - `/fact-audit quality`
11
+ - `/fact-audit` or `/fact-audit all` → run all three in parallel
12
+
13
+ Use sub-agents per fact-audit §3 (Sonnet for deep reviews, Haiku for
14
+ narrow per-task checks). Confirm any skill installation with the user
15
+ before downloading.
16
+
17
+ Write each audit report to `.specify/fact/audits/<UTC>-<dimension>.md`
18
+ with the YAML frontmatter described in fact-audit §4 so the dashboard
19
+ can render the severity badges.
20
+
21
+ After the run:
22
+ - If any critical finding → halt and present.
23
+ - Otherwise summarize counts in chat and tell the user where each
24
+ full report lives.
@@ -0,0 +1,23 @@
1
+ ---
2
+ description: Continue the current FACT phase or advance to the next.
3
+ ---
4
+
5
+ Load `fact-rpi-harness` if you haven't already in this session.
6
+
7
+ Identify the current phase from the state of files under `.specify/`:
8
+
9
+ - No `constitution.md` → phase **constitution** (`/speckit.constitution`).
10
+ - Constitution but no `spec.md` → phase **specify** (load `fact-discovery` or
11
+ `fact-research` depending on workflow type).
12
+ - Spec but no `plan.md` → phase **plan** (`/speckit.plan`).
13
+ - Plan but no `tasks.md` → phase **tasks** (`/speckit.tasks`).
14
+ - `tasks.md` with pending tasks → phase **implement** (load `fact-implement`).
15
+ - All tasks done → ask whether to start another feature, refactor, or wrap up.
16
+
17
+ Before starting:
18
+ 1. Read `.specify/fact/session_state.json` to know which task was active.
19
+ 2. Read the latest file in `.specify/fact/sessions/` (semantic summary).
20
+ 3. If the active task was abandoned mid-flight, apply fact-onboarding §3b
21
+ ("abandoned task" case).
22
+
23
+ Be brief. The user wants to make progress, not read a status report.
@@ -0,0 +1,19 @@
1
+ ---
2
+ description: Start (or resume) a FACT workflow.
3
+ ---
4
+
5
+ Load the `fact-rpi-harness` skill first (40% rule, sub-agents, intentional
6
+ compaction, session-summary format) — keep it active for the whole session.
7
+
8
+ Then load the `fact-onboarding` skill and follow its protocol:
9
+
10
+ 1. If `.specify/fact/session_state.json` or files under
11
+ `.specify/fact/sessions/` exist, this is a **resumed session** — apply the
12
+ "resume protocol" (§3 of fact-onboarding). Do NOT greet with "hi, I'm
13
+ FACT"; jump straight into presenting continuity.
14
+
15
+ 2. If no prior state exists, this is a **fresh project** — ask greenfield /
16
+ brownfield / demo and delegate to the matching skill.
17
+
18
+ If a workflow is already in progress (`.specify/specs/<feature>/` exists) and
19
+ the user invoked `/fact-start` anyway, suggest `/fact-next` as an alternative.
@@ -0,0 +1,30 @@
1
+ ---
2
+ description: Print a quick status report — phase, tasks, last activity, next step.
3
+ ---
4
+
5
+ Print a project status summary in chat. Be concise (10 lines max).
6
+
7
+ Read only headers / metadata, not full files:
8
+
9
+ - Project type (greenfield / brownfield / demo) — infer from
10
+ `.specify/specs/` structure or prior session summaries.
11
+ - Active feature (most recently modified subdir of `.specify/specs/`).
12
+ - Current phase (which files exist: constitution / spec / plan / tasks).
13
+ - Tasks: `<done>/<total>` parsed from `tasks.md`.
14
+ - Last activity: `updated_at` from `.specify/fact/session_state.json`, or the
15
+ most recent file in `.specify/fact/sessions/`.
16
+ - Next recommended step in one line.
17
+
18
+ Suggested format:
19
+
20
+ ```
21
+ Project: <name> • <type>
22
+ Phase: <phase>
23
+ Feature: <slug>
24
+ Tasks: <done>/<total> ([x] T-007 last done)
25
+ Last act: <iso>
26
+ Next: <one line>
27
+ ```
28
+
29
+ Do not open large files. If something can't be determined, show `?` — never
30
+ fabricate (P10).