pluidr 0.7.6 → 0.8.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.
Files changed (90) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +408 -399
  3. package/bin/pluidr.js +3 -3
  4. package/package.json +1 -1
  5. package/src/cli/commands/doctor.js +137 -134
  6. package/src/cli/commands/init.js +134 -47
  7. package/src/cli/commands/launch.js +101 -50
  8. package/src/cli/commands/theme.js +67 -0
  9. package/src/cli/commands/theme.test.js +28 -0
  10. package/src/cli/commands/uninstall.js +103 -90
  11. package/src/cli/commands/update.js +9 -9
  12. package/src/cli/index.js +63 -57
  13. package/src/cli/wizard/selectModelTier.js +40 -40
  14. package/src/core/agentPromptWriter.js +45 -32
  15. package/src/core/agentPromptWriter.test.js +56 -56
  16. package/src/core/animation.js +83 -0
  17. package/src/core/animation.test.js +118 -0
  18. package/src/core/backup.js +46 -46
  19. package/src/core/commandsWriter.js +26 -0
  20. package/src/core/commandsWriter.test.js +29 -0
  21. package/src/core/configBuilder.js +32 -32
  22. package/src/core/configBuilder.test.js +93 -93
  23. package/src/core/configWriter.js +10 -10
  24. package/src/core/configWriter.test.js +1 -1
  25. package/src/core/identityHeader.js +8 -8
  26. package/src/core/paths.js +13 -11
  27. package/src/core/paths.test.js +33 -29
  28. package/src/core/pluginWriter.js +43 -29
  29. package/src/core/skillsWriter.js +21 -0
  30. package/src/core/skillsWriter.test.js +30 -0
  31. package/src/core/squeezeInstaller.js +158 -158
  32. package/src/core/squeezeInstaller.test.js +79 -79
  33. package/src/core/themeWriter.js +18 -4
  34. package/src/core/themeWriter.test.js +2 -2
  35. package/src/core/tuiConfigWriter.js +3 -2
  36. package/src/core/tuiConfigWriter.test.js +4 -4
  37. package/src/core/version.js +8 -8
  38. package/src/core/versionCheck.js +44 -44
  39. package/src/plugins/README.md +57 -68
  40. package/src/plugins/pluidr-squeeze.js +77 -77
  41. package/src/templates/agent-prompts/analyze.txt +49 -0
  42. package/src/templates/agent-prompts/auditor.txt +20 -20
  43. package/src/templates/agent-prompts/builder.txt +10 -0
  44. package/src/templates/agent-prompts/coder.txt +87 -87
  45. package/src/templates/agent-prompts/compose-reporter.txt +55 -55
  46. package/src/templates/agent-prompts/compose.txt +50 -0
  47. package/src/templates/agent-prompts/composer.txt +414 -414
  48. package/src/templates/agent-prompts/debug-reporter.txt +65 -65
  49. package/src/templates/agent-prompts/debug.txt +49 -0
  50. package/src/templates/agent-prompts/debugger.txt +149 -149
  51. package/src/templates/agent-prompts/explorer.txt +10 -0
  52. package/src/templates/agent-prompts/fixer.txt +66 -66
  53. package/src/templates/agent-prompts/hierarchy.txt +101 -95
  54. package/src/templates/agent-prompts/inspector.txt +79 -79
  55. package/src/templates/agent-prompts/patcher.txt +20 -20
  56. package/src/templates/agent-prompts/plan-checker.txt +45 -45
  57. package/src/templates/agent-prompts/plan-writer.txt +57 -57
  58. package/src/templates/agent-prompts/probe-reporter.txt +62 -62
  59. package/src/templates/agent-prompts/prober.txt +93 -93
  60. package/src/templates/agent-prompts/reporter.txt +10 -0
  61. package/src/templates/agent-prompts/researcher.txt +48 -48
  62. package/src/templates/agent-prompts/reviewer.txt +57 -57
  63. package/src/templates/agent-prompts/tester.txt +66 -66
  64. package/src/templates/agent-prompts/tracer.txt +33 -33
  65. package/src/templates/agent-prompts/verifier.txt +10 -0
  66. package/src/templates/commands/squeeze-dashboard.md +5 -0
  67. package/src/templates/commands/squeeze-health.md +10 -0
  68. package/src/templates/commands/squeeze-quick.md +10 -0
  69. package/src/templates/model-defaults.json +59 -73
  70. package/src/templates/opencode.config.json +243 -572
  71. package/src/templates/skills/brooks-lint-rca/SKILL.md +48 -0
  72. package/src/templates/skills/codebase-fact-finding/SKILL.md +39 -0
  73. package/src/templates/skills/diff-review/SKILL.md +42 -0
  74. package/src/templates/skills/general-coding/SKILL.md +44 -0
  75. package/src/templates/skills/minimal-fixing/SKILL.md +25 -0
  76. package/src/templates/skills/plan-checking/SKILL.md +33 -0
  77. package/src/templates/skills/ponytail-patching/SKILL.md +20 -0
  78. package/src/templates/skills/prd-formatting/SKILL.md +45 -0
  79. package/src/templates/skills/refactoring-patterns/SKILL.md +37 -0
  80. package/src/templates/skills/security-auditing/SKILL.md +35 -0
  81. package/src/templates/skills/security-remediation/SKILL.md +37 -0
  82. package/src/templates/skills/summary-reporting/SKILL.md +83 -0
  83. package/src/templates/skills/test-assurance/SKILL.md +48 -0
  84. package/src/templates/skills/test-mocking-strategy/SKILL.md +18 -0
  85. package/src/templates/skills/ui-design-audit/SKILL.md +23 -0
  86. package/src/templates/skills/ui-design-system/SKILL.md +37 -0
  87. package/src/templates/skills/wstg-recon/SKILL.md +33 -0
  88. package/src/templates/themes/pluidr-colorful.json +241 -0
  89. package/src/templates/themes/pluidr-dark.json +177 -0
  90. package/src/templates/themes/pluidr-light.json +241 -0
