paqad-ai 1.2.1 → 1.4.0
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.
- package/CHANGELOG.md +42 -0
- package/README.md +51 -16
- package/dist/cli/index.js +2261 -578
- package/dist/cli/index.js.map +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.js +362 -342
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/runtime/graph-ui/assets/index-C7YU4yJj.css +1 -0
- package/runtime/graph-ui/assets/index-CFsixRtn.js +361 -0
- package/runtime/graph-ui/index.html +2 -2
- package/runtime/hooks/agent-entry-gate.sh +10 -38
- package/runtime/hooks/agent-entry-prompt-gate.sh +69 -0
- package/runtime/hooks/lib/agent-entry-sentinel.sh +60 -0
- package/runtime/graph-ui/assets/index-4b3KOlpT.js +0 -361
- package/runtime/graph-ui/assets/index-fx4nTJpK.css +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,47 @@
|
|
|
1
1
|
# paqad-ai
|
|
2
2
|
|
|
3
|
+
## 1.4.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#75](https://github.com/Eliyce/paqad-ai/pull/75) [`283d973`](https://github.com/Eliyce/paqad-ai/commit/283d9736621e7571013a377408a8ec6416b54df9) Thanks [@HLasani](https://github.com/HLasani)! - Gate every agent turn on the entry-file load, not just code-mutating tool
|
|
8
|
+
calls. Onboarded projects previously could answer read-only prompts (Q&A,
|
|
9
|
+
"what is this project", explanations) without loading `CLAUDE.md`,
|
|
10
|
+
`.paqad/framework-path.txt`, or `docs/instructions/{rules,stack,design-system}`
|
|
11
|
+
— the framework's rules and Decision Pause Contract silently never entered
|
|
12
|
+
context.
|
|
13
|
+
|
|
14
|
+
The Claude Code adapter now installs a `UserPromptSubmit` hook
|
|
15
|
+
(`runtime/hooks/agent-entry-prompt-gate.sh`) alongside the existing
|
|
16
|
+
`PreToolUse` hook. Both gates share sentinel-freshness logic via
|
|
17
|
+
`runtime/hooks/lib/agent-entry-sentinel.sh` so they cannot drift.
|
|
18
|
+
|
|
19
|
+
Soft mode (default): the hook prints a high-priority reminder on stdout; Claude
|
|
20
|
+
Code injects it into the model context before the turn is planned. Hard mode
|
|
21
|
+
(`PAQAD_AGENT_ENTRY_MODE=hard`): the hook exits non-zero and blocks the turn
|
|
22
|
+
until the sentinel is written.
|
|
23
|
+
|
|
24
|
+
Re-running onboarding / `paqad upgrade` refreshes the wiring in
|
|
25
|
+
`.claude/settings.json` idempotently. Resolves Eliyce/paqad-ai#74.
|
|
26
|
+
|
|
27
|
+
## 1.3.0
|
|
28
|
+
|
|
29
|
+
### Minor Changes
|
|
30
|
+
|
|
31
|
+
- [#67](https://github.com/Eliyce/paqad-ai/pull/67) [`c4312aa`](https://github.com/Eliyce/paqad-ai/commit/c4312aab1366c6c25138e6de38cff935c862ccb1) Thanks [@HLasani](https://github.com/HLasani)! - Add `paqad-ai dashboard` and `paqad-ai status` — the living single-pane health overview for an onboarded paqad project.
|
|
32
|
+
|
|
33
|
+
`paqad-ai dashboard` starts a local web server (port 5372, auto-incrementing) on the same bundle as `paqad-ai graph`. The graph view is now one section inside the dashboard, opened via the architecture card; the existing `paqad-ai graph` command is unchanged and is still a direct shortcut to the graph route. Sections rendered in Phase 1: project profile, rules, workflows, decisions (living), module health (living), module docs, architecture, design system, stack, registries, tools, tech-debt, stack drift, framework version, RAG status, and — when present — pentest and session continuity. Each card shows a score badge, a one-line state-derived summary, a `?` helper popover, and up to three compact metrics. Score is existence + freshness only (file present + last-modified ≤ 30d = 100%, decays linearly to 0 at the 180d cliff); no content-quality heuristics in Phase 1. The summary band surfaces up to five "Needs your attention" items, critical-first. The card border pulses (200ms accent) when SSE re-fetch updates a section — the one allowed animation.
|
|
34
|
+
|
|
35
|
+
`paqad-ai status` is the same `buildReport()` pipeline, but one-shot — no server, no long-running process. Defaults to a deterministic Markdown rendering for humans / PR descriptions; `--format json` emits the stable `schemaVersion: 1` contract for agent prompts.
|
|
36
|
+
|
|
37
|
+
Zero install footprint: the bundle ships inside the package (mirroring the existing `runtime/graph-ui/` pattern), no new files are written into the user's project, scoring is computed on the fly, and no new MCP server or background process is introduced. Reuses every `--color-mod-*` design token already present in `graph-ui/src/index.css` — no new design tokens.
|
|
38
|
+
|
|
39
|
+
Closes [#64](https://github.com/Eliyce/paqad-ai/issues/64).
|
|
40
|
+
|
|
41
|
+
### Patch Changes
|
|
42
|
+
|
|
43
|
+
- [#71](https://github.com/Eliyce/paqad-ai/pull/71) [`c530fa3`](https://github.com/Eliyce/paqad-ai/commit/c530fa34d032f7f454f49386bc66987e32cb726a) Thanks [@HLasani](https://github.com/HLasani)! - Stop leaking absolute install paths into committed onboarding artifacts ([#69](https://github.com/Eliyce/paqad-ai/issues/69)). The hooks manifest (`.claude/settings.hooks.json`, `.codex/hooks.json`, `.gemini/hooks.json`, etc.) now stores only the package-relative `source` and resolves the hook script at runtime, instead of baking in `/opt/homebrew/lib/node_modules/paqad-ai/...` or `~/.npm/_npx/<hash>/...` from the onboarding user's machine. A teammate cloning the repo (different OS user, different package manager, Mac vs. Windows) can now run Paqad without every hook 404'ing, and usernames/machine layout no longer end up in source control. Adds a portability test that scans all generated config across every adapter × fixture combination for leaked absolute paths.
|
|
44
|
+
|
|
3
45
|
## 1.2.1
|
|
4
46
|
|
|
5
47
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -512,6 +512,39 @@ paqad-ai graph --no-watch # Disable live reload on .paqad/ changes
|
|
|
512
512
|
|
|
513
513
|
**Pre-conditions:** the current directory must contain a `.paqad/` from a previous `paqad-ai onboard`. RAG is optional — without it the graph still renders fully, with similarity and chunk nodes disabled behind a clear banner.
|
|
514
514
|
|
|
515
|
+
### `paqad-ai dashboard`
|
|
516
|
+
|
|
517
|
+
The single-pane "where am I on this project?" view. Same bundle as `paqad-ai graph` — the graph view is now one section inside the dashboard, opened by the architecture card.
|
|
518
|
+
|
|
519
|
+
```bash
|
|
520
|
+
paqad-ai dashboard # Opens http://127.0.0.1:5372/#/dashboard
|
|
521
|
+
paqad-ai dashboard --no-open # Print the URL and skip auto-open
|
|
522
|
+
paqad-ai dashboard --port 8080 # Custom port (auto-increments if busy)
|
|
523
|
+
paqad-ai dashboard --no-watch # Disable live reload on .paqad/ changes
|
|
524
|
+
```
|
|
525
|
+
|
|
526
|
+
**What you get:**
|
|
527
|
+
|
|
528
|
+
- Overall completeness score (existence + freshness, no content-quality heuristics)
|
|
529
|
+
- A card per section: project profile, rules, workflows, decisions (living), module health (living), module docs, architecture, design system / stack / registries / tools / tech-debt, stack drift, framework version, RAG status, and — when present — pentest and session continuity
|
|
530
|
+
- Per-card score badge using the same `mod-green` / `mod-amber` / `mod-red` / `mod-unknown` tokens as the graph view
|
|
531
|
+
- Helper text behind a `?` affordance on every card (what this means + what good looks like)
|
|
532
|
+
- Summary band with up to five "Needs your attention" items, ordered critical-first
|
|
533
|
+
- Live reload — same SSE pattern as the graph view, the card border pulses when its section changes
|
|
534
|
+
- `paqad-ai graph` and `paqad-ai dashboard` share the bundle; switching between routes is a hash-router nav
|
|
535
|
+
|
|
536
|
+
### `paqad-ai status`
|
|
537
|
+
|
|
538
|
+
One-shot LLM-friendly snapshot of the same report — no server, no long-running process. Use this from an agent prompt.
|
|
539
|
+
|
|
540
|
+
```bash
|
|
541
|
+
paqad-ai status # Markdown (default) to stdout
|
|
542
|
+
paqad-ai status --format json # Full DashboardReport contract
|
|
543
|
+
paqad-ai status --project-root <path> # Snapshot a different project
|
|
544
|
+
```
|
|
545
|
+
|
|
546
|
+
The JSON shape is stable (`schemaVersion: 1`) and identical to the payload served by `GET /api/dashboard` on the dashboard server.
|
|
547
|
+
|
|
515
548
|
### Security workflows
|
|
516
549
|
|
|
517
550
|
Security and retest flows are part of the framework runtime and agent workflows in this package version. They are not exposed as standalone top-level CLI commands in `paqad-ai` today.
|
|
@@ -598,22 +631,24 @@ Entry files stay thin. Knowledge lives in shared instruction bundles that extern
|
|
|
598
631
|
|
|
599
632
|
## Workflow overview
|
|
600
633
|
|
|
601
|
-
| Workflow
|
|
602
|
-
|
|
|
603
|
-
| **Onboarding**
|
|
604
|
-
| **Health check**
|
|
605
|
-
| **Spec compliance**
|
|
606
|
-
| **Refresh**
|
|
607
|
-
| **Update**
|
|
608
|
-
| **RAG**
|
|
609
|
-
| **Project graph**
|
|
610
|
-
| **
|
|
611
|
-
| **
|
|
612
|
-
| **
|
|
613
|
-
| **
|
|
614
|
-
| **
|
|
615
|
-
| **
|
|
616
|
-
| **
|
|
634
|
+
| Workflow | How to trigger | What happens |
|
|
635
|
+
| --------------------- | -------------------------------------- | --------------------------------------------------------- |
|
|
636
|
+
| **Onboarding** | `paqad-ai onboard` | Detect stack → confirm → generate everything |
|
|
637
|
+
| **Health check** | `paqad-ai doctor` | Validate artifacts, config, docs |
|
|
638
|
+
| **Spec compliance** | `paqad-ai compliance ...` | Extract obligations, check evidence, generate skeletons |
|
|
639
|
+
| **Refresh** | `paqad-ai refresh` | Re-detect stack, update derived docs |
|
|
640
|
+
| **Update** | `paqad-ai update` | Regenerate framework files after version bump |
|
|
641
|
+
| **RAG** | `paqad-ai rag ...` | Build, inspect, clear, and benchmark hybrid retrieval |
|
|
642
|
+
| **Project graph** | `paqad-ai graph` | Interactive browser view of modules, files, chunks, deps |
|
|
643
|
+
| **Project dashboard** | `paqad-ai dashboard` | Living single-pane health overview, per-section scoring |
|
|
644
|
+
| **Project status** | `paqad-ai status [--format json]` | One-shot LLM-friendly snapshot of the dashboard |
|
|
645
|
+
| **Documentation** | Ask agent: _"create documentation"_ | Stack → architecture → design system → modules |
|
|
646
|
+
| **Pentest** | Ask agent: _"run pentest"_ | 5-step scan → findings → report |
|
|
647
|
+
| **Retest** | Ask agent: _"retest pentest"_ | Replay findings → fixed / still-open / needs-verification |
|
|
648
|
+
| **Capabilities** | `paqad-ai capabilities add/remove` | Toggle content / coding / security |
|
|
649
|
+
| **Pack management** | `paqad-ai packs install/remove` | Install, validate, scaffold stack packs |
|
|
650
|
+
| **Pattern library** | `paqad-ai patterns ...` | Query, prune, and export reusable solutions |
|
|
651
|
+
| **Custom workflows** | YAML at `docs/instructions/workflows/` | Your own resumable skill sequences |
|
|
617
652
|
|
|
618
653
|
---
|
|
619
654
|
|