@starlein/paperclip-plugin-company-wizard 0.4.6 → 0.4.9

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 (99) hide show
  1. package/CHANGELOG.md +78 -0
  2. package/README.md +6 -4
  3. package/dist/manifest.js +1 -1
  4. package/dist/manifest.js.map +1 -1
  5. package/dist/ui/index.css +82 -0
  6. package/dist/ui/index.css.map +2 -2
  7. package/dist/ui/index.js +422 -137
  8. package/dist/ui/index.js.map +4 -4
  9. package/dist/worker.js +352 -21
  10. package/dist/worker.js.map +3 -3
  11. package/package.json +1 -1
  12. package/templates/bootstrap-instructions.md +2 -2
  13. package/templates/modules/architecture-plan/agents/ceo/skills/architecture-plan.bar.md +17 -0
  14. package/templates/modules/architecture-plan/agents/ui-designer/skills/architecture-plan.md +2 -0
  15. package/templates/modules/architecture-plan/agents/ui-designer/skills/design-system.md +5 -4
  16. package/templates/modules/architecture-plan/skills/architecture-plan.md +1 -1
  17. package/templates/modules/architecture-plan/skills/design-system.md +25 -0
  18. package/templates/modules/auto-assign/agents/ceo/heartbeat-section.md +1 -1
  19. package/templates/modules/auto-assign/agents/product-owner/heartbeat-section.md +1 -1
  20. package/templates/modules/backlog/agents/ceo/heartbeat-section.md +1 -1
  21. package/templates/modules/backlog/agents/ceo/skills/backlog-health.fallback.md +2 -0
  22. package/templates/modules/backlog/agents/product-owner/heartbeat-section.md +1 -1
  23. package/templates/modules/backlog/docs/backlog-process.md +38 -1
  24. package/templates/modules/backlog/docs/backlog-template.md +1 -1
  25. package/templates/modules/backlog/module.meta.json +1 -1
  26. package/templates/modules/backlog/skills/backlog-health.bar.md +2 -0
  27. package/templates/modules/backlog/skills/backlog-health.md +7 -4
  28. package/templates/modules/brand-identity/agents/ceo/skills/brand-identity.fallback.md +4 -4
  29. package/templates/modules/brand-identity/skills/brand-identity.md +1 -1
  30. package/templates/modules/ci-cd/agents/engineer/skills/ci-cd.fallback.md +2 -1
  31. package/templates/modules/ci-cd/skills/ci-cd.md +13 -2
  32. package/templates/modules/codebase-onboarding/agents/ceo/skills/codebase-audit.fallback.md +10 -0
  33. package/templates/modules/competitive-intel/agents/product-owner/skills/competitive-tracking.fallback.md +19 -0
  34. package/templates/modules/competitive-intel/skills/competitive-tracking.bar.md +11 -0
  35. package/templates/modules/competitive-intel/skills/competitive-tracking.md +1 -1
  36. package/templates/modules/dependency-management/module.meta.json +9 -0
  37. package/templates/modules/dependency-management/skills/dependency-audit.md +8 -5
  38. package/templates/modules/documentation/skills/project-docs.bar.md +13 -0
  39. package/templates/modules/game-design/skills/game-design.bar.md +13 -0
  40. package/templates/modules/github-repo/agents/engineer/skills/git-workflow.md +79 -17
  41. package/templates/modules/github-repo/docs/git-workflow.md +34 -16
  42. package/templates/modules/market-analysis/agents/ux-researcher/skills/market-analysis.md +1 -1
  43. package/templates/modules/market-analysis/docs/market-analysis-template.md +17 -0
  44. package/templates/modules/market-analysis/skills/market-analysis.md +1 -1
  45. package/templates/modules/monitoring/agents/engineer/skills/monitoring.fallback.md +1 -1
  46. package/templates/modules/monitoring/skills/monitoring.md +3 -1
  47. package/templates/modules/pr-review/agents/code-reviewer/skills/code-review.md +19 -5
  48. package/templates/modules/pr-review/agents/devops/skills/infra-review.md +6 -8
  49. package/templates/modules/pr-review/agents/engineer/skills/pr-workflow.md +47 -12
  50. package/templates/modules/pr-review/agents/product-owner/skills/product-review.md +3 -2
  51. package/templates/modules/pr-review/agents/ui-designer/skills/design-review.md +4 -6
  52. package/templates/modules/pr-review/agents/ux-researcher/skills/ux-review.md +4 -6
  53. package/templates/modules/pr-review/docs/pr-conventions.md +4 -4
  54. package/templates/modules/pr-review/module.meta.json +1 -1
  55. package/templates/modules/release-management/agents/ceo/skills/release-process.fallback.md +20 -0
  56. package/templates/modules/release-management/module.meta.json +9 -0
  57. package/templates/modules/release-management/skills/release-process.md +7 -5
  58. package/templates/modules/security-audit/skills/threat-model.md +1 -1
  59. package/templates/modules/stall-detection/agents/ceo/heartbeat-section.md +1 -1
  60. package/templates/modules/tech-stack/skills/tech-stack.md +1 -1
  61. package/templates/modules/triage/agents/ceo/skills/issue-triage.fallback.md +2 -2
  62. package/templates/modules/triage/skills/issue-triage.md +1 -1
  63. package/templates/modules/user-testing/agents/qa/skills/user-testing.md +1 -1
  64. package/templates/modules/user-testing/skills/user-testing.md +1 -1
  65. package/templates/modules/vision-workshop/agents/ceo/skills/vision-workshop.md +1 -1
  66. package/templates/modules/website-relaunch/module.meta.json +0 -15
  67. package/templates/presets/repo-maintenance/preset.meta.json +3 -3
  68. package/templates/roles/audio-designer/role.meta.json +5 -2
  69. package/templates/roles/ceo/HEARTBEAT.md +1 -1
  70. package/templates/roles/cmo/AGENTS.md +15 -0
  71. package/templates/roles/cmo/HEARTBEAT.md +1 -1
  72. package/templates/roles/cmo/role.meta.json +2 -1
  73. package/templates/roles/code-reviewer/AGENTS.md +3 -3
  74. package/templates/roles/code-reviewer/HEARTBEAT.md +2 -1
  75. package/templates/roles/code-reviewer/role.meta.json +4 -1
  76. package/templates/roles/cto/AGENTS.md +22 -0
  77. package/templates/roles/cto/HEARTBEAT.md +1 -1
  78. package/templates/roles/cto/role.meta.json +2 -1
  79. package/templates/roles/customer-success/role.meta.json +2 -1
  80. package/templates/roles/devops/AGENTS.md +21 -0
  81. package/templates/roles/devops/HEARTBEAT.md +1 -1
  82. package/templates/roles/devops/role.meta.json +2 -1
  83. package/templates/roles/engineer/role.meta.json +2 -1
  84. package/templates/roles/game-artist/role.meta.json +5 -2
  85. package/templates/roles/game-designer/role.meta.json +4 -1
  86. package/templates/roles/level-designer/role.meta.json +4 -1
  87. package/templates/roles/product-owner/SOUL.md +4 -1
  88. package/templates/roles/product-owner/role.meta.json +4 -1
  89. package/templates/roles/qa/HEARTBEAT.md +3 -2
  90. package/templates/roles/qa/role.meta.json +2 -1
  91. package/templates/roles/security-engineer/AGENTS.md +7 -0
  92. package/templates/roles/security-engineer/role.meta.json +2 -1
  93. package/templates/roles/technical-writer/AGENTS.md +1 -1
  94. package/templates/roles/technical-writer/role.meta.json +2 -1
  95. package/templates/roles/ui-designer/HEARTBEAT.md +1 -1
  96. package/templates/roles/ui-designer/role.meta.json +2 -1
  97. package/templates/roles/ux-researcher/AGENTS.md +21 -0
  98. package/templates/roles/ux-researcher/HEARTBEAT.md +1 -1
  99. package/templates/roles/ux-researcher/role.meta.json +4 -1
