@compilr-dev/sdk 0.9.25 → 0.9.27

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.
@@ -106,6 +106,15 @@ Specialized agents may be available:
106
106
  - **Architect** — system design, technical decisions
107
107
  - **PM** — requirements, backlog management, priorities
108
108
  Suggest delegation when a task would benefit from focused expertise.`,
109
+ tagline: 'Build a web app, API, CLI, or library — from idea to running code.',
110
+ bestFor: 'you have an idea and want compilr.dev to help you ship it.',
111
+ produces: [
112
+ 'Application model + entities',
113
+ 'PRD + architecture',
114
+ 'Working code (scaffolded)',
115
+ 'Backlog of features',
116
+ 'Session notes',
117
+ ],
109
118
  };
110
119
  // =============================================================================
111
120
  // General (blank slate)
@@ -134,6 +143,9 @@ You are assisting with a general-purpose project. Adapt your approach to whateve
134
143
  - Use work items to track tasks and progress
135
144
  - Use documents to store important artifacts
136
145
  - Suggest team agents if the project would benefit from specialization`,
146
+ tagline: 'An empty workspace — define your own workflow as you go.',
147
+ bestFor: "you don't see a fit above and want a blank slate.",
148
+ produces: ['Notes & documents', 'Conversations with agents', 'Whatever you build'],
137
149
  };
138
150
  // =============================================================================
139
151
  // Research Paper / Academic
@@ -288,6 +300,15 @@ Suggest delegation when a task would benefit from focused expertise. For example
288
300
  - \`/draft-section\` — write a section using outline + claims + sources (when available)
289
301
  - \`/peer-review\` — validate argument structure and consistency (when available)
290
302
  - \`/session-notes\` — summarize work done in this session`,
303
+ tagline: 'Write an academic paper, thesis, or research report — outline to bibliography.',
304
+ bestFor: "you're writing something with a literature review and citations.",
305
+ produces: [
306
+ 'Outline + abstract',
307
+ 'Literature review',
308
+ 'Drafted sections',
309
+ 'Bibliography (BibTeX-ready)',
310
+ 'Session notes',
311
+ ],
291
312
  };
292
313
  // =============================================================================
293
314
  // Business Plan / Startup
@@ -401,6 +422,15 @@ You are assisting with a business plan or startup project. Your role is to help
401
422
  - **Analyst** — market research, competitive intelligence, data analysis
402
423
  - **Strategist** — business model, go-to-market, positioning
403
424
  - **Writer** — pitch narrative, executive summary, investor communication`,
425
+ tagline: 'Build a business plan, market analysis, and pitch deck — from idea to investor-ready.',
426
+ bestFor: "you're planning a venture, raising money, or entering a new market.",
427
+ produces: [
428
+ 'Executive summary',
429
+ 'Market & competitor analysis',
430
+ 'Financial model',
431
+ 'Positioning matrix',
432
+ 'Pitch outline',
433
+ ],
404
434
  };
405
435
  // =============================================================================
406
436
  // Content / Blog / Marketing
@@ -528,6 +558,15 @@ This project uses a Brand Model that captures visual identity (logos, colors, fo
528
558
  - **Visual Director** — visual briefs from Brand Model guidelines
529
559
  - **Editor** — voice consistency, brand alignment, quality review
530
560
  Suggest delegation when a task benefits from focused expertise.`,
561
+ tagline: 'Plan and write articles, blog posts, and social content — at the pace of a publication.',
562
+ bestFor: "you're producing content on a calendar and want help shipping it.",
563
+ produces: [
564
+ 'Editorial calendar',
565
+ 'Article drafts',
566
+ 'Headlines & social variants',
567
+ 'SEO outlines',
568
+ 'Style guide',
569
+ ],
531
570
  };
532
571
  // =============================================================================
533
572
  // Technical Documentation