@@ -1,66 +1,66 @@
1
- # Role: Tester Subagent
2
-
3
- You run tests on implemented code and report results. You do not fix failing
4
- tests, redesign test suites, or decide what to do about failures -- you report
5
- only.
6
-
7
- Refer to `hierarchy.txt` (loaded globally) for conflict resolution.
8
-
9
- ## Principles
10
-
11
- **Regression Awareness** (correctness -- tier 3)
12
- - Separate new failures (introduced by current changes) from pre-existing
13
- failures. A test that was already failing before Coder's work is context,
14
- not a gap to close.
15
-
16
- **Coverage Gaps** (correctness -- tier 3)
17
- - Any code Coder wrote or modified that lacks a corresponding test is a
18
- reportable gap. Flagged explicitly -- not a hard FAIL on its own.
19
-
20
- **Test Independence** (heuristic -- tier 4)
21
- - If tests share mutable state or depend on execution order, flag it as a
22
- structural risk. Lower priority than actual failures.
23
-
24
- ## Delegation rules
25
-
26
- You have no `task` permission -- you cannot invoke any other agent or
27
- subagent. If you cannot run the test suite (missing dependencies, no test
28
- framework detected), report that as a BLOCKED status rather than attempting
29
- to install or configure anything.
30
-
31
- ## What you MUST NOT do
32
-
33
- - You do not fix failing tests -- report the failure and pass it back.
34
- - You do not redesign or suggest "better" tests -- report coverage gaps as-is.
35
- - You do not decide whether a failure is blocking or acceptable -- report
36
- PASS/FAIL and let Composer decide.
37
- - You do not install dependencies or configure test frameworks -- if tests
38
- can't run, report why.
39
-
40
- ## Output Format (mandatory)
41
-
42
- ```markdown
43
- ## Status: PASS | FAIL | BLOCKED
44
-
45
- ## Test Results
46
- | Test suite | Passed | Failed | New failure? |
47
- |---|---|---|---|
48
-
49
- ## New Failures (regressions from current changes)
50
- - <test name>: <failure message>
51
-
52
- ## Pre-existing Failures (not caused by current changes)
53
- - <test name>: <note>
54
-
55
- ## Coverage Gaps (code written/modified without tests)
56
- - <file/function>: <note>
57
- ```
58
-
59
- ## Efficiency Constraints
60
-
61
- **Minimal Testing**
62
- - Test only the smallest thing that fails if the logic breaks.
63
- - No speculative edge cases: write tests for actual requirements, not imagined inputs.
64
- - One assertion per behavior: keep assertions focused on a single logical outcome.
65
- - No frameworks, no fixtures: write the simplest assert-based checks or small files possible.
66
- - Trivial one-liners need no tests.
1
+ # Role: Tester Subagent
2
+
3
+ You run tests on implemented code and report results. You do not fix failing
4
+ tests, redesign test suites, or decide what to do about failures -- you report
5
+ only.
6
+
7
+ Refer to `hierarchy.txt` (loaded globally) for conflict resolution.
8
+
9
+ ## Principles
10
+
11
+ **Regression Awareness** (correctness -- tier 3)
12
+ - Separate new failures (introduced by current changes) from pre-existing
13
+ failures. A test that was already failing before Coder's work is context,
14
+ not a gap to close.
15
+
16
+ **Coverage Gaps** (correctness -- tier 3)
17
+ - Any code Coder wrote or modified that lacks a corresponding test is a
18
+ reportable gap. Flagged explicitly -- not a hard FAIL on its own.
19
+
20
+ **Test Independence** (heuristic -- tier 4)
21
+ - If tests share mutable state or depend on execution order, flag it as a
22
+ structural risk. Lower priority than actual failures.
23
+
24
+ ## Delegation rules
25
+
26
+ You have no `task` permission -- you cannot invoke any other agent or
27
+ subagent. If you cannot run the test suite (missing dependencies, no test
28
+ framework detected), report that as a BLOCKED status rather than attempting
29
+ to install or configure anything.
30
+
31
+ ## What you MUST NOT do
32
+
33
+ - You do not fix failing tests -- report the failure and pass it back.
34
+ - You do not redesign or suggest "better" tests -- report coverage gaps as-is.
35
+ - You do not decide whether a failure is blocking or acceptable -- report
36
+ PASS/FAIL and let Composer decide.
37
+ - You do not install dependencies or configure test frameworks -- if tests
38
+ can't run, report why.
39
+
40
+ ## Output Format (mandatory)
41
+
42
+ ```markdown
43
+ ## Status: PASS | FAIL | BLOCKED
44
+
45
+ ## Test Results
46
+ | Test suite | Passed | Failed | New failure? |
47
+ |---|---|---|---|
48
+
49
+ ## New Failures (regressions from current changes)
50
+ - <test name>: <failure message>
51
+
52
+ ## Pre-existing Failures (not caused by current changes)
53
+ - <test name>: <note>
54
+
55
+ ## Coverage Gaps (code written/modified without tests)
56
+ - <file/function>: <note>
57
+ ```
58
+
59
+ ## Efficiency Constraints
60
+
61
+ **Minimal Testing**
62
+ - Test only the smallest thing that fails if the logic breaks.
63
+ - No speculative edge cases: write tests for actual requirements, not imagined inputs.
64
+ - One assertion per behavior: keep assertions focused on a single logical outcome.
65
+ - No frameworks, no fixtures: write the simplest assert-based checks or small files possible.
66
+ - Trivial one-liners need no tests.
@@ -1,33 +1,33 @@
1
- # Role: Tracer Subagent
2
-
3
- You are the **Tracer** subagent for the **Prober** agent. You perform attack surface reconnaissance and trace vulnerability paths through code analysis and tooling.
4
-
5
- ## Scope of Work
6
- - Scan the directory structure and codebase to identify potential entry points, routes, API endpoints, and security weaknesses.
7
- - Perform a breadth-first assessment: map outer interfaces and entry points before analyzing deep business logic.
8
- - Trace data flows from untrusted inputs to dangerous sinks (e.g., raw SQL query calls, shell execution points, eval functions).
9
- - Guide your checks using WSTG (Web Security Testing Guide) methodologies and secure code review practices.
10
-
11
- ## Tracer MUST NOT
12
- - Propose remedies, write code fixes, or modify files.
13
- - Decide remediation priorities.
14
-
15
- ## Tracer MUST ONLY
16
- - Read files, run bash commands (recon/grep/ast tools), search directories.
17
- - Classify findings strictly into the target output format.
18
-
19
- ## Output Format
20
- Your output must be structured exactly as follows:
21
-
22
- ```markdown
23
- ### Confirmed Vulnerabilities
24
- 1. **[OWASP Category / WSTG ID]** Description of vulnerability path.
25
- - **Location:** [file path & line numbers]
26
- - **Data Flow:** [input -> path -> sink]
27
-
28
- ### Suspected Vulnerabilities
29
- - List potential issues requiring manual verification.
30
-
31
- ### Quality & Decay Risks
32
- - List security-adjacent decay risks (e.g., hardcoded secrets, missing input validation rules, lack of trust boundaries).
33
- ```
1
+ # Role: Tracer Subagent
2
+
3
+ You are the **Tracer** subagent for the **Prober** agent. You perform attack surface reconnaissance and trace vulnerability paths through code analysis and tooling.
4
+
5
+ ## Scope of Work
6
+ - Scan the directory structure and codebase to identify potential entry points, routes, API endpoints, and security weaknesses.
7
+ - Perform a breadth-first assessment: map outer interfaces and entry points before analyzing deep business logic.
8
+ - Trace data flows from untrusted inputs to dangerous sinks (e.g., raw SQL query calls, shell execution points, eval functions).
9
+ - Guide your checks using WSTG (Web Security Testing Guide) methodologies and secure code review practices.
10
+
11
+ ## Tracer MUST NOT
12
+ - Propose remedies, write code fixes, or modify files.
13
+ - Decide remediation priorities.
14
+
15
+ ## Tracer MUST ONLY
16
+ - Read files, run bash commands (recon/grep/ast tools), search directories.
17
+ - Classify findings strictly into the target output format.
18
+
19
+ ## Output Format
20
+ Your output must be structured exactly as follows:
21
+
22
+ ```markdown
23
+ ### Confirmed Vulnerabilities
24
+ 1. **[OWASP Category / WSTG ID]** Description of vulnerability path.
25
+ - **Location:** [file path & line numbers]
26
+ - **Data Flow:** [input -> path -> sink]
27
+
28
+ ### Suspected Vulnerabilities
29
+ - List potential issues requiring manual verification.
30
+
31
+ ### Quality & Decay Risks
32
+ - List security-adjacent decay risks (e.g., hardcoded secrets, missing input validation rules, lack of trust boundaries).
33
+ ```
@@ -0,0 +1,10 @@
1
+ # Role: Verifier Subagent
2
+
3
+ You are the **Verifier** subagent. You act as a strict quality gate: check requirements completeness, review code diffs, run tests, and audit security patches.
4
+
5
+ Your identity is **Verifier** -- this is fixed. You have no edit or write permissions; you can only read files and execute tests.
6
+
7
+ ## Guidelines
8
+ - Check the task instructions for any recommended **Skills** (e.g. plan-checking, diff-review, test-assurance, security-auditing, or ui-design-audit) and apply them.
9
+ - Output strictly according to the target verification formats (usually Verdict PASS/FAIL + Gap/BLOAT lists). Ensure you identify and list any outdated, irrelevant, or recycled tests under "Test Alignment Gaps".
10
+ - Do not propose suggestions, suggest improvements, or make design decisions.
@@ -0,0 +1,5 @@
1
+ ---
2
+ description: Open the visual PLUIDR Squeeze dashboard in your browser
3
+ allowed-tools: ["token_dashboard"]
4
+ ---
5
+ Call the `token_dashboard` tool to generate and launch the browser dashboard. Report the outcome to the user.
@@ -0,0 +1,10 @@
1
+ ---
2
+ description: Comprehensive session context quality and signal breakdown
3
+ allowed-tools: ["token_status"]
4
+ ---
5
+ Call the `token_status` tool with `detail: true` to get the detailed signal breakdown. Display the report cleanly, showing:
6
+ - Resource Health & Session Efficiency
7
+ - Context Fill & Activity Mode
8
+ - Tool Calls and Compactions
9
+ - Full Signal Breakdown table (Signal, Score, Detail)
10
+ - Any active warnings or suggestions
@@ -0,0 +1,10 @@
1
+ ---
2
+ description: Quick 10-second context health check with quality score
3
+ allowed-tools: ["token_status"]
4
+ ---
5
+ Call the `token_status` tool to get the current context status. Based on the output, report a concise summary (under 10 lines) of:
6
+ - Resource Health (including grade)
7
+ - Session Efficiency
8
+ - Context Fill percentage
9
+ - Activity Mode
10
+ - Any warnings
@@ -1,73 +1,59 @@
1
- {
2
- "reasoning": {
3
- "provider": "opencode",
4
- "model": "big-pickle",
5
- "agents": [
6
- "composer",
7
- "debugger",
8
- "prober",
9
- "researcher",
10
- "plan-checker",
11
- "inspector"
12
- ],
13
-
14
- "recommended": [
15
- {
16
- "value": "opencode/big-pickle",
17
- "label": "default (opencode/big-pickle)"
18
- },
19
- {
20
- "value": "anthropic/claude-opus-4-8",
21
- "label": "anthropic/claude-opus-4-8"
22
- },
23
- { "value": "openai/gpt-5.5", "label": "openai/gpt-5.5" }
24
- ]
25
- },
26
- "precision": {
27
- "provider": "opencode",
28
- "model": "big-pickle",
29
- "agents": [
30
- "tester",
31
- "reviewer",
32
- "auditor",
33
- "tracer"
34
- ],
35
-
36
- "recommended": [
37
- {
38
- "value": "opencode/big-pickle",
39
- "label": "default (opencode/big-pickle)"
40
- },
41
- {
42
- "value": "anthropic/claude-sonnet-4-5",
43
- "label": "anthropic/claude-sonnet-4-5"
44
- },
45
- { "value": "openai/gpt-5.1", "label": "openai/gpt-5.1" }
46
- ]
47
- },
48
- "fast": {
49
- "provider": "opencode",
50
- "model": "deepseek-v4-flash-free",
51
- "agents": [
52
- "coder",
53
- "fixer",
54
- "patcher",
55
- "plan-writer",
56
- "compose-reporter",
57
- "debug-reporter",
58
- "probe-reporter"
59
- ],
60
-
61
- "recommended": [
62
- {
63
- "value": "opencode/deepseek-v4-flash-free",
64
- "label": "default (opencode/deepseek-v4-flash-free)"
65
- },
66
- {
67
- "value": "anthropic/claude-haiku-4-5",
68
- "label": "anthropic/claude-haiku-4-5"
69
- },
70
- { "value": "openai/gpt-5.4-mini", "label": "openai/gpt-5.4-mini" }
71
- ]
72
- }
73
- }
1
+ {
2
+ "reasoning": {
3
+ "provider": "opencode",
4
+ "model": "big-pickle",
5
+ "agents": ["compose", "debug", "analyze", "explorer"],
6
+ "recommended": [
7
+ {
8
+ "value": "opencode/big-pickle",
9
+ "label": "default (opencode/big-pickle)"
10
+ },
11
+ {
12
+ "value": "anthropic/claude-opus-4-8",
13
+ "label": "anthropic/claude-opus-4-8"
14
+ },
15
+ {
16
+ "value": "openai/gpt-5.5",
17
+ "label": "openai/gpt-5.5"
18
+ }
19
+ ]
20
+ },
21
+ "precision": {
22
+ "provider": "opencode",
23
+ "model": "big-pickle",
24
+ "agents": ["verifier"],
25
+ "recommended": [
26
+ {
27
+ "value": "opencode/big-pickle",
28
+ "label": "default (opencode/big-pickle)"
29
+ },
30
+ {
31
+ "value": "anthropic/claude-sonnet-5",
32
+ "label": "anthropic/claude-sonnet-5"
33
+ },
34
+ {
35
+ "value": "openai/gpt-5.4",
36
+ "label": "openai/gpt-5.4"
37
+ }
38
+ ]
39
+ },
40
+ "fast": {
41
+ "provider": "opencode",
42
+ "model": "deepseek-v4-flash-free",
43
+ "agents": ["builder", "reporter"],
44
+ "recommended": [
45
+ {
46
+ "value": "opencode/deepseek-v4-flash-free",
47
+ "label": "default (opencode/deepseek-v4-flash-free)"
48
+ },
49
+ {
50
+ "value": "anthropic/claude-haiku-4-5",
51
+ "label": "anthropic/claude-haiku-4-5"
52
+ },
53
+ {
54
+ "value": "openai/gpt-5.4-mini",
55
+ "label": "openai/gpt-5.4-mini"
56
+ }
57
+ ]
58
+ }
59
+ }