package/CHANGELOG.md CHANGED
@@ -4,6 +4,84 @@ All notable changes to the Company Wizard plugin are documented here.
4
4
 
5
5
  The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
6
6
 
7
+ ## [0.4.9] - 2026-06-22
8
+
9
+ ### Fixed
10
+
11
+ **Roles — structural gaps in secondary and C-suite roles**
12
+ - `devops`, `cto`, `cmo`, `ux-researcher` AGENTS.md: added Working Rules, Collaboration and Handoffs, and Done Bar sections (previously used a thin "Core Principles"-only pattern with no actionable workflow guidance).
13
+ - `code-reviewer` HEARTBEAT.md step 5: replaced generic "move to in_review" with the correct role-specific flow — merge the PR, archive worktree, record `approved`; or on rejection set `in_progress` and reassign to engineer.
14
+ - `qa` HEARTBEAT.md step 5: replaced generic step with pass → mark done / fail → reassign to engineer with reproduction steps.
15
+ - `code-reviewer` AGENTS.md: added rejection flow in step 8; removed duplicate procedure paragraph from `## Principles`.
16
+ - `security-engineer` AGENTS.md: added missing `## Safety Considerations` section.
17
+ - `product-owner` SOUL.md: renamed section heading and added product ownership bullets.
18
+ - `technical-writer` AGENTS.md step 7: clarified that executionPolicy overrides the direct self-close.
19
+ - HEARTBEAT.md title casing fixed: CEO, CTO, CMO, QA Engineer, UI Designer, UX Researcher, DevOps.
20
+
21
+ **Operational modules — heartbeat-scan anti-pattern, bar/skill mismatches, missing fallbacks**
22
+ - `dependency-management` and `release-management`: converted heartbeat-scan "Ongoing" sections to routine-triggered procedures; added `routines[]` to both `module.meta.json` files.
23
+ - `release-management`: added CEO fallback skill scoped to documentation only — explicitly forbids `git push --tags`, `gh release create`, and version bumps.
24
+ - `ci-cd` shared skill: added SHA pinning rule, rollback documentation step, and `## Ongoing Health Checks` section for recurring routine runs.
25
+ - `monitoring` shared skill: added dashboard setup step and runbook requirement rule.
26
+ - `ci-cd` engineer fallback: marked output as provisional; added explicit `docs/CI-CD.md` reference.
27
+ - `monitoring` engineer fallback: "liveness probe" → "liveness and readiness probes".
28
+ - `triage` CEO fallback: `gh issue list` now uses full `--json` form; added `executionWorkspaceSettings` note.
29
+ - `codebase-onboarding` CEO fallback: added "Health Check Refresh" section for follow-up runs.
30
+
31
+ **Product/design modules — critical missing files, duplicate issues, bar gaps**
32
+ - `architecture-plan`: added missing shared `skills/design-system.md` — without it, an engineer acting as primary was silently installed with no design-system skill.
33
+ - `architecture-plan`: added CEO-specific `agents/ceo/skills/architecture-plan.bar.md` with reduced done bar (the shared bar set engineer-level requirements the CEO fallback cannot meet).
34
+ - `architecture-plan` ui-designer contribution skill: added guard clause — wait for `docs/ARCHITECTURE.md` before contributing the UI layer.
35
+ - `architecture-plan` ui-designer design-system skill: added conditional `docs/BRAND-IDENTITY.md` reference.
36
+ - `website-relaunch` module.meta.json: removed 3 duplicate issues (each appeared twice; would have provisioned duplicate board items).
37
+ - `competitive-intel`: added missing `agents/product-owner/skills/competitive-tracking.fallback.md`.
38
+ - Added new bar files: `competitive-intel/skills/competitive-tracking.bar.md`, `documentation/skills/project-docs.bar.md`, `game-design/skills/game-design.bar.md`.
39
+ - `market-analysis` template: added `## User Segments` section.
40
+ - `brand-identity` CEO fallback: fixed inconsistent role name ("designer or PO" → "ui-designer or CMO").
41
+ - `brand-identity` primary skill: added explicit file path for template reference.
42
+
43
+ ---
44
+
45
+ ## [0.4.8] - 2026-06-22
46
+
47
+ ### Fixed
48
+
49
+ - **Merge conflicts no longer leave PRs dangling forever.** When `gh pr merge` fails due to a merge conflict, or `gh pr view` reports `mergeable: CONFLICTING` / `mergeStateStatus: DIRTY`, agents previously had no concrete instructions and left the PR in `in_review` indefinitely. All three relevant skills now include an explicit *Resolving merge conflicts* section: `git fetch && git rebase origin/<base-ref>`, resolve conflict markers, `git push --force-with-lease`, verify `mergeable: MERGEABLE`, retry `gh pr merge`. (`git-workflow.md` skill, `pr-workflow.md` skill, `docs/git-workflow.md`.)
50
+ - **Code Reviewer checks for conflicts before attempting to merge.** The merge gate now runs `gh pr view <number> --json mergeable,mergeStateStatus` before calling `gh pr merge`. If the PR is conflicting or dirty, it immediately records `changes_requested` with a comment routing the issue back to the engineer to rebase — instead of attempting the merge and silently leaving the issue stranded. (`code-review.md`.)
51
+ - **PR Self-Merge flow also guards against dirty merges.** The engineer's self-merge path now checks mergeability before `gh pr merge` and follows the same rebase procedure when conflicting. (`pr-workflow.md`, `git-workflow.md` skill.)
52
+ - **Never leave a conflicting PR without an explicit action.** All skills now state: either resolve the conflict and retry, or leave an issue comment with the exact blocker and (for complex conflicts) escalate to the CEO — do not silently abandon the branch.
53
+
54
+ ---
55
+
56
+ ## [0.4.7] - 2026-06-22
57
+
58
+ ### Fixed
59
+
60
+ - **Stall-safe PR merge workflow rules (`executionPolicy` + roles).** Fixes the long-standing defect where companies without a Code Reviewer would create endless branches without ever merging them into the base ref, or open PRs that never got merged. Two modes, chosen automatically from the roles present:
61
+ - **PR-Gate mode** (Code Reviewer present): Paperclip-native gate flow via `executionPolicy` — QA (review, when present) → Security Engineer (review, only on security-relevant changes) → Product Owner (approval, when present) → **Code Reviewer as the non-author merge gate** (last stage, merges via `gh pr merge <N> --merge` and only then records `approved`, which closes the issue).
62
+ - **PR-Self-Merge mode** (no Code Reviewer): no `executionPolicy` stages — the engineer opens the PR and merges it themselves via `gh pr merge <N> --merge`. Other review roles leave advisory PR comments but do not block.
63
+ - **`resolveReviewGate` no longer renders an `executionPolicy` sketch without a merge gate (CRITICAL).** Previously, for `engineer + product-owner` (no Code Reviewer), a gate with an approver (PO) but no merge gate was rendered — the PO approval would then auto-close the issue to `done` while the PR was still open on GitHub. Now `null` is returned whenever no non-author merge gate is resolvable (self-merge path). (`src/logic/assemble.js`, `resolveReviewGate`.)
64
+ - **The merge gate can never be the issue executor (guard).** `resolveReviewGate` discards a `mergeGate` that equals the issue's `assignTo` (the executor/author). Because Paperclip excludes the original executor from every stage, a self-stage would stall forever with `422 No eligible approval participant`. The guard prevents this — including for hand-edited presets or future modules. (`src/logic/assemble.js`.)
65
+ - **No more role fallback for the merge gate.** Previously, when the Code Reviewer was absent, another role (DevOps, QA, …) was substituted as a static gate stage — rendering an `executionPolicy` sketch the engineer is explicitly told never to set. Now the rule is consistent: no Code Reviewer → self-merge, no substitution. (`src/logic/assemble.js`.)
66
+ - **Product Owner stage is consistently tied to presence.** The PO approval stage was marked as "always" in four files (skill, conventions, module meta, BOOTSTRAP guardrail) while QA/Security were already conditional. With `pr-review + code-reviewer` but no PO, this produced a stage with no eligible participant → 422. The PO stage now reads "when present" / "when one is on the team" everywhere. (`pr-workflow.md`, `pr-conventions.md`, `module.meta.json`, `assemble.js` guardrail.)
67
+ - **Domain reviewers (UI/UX/DevOps) are consistently advisory.** Previously the skills ("Record your verdict … approved/changes_requested" = blocking stage) contradicted `pr-conventions.md` ("advisory, never gate"). Domain reviewers now post advisory PR comments only and escalate blockers to QA/Security/merge gate — they are never a stage themselves. `infra-review` routes security blockers to the Security Engineer stage instead of blocking directly. (`design-review.md`, `ux-review.md`, `infra-review.md`, `pr-workflow.md`, `pr-conventions.md`.)
68
+ - **`code-reviewer` AGENTS.md is self-consistent.** "Post your review as advisory" + "Your review does not gate the merge" contradicted the merge-gate principle (Principles + `code-review.md`). Line 18 now separates the GitHub comment (advisory — no GitHub-native approval because all agents share one account) from the `executionPolicy` stage (the real gate). Step 8 branches: in pr-review mode the Code Reviewer merges via `gh pr merge` and records `approved`; otherwise it leaves an advisory comment only. (`templates/roles/code-reviewer/AGENTS.md`.)
69
+ - **Product Owner review skill is role-correct.** "Final approver / last gate before merge" was wrong — the PO is the product sign-off *before* the Code Reviewer merge gate, not the final stage. The PO is also not a merge owner (in self-merge mode the engineer merges). (`product-review.md`.)
70
+ - **`docs/git-workflow.md` uses PR self-merge instead of `git merge`+push.** The "Direct-to-Base-Ref Workflow" used `git checkout base → git merge → git push`, which the skill forbids and branch protection (same module) would reject. Replaced with a "PR Self-Merge Flow" using `gh pr create` + `gh pr merge <N> --merge`. (`templates/modules/github-repo/docs/git-workflow.md`.)
71
+ - **Branch protection with `enforce_admins: true`.** Previously `enforce_admins: false` let the shared admin account bypass the PR requirement with a direct push to the base ref — exactly what the protection is meant to prevent. With `required_approving_review_count: 0` the admin can still open a PR and merge it with zero approvals (self-merge stays functional); only the direct-push bypass is closed. Added the "distinct non-author GitHub reviewer credentials" qualifier and a note on `restrictions: null`. (`preset.meta.json`, `git-workflow.md` skill.)
72
+ - **Work-product POST includes the `Authorization` header.** `pr-workflow.md` documented the POST without `Authorization: Bearer $PAPERCLIP_API_KEY`; in authenticated deployments this yielded 401. Header added, matching the `git-workflow.md` skill. (`pr-workflow.md`.)
73
+ - **`worker.ts` typecheck errors fixed.** Seven `Cannot find name` errors occurred because `allRoleNames`, `existingManifest`, `existingByTemplateRole`, and `routines` were declared inside the `try` block but referenced after the `try`/`catch` in the manifest-save and governance-cleanup blocks. The declarations were hoisted before the `try` block; `tsc --noEmit` now passes cleanly. (`src/worker.ts`.)
74
+
75
+ ### Changed
76
+
77
+ - **README/docs: the merge gate is the Code Reviewer, not the engineer.** The PR-review description in `README.md` had the roles inverted ("merge gate owned by the Engineer") — exactly the 422-stall bug. Corrected to Code Reviewer (non-author) as the merge gate, engineer as the executor (never a stage participant), domain reviewers advisory, and a self-merge path when no Code Reviewer is present. (`README.md`.)
78
+
79
+ ### Tests
80
+
81
+ - Replaced/augmented static JSON-only tests with behavioral `assembleCompany` calls: no `executionPolicy` sketch + installed self-merge skill when no Code Reviewer is present (C1); guard prevents executor-as-mergeGate (I16); PO stage is omitted when no Product Owner is present (M8); ordered stages QA → PO → Code Reviewer (M9). (`assemble.test.js`, `assemble.integration.test.js`.)
82
+
83
+ ---
84
+
7
85
  ## [0.4.6] - 2026-06-18