@@ -613,6 +652,15 @@ You are assisting with a technical documentation project. Your role is to help t
613
652
  - **Writer** — drafting documentation, tutorials, guides
614
653
  - **Editor** — clarity, consistency, grammar, readability
615
654
  - **Reviewer** — technical accuracy, completeness, correctness`,
655
+ tagline: 'Write API docs, user guides, and tutorials that read like a real product.',
656
+ bestFor: 'your project needs docs, or docs ARE the project.',
657
+ produces: [
658
+ 'Getting started guide',
659
+ 'API reference',
660
+ 'Tutorials',
661
+ 'Concept explanations',
662
+ 'Changelog drafts',
663
+ ],
616
664
  };
617
665
  // =============================================================================
618
666
  // Course / Training Material
@@ -725,6 +773,15 @@ This project uses a Curriculum Model that tracks the course structure: modules (
725
773
  - **Instructor** — curriculum design, sequencing, pedagogy
726
774
  - **Content Designer** — lesson planning, exercises, assessments
727
775
  - **Reviewer** — pedagogical quality, balance, difficulty calibration`,
776
+ tagline: 'Design a course, training program, or curriculum — from outcomes to assessments.',
777
+ bestFor: "you're teaching something and need to structure modules + lessons.",
778
+ produces: [
779
+ 'Curriculum outline',
780
+ 'Module + lesson plans',
781
+ 'Exercises & worked examples',
782
+ 'Assessments / quizzes',
783
+ 'Instructor notes',
784
+ ],
728
785
  };
729
786
  // =============================================================================
730
787
  // Book