8
86
 
9
87
  ### Changed
package/README.md CHANGED
@@ -17,6 +17,8 @@
17
17
 
18
18
  > **Fork:** This is a community-maintained fork of [yesterday-AI/paperclip-plugin-company-wizard](https://github.com/yesterday-AI/paperclip-plugin-company-wizard), updated for the current Paperclip API (`>=2026.529.0`) with substantial bug fixes. End-to-end company setup is governed through current Paperclip workflows as of v0.4.6.
19
19
 
20
+ **Update Company:** If you have provisioned your company before with some older version of this plugin or you have an existing company, since version 0.4.6 you can update your existing company by providing the company ID in the wizard summary page. It will make a soft update of agent instructions and workflow/instruction documents.
21
+
20
22
  <details>
21
23
  <summary><strong>What changed vs. upstream</strong></summary>
22
24
 
@@ -163,7 +165,7 @@ Start with just a CEO. Everything works. Add roles and responsibilities shift au
163
165
  | `tech-stack` | Engineer | CEO | tech-stack |
164
166
  | `architecture-plan` | Engineer | CEO | architecture-plan |
165
167
  | `design-system` | UI Designer | Engineer | architecture-plan |
166
- | `pr-review` | QA (gate) / Security Engineer (security-relevant) / Product Owner (approval) / Engineer (merge); Code Reviewer / UI / UX / DevOps advisory | — | pr-review |
168
+ | `pr-review` | QA (review) / Security Engineer (review, security-relevant) / Product Owner (approval, when present) / Code Reviewer (merge gate, non-author); UI / UX / DevOps advisory | — | pr-review |
167
169
  | `threat-model` | Security Engineer → DevOps | Engineer | security-audit |
168
170
  | `security-review` | Security Engineer → DevOps | Engineer | security-audit |
169
171
  | `project-docs` | Technical Writer → Engineer | CEO | documentation |
@@ -279,7 +281,7 @@ Modules are composable capabilities you layer on top of the base team. Each modu
279
281
  | Module | What it does | Kickoff task |
280
282
  | :----- | :----------- | :----------- |
281
283
  | **`github-repo`** | Git workflow and commit conventions | Engineer initializes repo |
282
- | **`pr-review`** | PR-based review workflow | Engineer sets up branch protection |
284
+ | **`pr-review`** | PR-based review workflow | Engineer configures PR workflow and branch protection (requires PRs, no approval gate) |
283
285
  | **`backlog`** | Auto-generate issues from goals when backlog runs low | Primary owner creates initial backlog |
284
286
  | **`auto-assign`** | Assign unassigned issues to idle agents | — |
285
287
  | **`stall-detection`** | Detect stuck handovers, nudge or escalate | — |
@@ -340,9 +342,9 @@ Git workflow and commit conventions.
340
342
 
341
343
  PR-based review workflow. Requires `github-repo`. Activates with `code-reviewer`, `product-owner`, `ui-designer`, `ux-researcher`, `qa`, or `devops`.
342
344
 
343
- Reviews run through the issue's native `executionPolicy` (stages), not child issues: a `review` stage for the Code Reviewer (plus relevant domain reviewers), an `approval` stage for the Product Owner, then a final `approval` **merge gate** owned by the Engineer — who is woken last to merge the PR before recording the verdict that closes the issue. The merge gate is deliberately the last stage so the Product Owner's approval does not auto-close the issue with the PR still open.
345
+ Reviews run through the issue's native `executionPolicy` (stages), not child issues: a `review` stage for QA when present, a `review` stage for the Security Engineer only on security-relevant changes, an `approval` stage for the Product Owner when present, then a final `approval` **merge gate** owned by the Code Reviewer (a non-author) — who is woken last to merge the PR before recording the verdict that closes the issue. The merge gate is deliberately the last stage so the Product Owner's approval does not auto-close the issue with the PR still open. The engineer (the issue's executor) is never a stage participant — Paperclip excludes the original executor, so a self-stage stalls with `422 No eligible approval participant`; this is why the merge gate is the Code Reviewer, not the engineer. Domain reviewers (UI Designer, UX Researcher, DevOps) are advisory — they post PR comments and escalate concerns to a blocking reviewer; they are never themselves a stage. When no Code Reviewer is on the team, no `executionPolicy` stages are set and the engineer self-merges via `gh pr merge <N> --merge` (PR Self-Merge Flow).
344
346
 
345
- - **Task:** Engineer sets up branch protection
347
+ - **Task:** Engineer configures PR workflow and branch protection (requires PRs, no approval gate)
346
348
  - **Doc:** `docs/pr-conventions.md`
347
349
 
348
350
  #### backlog
package/dist/manifest.js CHANGED
@@ -2,7 +2,7 @@
2
2
  var manifest = {
3
3
  id: "starlein.paperclip-plugin-company-wizard",
4
4
  apiVersion: 1,
5
- version: "0.4.6",
5
+ version: "0.4.9",
6
6
  displayName: "Company Wizard",
7
7
  description: "AI-powered wizard to bootstrap agent companies from composable templates",
8
8
  author: "Sascha Pietrowski <sp@speednetwork.de>",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/manifest.ts"],
4
- "sourcesContent": ["import type { PaperclipPluginManifestV1 } from '@paperclipai/plugin-sdk';\n\nconst manifest: PaperclipPluginManifestV1 = {\n id: 'starlein.paperclip-plugin-company-wizard',\n apiVersion: 1,\n version: '0.4.6',\n displayName: 'Company Wizard',\n description: 'AI-powered wizard to bootstrap agent companies from composable templates',\n author: 'Sascha Pietrowski <sp@speednetwork.de>',\n categories: ['workspace', 'ui'],\n capabilities: [\n 'companies.read',\n 'issues.create',\n 'issues.read',\n 'issues.update',\n 'goals.create',\n 'goals.read',\n 'agents.read',\n 'projects.read',\n 'plugin.state.read',\n 'plugin.state.write',\n 'secrets.read-ref',\n 'events.subscribe',\n 'ui.page.register',\n 'ui.sidebar.register',\n ],\n instanceConfigSchema: {\n type: 'object',\n properties: {\n companiesDir: {\n type: 'string',\n description:\n 'Directory where assembled company workspaces are written. Auto-detected: ~/instances/default/companies in Docker setups, ~/.paperclip/instances/default/companies otherwise. Rarely needs manual override.',\n },\n templatesPath: {\n type: 'string',\n description:\n 'Path to the templates directory. Auto-detected: ~/plugin-templates in Docker setups, ~/.paperclip/plugin-templates otherwise. Rarely needs manual override.',\n },\n templatesRepoUrl: {\n type: 'string',\n default: 'https://github.com/starlein/paperclip-plugin-company-wizard/tree/main/templates',\n description:\n 'GitHub tree URL for template downloads. The default is correct for most setups \u2014 only change this if using a custom fork.',\n },\n anthropicApiKey: {\n type: 'string',\n description:\n 'Anthropic API key for the AI wizard (e.g. sk-ant-...). Required to use the AI-powered company setup path.',\n },\n paperclipUrl: {\n type: 'string',\n description:\n 'Paperclip instance URL. Defaults to http://localhost:3100 or the PAPERCLIP_PUBLIC_URL env var.',\n },\n paperclipEmail: {\n type: 'string',\n description: 'Board login email (for authenticated instances).',\n },\n paperclipPassword: {\n type: 'string',\n description: 'Board login password (for authenticated instances).',\n },\n },\n },\n entrypoints: {\n worker: './dist/worker.js',\n ui: './dist/ui',\n },\n ui: {\n slots: [\n {\n type: 'page',\n id: 'company-wizard',\n displayName: 'Company Wizard',\n exportName: 'WizardPage',\n routePath: 'company-creator',\n },\n {\n type: 'sidebar',\n id: 'company-wizard-link',\n displayName: 'Create Company',\n exportName: 'SidebarLink',\n },\n ],\n },\n};\n\nexport default manifest;\n"],
4
+ "sourcesContent": ["import type { PaperclipPluginManifestV1 } from '@paperclipai/plugin-sdk';\n\nconst manifest: PaperclipPluginManifestV1 = {\n id: 'starlein.paperclip-plugin-company-wizard',\n apiVersion: 1,\n version: '0.4.9',\n displayName: 'Company Wizard',\n description: 'AI-powered wizard to bootstrap agent companies from composable templates',\n author: 'Sascha Pietrowski <sp@speednetwork.de>',\n categories: ['workspace', 'ui'],\n capabilities: [\n 'companies.read',\n 'issues.create',\n 'issues.read',\n 'issues.update',\n 'goals.create',\n 'goals.read',\n 'agents.read',\n 'projects.read',\n 'plugin.state.read',\n 'plugin.state.write',\n 'secrets.read-ref',\n 'events.subscribe',\n 'ui.page.register',\n 'ui.sidebar.register',\n ],\n instanceConfigSchema: {\n type: 'object',\n properties: {\n companiesDir: {\n type: 'string',\n description:\n 'Directory where assembled company workspaces are written. Auto-detected: ~/instances/default/companies in Docker setups, ~/.paperclip/instances/default/companies otherwise. Rarely needs manual override.',\n },\n templatesPath: {\n type: 'string',\n description:\n 'Path to the templates directory. Auto-detected: ~/plugin-templates in Docker setups, ~/.paperclip/plugin-templates otherwise. Rarely needs manual override.',\n },\n templatesRepoUrl: {\n type: 'string',\n default: 'https://github.com/starlein/paperclip-plugin-company-wizard/tree/main/templates',\n description:\n 'GitHub tree URL for template downloads. The default is correct for most setups \u2014 only change this if using a custom fork.',\n },\n anthropicApiKey: {\n type: 'string',\n description:\n 'Anthropic API key for the AI wizard (e.g. sk-ant-...). Required to use the AI-powered company setup path.',\n },\n paperclipUrl: {\n type: 'string',\n description:\n 'Paperclip instance URL. Defaults to http://localhost:3100 or the PAPERCLIP_PUBLIC_URL env var.',\n },\n paperclipEmail: {\n type: 'string',\n description: 'Board login email (for authenticated instances).',\n },\n paperclipPassword: {\n type: 'string',\n description: 'Board login password (for authenticated instances).',\n },\n },\n },\n entrypoints: {\n worker: './dist/worker.js',\n ui: './dist/ui',\n },\n ui: {\n slots: [\n {\n type: 'page',\n id: 'company-wizard',\n displayName: 'Company Wizard',\n exportName: 'WizardPage',\n routePath: 'company-creator',\n },\n {\n type: 'sidebar',\n id: 'company-wizard-link',\n displayName: 'Create Company',\n exportName: 'SidebarLink',\n },\n ],\n },\n};\n\nexport default manifest;\n"],
5
5
  "mappings": ";AAEA,IAAM,WAAsC;AAAA,EAC1C,IAAI;AAAA,EACJ,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,aAAa;AAAA,EACb,aAAa;AAAA,EACb,QAAQ;AAAA,EACR,YAAY,CAAC,aAAa,IAAI;AAAA,EAC9B,cAAc;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA,sBAAsB;AAAA,IACpB,MAAM;AAAA,IACN,YAAY;AAAA,MACV,cAAc;AAAA,QACZ,MAAM;AAAA,QACN,aACE;AAAA,MACJ;AAAA,MACA,eAAe;AAAA,QACb,MAAM;AAAA,QACN,aACE;AAAA,MACJ;AAAA,MACA,kBAAkB;AAAA,QAChB,MAAM;AAAA,QACN,SAAS;AAAA,QACT,aACE;AAAA,MACJ;AAAA,MACA,iBAAiB;AAAA,QACf,MAAM;AAAA,QACN,aACE;AAAA,MACJ;AAAA,MACA,cAAc;AAAA,QACZ,MAAM;AAAA,QACN,aACE;AAAA,MACJ;AAAA,MACA,gBAAgB;AAAA,QACd,MAAM;AAAA,QACN,aAAa;AAAA,MACf;AAAA,MACA,mBAAmB;AAAA,QACjB,MAAM;AAAA,QACN,aAAa;AAAA,MACf;AAAA,IACF;AAAA,EACF;AAAA,EACA,aAAa;AAAA,IACX,QAAQ;AAAA,IACR,IAAI;AAAA,EACN;AAAA,EACA,IAAI;AAAA,IACF,OAAO;AAAA,MACL;AAAA,QACE,MAAM;AAAA,QACN,IAAI;AAAA,QACJ,aAAa;AAAA,QACb,YAAY;AAAA,QACZ,WAAW;AAAA,MACb;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,IAAI;AAAA,QACJ,aAAa;AAAA,QACb,YAAY;AAAA,MACd;AAAA,IACF;AAAA,EACF;AACF;AAEA,IAAO,mBAAQ;",
6
6
  "names": []
7
7
  }
package/dist/ui/index.css CHANGED
@@ -66,6 +66,9 @@
66
66
  "Liberation Mono",
67
67
  "Courier New",
68
68
  monospace;
69
+ --color-red-400:oklch(70.4% .191 22.216);
70
+ --color-red-500:oklch(63.7% .237 25.331);
71
+ --color-red-700:oklch(50.5% .213 27.518);
69
72
  --color-amber-200:oklch(92.4% .12 95.746);
70
73
  --color-amber-300:oklch(87.9% .169 91.605);
71
74
  --color-amber-400:oklch(82.8% .189 84.429);
@@ -73,10 +76,14 @@
73
76
  --color-amber-700:oklch(55.5% .163 48.998);
74
77
  --color-amber-800:oklch(47.3% .137 46.201);
75
78
  --color-yellow-600:oklch(68.1% .162 75.834);
79
+ --color-green-400:oklch(79.2% .209 151.711);
80
+ --color-green-500:oklch(72.3% .219 149.579);
76
81
  --color-green-600:oklch(62.7% .194 149.214);
82
+ --color-green-700:oklch(52.7% .154 150.069);
77
83
  --color-blue-400:oklch(70.7% .165 254.624);
78
84
  --color-blue-500:oklch(62.3% .214 259.815);
79
85
  --color-blue-600:oklch(54.6% .245 262.881);
86
+ --color-blue-700:oklch(48.8% .243 264.376);
80
87
  --color-white:#fff;
81
88
  --spacing:.25rem;
82
89
  --container-xs:20rem;
@@ -812,6 +819,14 @@
812
819
  border-color: color-mix(in oklab, var(--color-blue-400) 60%, transparent);
813
820
  }
814
821
  }
822
+ .border-blue-500\/20 {
823
+ border-color: #3080ff33;
824
+ }
825
+ @supports (color:color-mix(in lab, red, red)) {
826
+ .border-blue-500\/20 {
827
+ border-color: color-mix(in oklab, var(--color-blue-500) 20%, transparent);
828
+ }
829
+ }
815
830
  .border-border {
816
831
  border-color: var(--border);
817
832
  }
@@ -856,9 +871,25 @@
856
871
  border-color: color-mix(in oklab, var(--foreground) 30%, transparent);
857
872
  }
858
873
  }
874
+ .border-green-500\/20 {
875
+ border-color: #00c75833;
876
+ }
877
+ @supports (color:color-mix(in lab, red, red)) {
878
+ .border-green-500\/20 {
879
+ border-color: color-mix(in oklab, var(--color-green-500) 20%, transparent);
880
+ }
881
+ }
859
882
  .border-input {
860
883
  border-color: var(--input);
861
884
  }
885
+ .border-red-500\/20 {
886
+ border-color: #fb2c3633;
887
+ }
888
+ @supports (color:color-mix(in lab, red, red)) {
889
+ .border-red-500\/20 {
890
+ border-color: color-mix(in oklab, var(--color-red-500) 20%, transparent);
891
+ }
892
+ }
862
893
  .border-transparent {
863
894
  border-color: #0000;
864
895
  }