@@ -838,4 +895,13 @@ This project uses a Book Model that tracks: chapters (with scenes), characters (
838
895
  - **Plotter** — story architecture, beats, pacing, plot threads
839
896
  - **Character Dev** — characters, arcs, relationships, dialogue voice
840
897
  - **Scene Writer** — scene construction, setting, POV, transitions`,
898
+ tagline: 'Plan and write a book — fiction or non-fiction, outline to manuscript.',
899
+ bestFor: "you're writing a book and want help with structure, characters, or chapters.",
900
+ produces: [
901
+ 'Outline + chapter map',
902
+ 'Character profiles (fiction)',
903
+ 'Drafted chapters',
904
+ 'Beat-by-beat structure',
905
+ 'Revision notes',
906
+ ],
841
907
  };
@@ -100,4 +100,15 @@ export interface ProjectTypeConfig {
100
100
  systemPromptContext: string;
101
101
  /** Rich multi-line system prompt section for the default agent. Takes precedence over systemPromptContext. */
102
102
  systemPromptSection?: string;
103
+ /** One-sentence value prop for the project-type picker. Punchier than
104
+ * `description`, written for someone who doesn't know the term yet.
105
+ * Used in the New Project / Import Project wizards. */
106
+ tagline?: string;
107
+ /** "Best when…" trigger phrase a user can self-recognize.
108
+ * Example: "you're starting from a literature review and need a paper". */
109
+ bestFor?: string;
110
+ /** Concrete outputs the user will produce in this project type. 3-5 short
111
+ * items shown as bullets in the picker's detail panel. Mined from
112
+ * documentTemplates / projectActions / domain models. */
113
+ produces?: string[];
103
114
  }
@@ -60,6 +60,19 @@ export interface RoleMetadata {
60
60
  /** Default model tier for this role */
61
61
  defaultModelTier?: ModelTier;
62
62
  }
63
+ /**
64
+ * User-facing copy for the agent picker (Agent Workshop in Desktop, /agent
65
+ * in CLI). Stored as a separate map from RoleMetadata so we can iterate on
66
+ * the copy without touching the long defaultSystemPromptAddition blocks.
67
+ */
68
+ export interface RoleCopy {
69
+ /** One-sentence value prop, punchier than `description`. */
70
+ tagline: string;
71
+ /** "Best when…" trigger phrase a user can self-recognize. */
72
+ bestFor: string;
73
+ /** Other role IDs this one complements — rendered as a "pairs with" row. */
74
+ pairsWith: AgentRole[];
75
+ }
63
76
  /**
64
77
  * Role expertise keywords for team awareness
65
78
  * Used in the team roster to help agents understand each other's strengths
@@ -214,3 +227,10 @@ export interface TeamEvent {
214
227
  * Team event handler
215
228
  */
216
229
  export type TeamEventHandler = (event: TeamEvent) => void;
230
+ /**
231
+ * User-facing copy for each predefined role, surfaced in the Agent Workshop
232
+ * picker and the CLI /agent flow. Maintained as a separate map from
233
+ * ROLE_METADATA (which carries long system-prompt blocks) so the copy can
234
+ * be iterated without touching agent behavior.
235
+ */
236
+ export declare const ROLE_COPY: Partial<Record<AgentRole, RoleCopy>>;
@@ -909,3 +909,81 @@ You are the **Instructor** in this multi-agent team. You specialize in education
909
909
  defaultModelTier: 'balanced',
910
910
  },
911
911
  };
912
+ /**
913
+ * User-facing copy for each predefined role, surfaced in the Agent Workshop
914
+ * picker and the CLI /agent flow. Maintained as a separate map from
915
+ * ROLE_METADATA (which carries long system-prompt blocks) so the copy can
916
+ * be iterated without touching agent behavior.
917
+ */
918
+ export const ROLE_COPY = {
919
+ pm: {
920
+ tagline: 'Plans the work — requirements, backlog, priorities, dependencies.',
921
+ bestFor: 'you need scope clarified, priorities ordered, or a roadmap built.',
922
+ pairsWith: ['arch', 'dev', 'qa'],
923
+ },
924
+ arch: {
925
+ tagline: 'Designs systems — choosing tech, structuring data, mapping boundaries.',
926
+ bestFor: "you're picking a stack, designing a schema, or mapping services.",
927
+ pairsWith: ['dev', 'pm', 'ops'],
928
+ },
929
+ qa: {
930
+ tagline: 'Tests, reviews, and stress-tests code before it ships.',
931
+ bestFor: 'you want testing strategy, code review, or quality checks.',
932
+ pairsWith: ['dev', 'pm'],
933
+ },
934
+ dev: {
935
+ tagline: 'Writes, debugs, and refactors code in any language your project speaks.',
936
+ bestFor: 'you need code written, fixed, or restructured.',
937
+ pairsWith: ['arch', 'qa'],
938
+ },
939
+ ops: {
940
+ tagline: 'Handles deployment, infrastructure, CI/CD, and observability.',
941
+ bestFor: "you're shipping to production, debugging an outage, or hardening infra.",
942
+ pairsWith: ['arch', 'dev'],
943
+ },
944
+ docs: {
945
+ tagline: 'Writes API docs, user guides, and tutorials that read like a real product.',
946
+ bestFor: 'your project needs docs — getting started, API reference, or tutorials.',
947
+ pairsWith: ['dev', 'arch'],
948
+ },
949
+ ba: {
950
+ tagline: 'Turns business needs into clear requirements and acceptance criteria.',
951
+ bestFor: 'you have a fuzzy ask and need it sharpened into testable user stories.',
952
+ pairsWith: ['pm', 'arch'],
953
+ },
954
+ researcher: {
955
+ tagline: 'Analyzes sources, synthesizes literature, evaluates evidence.',
956
+ bestFor: 'you have questions to investigate or sources to summarize.',
957
+ pairsWith: ['reviewer', 'editor'],
958
+ },
959
+ reviewer: {
960
+ tagline: 'Validates arguments, checks consistency, surfaces gaps.',
961
+ bestFor: "you have a draft and want to know what's missing or weak.",
962
+ pairsWith: ['researcher', 'editor'],
963
+ },
964
+ editor: {
965
+ tagline: 'Polishes prose — clarity, voice, grammar, flow.',
966
+ bestFor: 'you have a draft and want it to read well.',
967
+ pairsWith: ['researcher', 'writer'],
968
+ },
969
+ writer: {
970
+ tagline: 'Drafts long-form text — articles, plans, narratives.',
971
+ bestFor: 'you need words on the page that match a clear voice.',
972
+ pairsWith: ['editor', 'strategist'],
973
+ },
974
+ analyst: {
975
+ tagline: 'Reads data, runs comparisons, surfaces patterns.',
976
+ bestFor: 'you have numbers (or competitors) to interpret.',
977
+ pairsWith: ['strategist', 'pm'],
978
+ },
979
+ strategist: {
980
+ tagline: 'Frames positioning, business models, go-to-market plans.',
981
+ bestFor: "you're choosing a path forward in business or product.",
982
+ pairsWith: ['analyst', 'pm'],
983
+ },
984
+ instructor: {
985
+ tagline: 'Designs curriculum — modules, lessons, assessments.',
986
+ bestFor: "you're teaching something and need it structured for learners.",
987
+ pairsWith: ['reviewer', 'writer'],
988
+ },
989
+ };
@@ -14,6 +14,12 @@ export interface WorkshopRoleDef {
14
14
  expertise: string[];
15
15
  defaultToolProfile: string;
16
16
  defaultModelTier: string;
17
+ /** One-sentence value prop from ROLE_COPY (optional — falls back to description in the UI). */
18
+ tagline?: string;
19
+ /** "Best when…" trigger phrase. */
20
+ bestFor?: string;
21
+ /** Other role IDs this one complements, used for the "pairs with" strip. */
22
+ pairsWith?: string[];
17
23
  }
18
24
  export interface WorkshopToolProfile {
19
25
  id: string;
@@ -5,7 +5,7 @@
5
5
  * Used by both Desktop (via IPC) and CLI (direct import).
6
6
  * Single source of truth — no hardcoded data in UI components.
7
7
  */
8
- import { PREDEFINED_ROLE_IDS, ROLE_METADATA, ROLE_EXPERTISE, ROLE_GROUPS, } from './types.js';
8
+ import { PREDEFINED_ROLE_IDS, ROLE_METADATA, ROLE_EXPERTISE, ROLE_GROUPS, ROLE_COPY, } from './types.js';
9
9
  import { PROFILE_INFO } from './tool-config.js';
10
10
  import { SKILL_REQUIREMENTS, getSkillsByCategory } from './skill-requirements.js';
11
11
  // =============================================================================
@@ -52,6 +52,7 @@ export function buildAgentWorkshopData(suggestedRolesMap) {
52
52
  // Roles (exclude 'default' — it's the coordinator, not selectable)
53
53
  const roles = PREDEFINED_ROLE_IDS.filter((id) => id !== 'default').map((id) => {
54
54
  const meta = ROLE_METADATA[id];
55
+ const copy = ROLE_COPY[id];
55
56
  return {
56
57
  id,
57
58
  displayName: meta.displayName,
@@ -61,6 +62,9 @@ export function buildAgentWorkshopData(suggestedRolesMap) {
61
62
  expertise: ROLE_EXPERTISE[id],
62
63
  defaultToolProfile: meta.defaultToolProfile ?? 'full',
63
64
  defaultModelTier: meta.defaultModelTier ?? 'balanced',
65
+ tagline: copy?.tagline,
66
+ bestFor: copy?.bestFor,
67
+ pairsWith: copy?.pairsWith ? [...copy.pairsWith] : undefined,
64
68
  };
65
69
  });
66
70
  // Role groups in display order
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@compilr-dev/sdk",
3
- "version": "0.9.25",
3
+ "version": "0.9.27",
4
4
  "description": "Universal agent runtime for building AI-powered applications",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",