@@ -893,6 +924,14 @@
893
924
  .bg-background {
894
925
  background-color: var(--background);
895
926
  }
927
+ .bg-blue-500\/10 {
928
+ background-color: #3080ff1a;
929
+ }
930
+ @supports (color:color-mix(in lab, red, red)) {
931
+ .bg-blue-500\/10 {
932
+ background-color: color-mix(in oklab, var(--color-blue-500) 10%, transparent);
933
+ }
934
+ }
896
935
  .bg-border {
897
936
  background-color: var(--border);
898
937
  }
@@ -936,6 +975,14 @@
936
975
  background-color: color-mix(in oklab, var(--foreground) 10%, transparent);
937
976
  }
938
977
  }
978
+ .bg-green-500\/10 {
979
+ background-color: #00c7581a;
980
+ }
981
+ @supports (color:color-mix(in lab, red, red)) {
982
+ .bg-green-500\/10 {
983
+ background-color: color-mix(in oklab, var(--color-green-500) 10%, transparent);
984
+ }
985
+ }
939
986
  .bg-muted {
940
987
  background-color: var(--muted);
941
988
  }
@@ -961,6 +1008,14 @@
961
1008
  .bg-primary {
962
1009
  background-color: var(--primary);
963
1010
  }
1011
+ .bg-red-500\/10 {
1012
+ background-color: #fb2c361a;
1013
+ }
1014
+ @supports (color:color-mix(in lab, red, red)) {
1015
+ .bg-red-500\/10 {
1016
+ background-color: color-mix(in oklab, var(--color-red-500) 10%, transparent);
1017
+ }
1018
+ }
964
1019
  .bg-secondary {
965
1020
  background-color: var(--secondary);
966
1021
  }
@@ -1145,9 +1200,15 @@
1145
1200
  .text-background {
1146
1201
  color: var(--background);
1147
1202
  }
1203
+ .text-blue-500 {
1204
+ color: var(--color-blue-500);
1205
+ }
1148
1206
  .text-blue-600 {
1149
1207
  color: var(--color-blue-600);
1150
1208
  }
1209
+ .text-blue-700 {
1210
+ color: var(--color-blue-700);
1211
+ }
1151
1212
  .text-card-foreground {
1152
1213
  color: var(--card-foreground);
1153
1214
  }
@@ -1179,9 +1240,15 @@
1179
1240
  color: color-mix(in oklab, var(--foreground) 80%, transparent);
1180
1241
  }
1181
1242
  }
1243
+ .text-green-500 {
1244
+ color: var(--color-green-500);
1245
+ }
1182
1246
  .text-green-600 {
1183
1247
  color: var(--color-green-600);
1184
1248
  }
1249
+ .text-green-700 {
1250
+ color: var(--color-green-700);
1251
+ }
1185
1252
  .text-muted-foreground,
1186
1253
  .text-muted-foreground\/40 {
1187
1254
  color: var(--muted-foreground);
@@ -1213,6 +1280,12 @@
1213
1280
  .text-primary-foreground {
1214
1281
  color: var(--primary-foreground);
1215
1282
  }
1283
+ .text-red-500 {
1284
+ color: var(--color-red-500);
1285
+ }
1286
+ .text-red-700 {
1287
+ color: var(--color-red-700);
1288
+ }
1216
1289
  .text-secondary-foreground {
1217
1290
  color: var(--secondary-foreground);
1218
1291
  }
@@ -1534,6 +1607,9 @@
1534
1607
  .sm\:grid-cols-2 {
1535
1608
  grid-template-columns: repeat(2, minmax(0, 1fr));
1536
1609
  }
1610
+ .sm\:grid-cols-3 {
1611
+ grid-template-columns: repeat(3, minmax(0, 1fr));
1612
+ }
1537
1613
  }
1538
1614
  .dark\:border-blue-500\/50:is(.dark *) {
1539
1615
  border-color: #3080ff80;
@@ -1563,6 +1639,12 @@
1563
1639
  .dark\:text-blue-400:is(.dark *) {
1564
1640
  color: var(--color-blue-400);
1565
1641
  }
1642
+ .dark\:text-green-400:is(.dark *) {
1643
+ color: var(--color-green-400);
1644
+ }
1645
+ .dark\:text-red-400:is(.dark *) {
1646
+ color: var(--color-red-400);
1647
+ }
1566
1648
  .\[\&_svg\]\:pointer-events-none svg {
1567
1649
  pointer-events: none;
1568
1650
  }