@paperclipai/teams-catalog 0.1.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 (57) hide show
  1. package/catalog/bundled/company-defaults/core-exec-team/TEAM.md +44 -0
  2. package/catalog/bundled/company-defaults/core-exec-team/agents/ceo/AGENTS.md +51 -0
  3. package/catalog/bundled/company-defaults/core-exec-team/agents/cto/AGENTS.md +33 -0
  4. package/catalog/bundled/company-defaults/core-exec-team/agents/qa/AGENTS.md +31 -0
  5. package/catalog/bundled/company-defaults/core-exec-team/projects/first-project/PROJECT.md +8 -0
  6. package/catalog/bundled/company-defaults/core-exec-team/projects/first-project/tasks/first-heartbeat/TASK.md +9 -0
  7. package/catalog/bundled/product/product-design/TEAM.md +44 -0
  8. package/catalog/bundled/product/product-design/agents/ux-designer/AGENTS.md +45 -0
  9. package/catalog/bundled/product/product-design/projects/product-design/PROJECT.md +8 -0
  10. package/catalog/bundled/product/product-design/projects/product-design/tasks/weekly-design-review/TASK.md +9 -0
  11. package/catalog/bundled/software-development/product-engineering/.paperclip.yaml +5 -0
  12. package/catalog/bundled/software-development/product-engineering/TEAM.md +51 -0
  13. package/catalog/bundled/software-development/product-engineering/agents/cto/AGENTS.md +34 -0
  14. package/catalog/bundled/software-development/product-engineering/agents/qa/AGENTS.md +30 -0
  15. package/catalog/bundled/software-development/product-engineering/agents/senior-coder/AGENTS.md +35 -0
  16. package/catalog/bundled/software-development/product-engineering/projects/product-engineering/PROJECT.md +8 -0
  17. package/catalog/bundled/software-development/product-engineering/projects/product-engineering/tasks/weekly-engineering-sync/TASK.md +9 -0
  18. package/catalog/optional/content/content-machine/TEAM.md +30 -0
  19. package/catalog/optional/content/content-machine/agents/content-lead/AGENTS.md +11 -0
  20. package/catalog/optional/content/content-machine/projects/content-operations/PROJECT.md +8 -0
  21. package/catalog/optional/content/content-machine/projects/content-operations/tasks/weekly-content-review/TASK.md +9 -0
  22. package/catalog/optional/content/content-machine/skills/content-calendar/SKILL.md +12 -0
  23. package/dist/generated/catalog.json +467 -0
  24. package/dist/scripts/build-catalog-manifest.d.ts +2 -0
  25. package/dist/scripts/build-catalog-manifest.d.ts.map +1 -0
  26. package/dist/scripts/build-catalog-manifest.js +11 -0
  27. package/dist/scripts/build-catalog-manifest.js.map +1 -0
  28. package/dist/scripts/validate-catalog.d.ts +2 -0
  29. package/dist/scripts/validate-catalog.d.ts.map +1 -0
  30. package/dist/scripts/validate-catalog.js +11 -0
  31. package/dist/scripts/validate-catalog.js.map +1 -0
  32. package/dist/src/catalog-builder.d.ts +22 -0
  33. package/dist/src/catalog-builder.d.ts.map +1 -0
  34. package/dist/src/catalog-builder.js +780 -0
  35. package/dist/src/catalog-builder.js.map +1 -0
  36. package/dist/src/catalog-builder.test.d.ts +2 -0
  37. package/dist/src/catalog-builder.test.d.ts.map +1 -0
  38. package/dist/src/catalog-builder.test.js +238 -0
  39. package/dist/src/catalog-builder.test.js.map +1 -0
  40. package/dist/src/frontmatter.d.ts +11 -0
  41. package/dist/src/frontmatter.d.ts.map +1 -0
  42. package/dist/src/frontmatter.js +141 -0
  43. package/dist/src/frontmatter.js.map +1 -0
  44. package/dist/src/index.d.ts +7 -0
  45. package/dist/src/index.d.ts.map +1 -0
  46. package/dist/src/index.js +21 -0
  47. package/dist/src/index.js.map +1 -0
  48. package/dist/src/shipped-catalog.test.d.ts +2 -0
  49. package/dist/src/shipped-catalog.test.d.ts.map +1 -0
  50. package/dist/src/shipped-catalog.test.js +107 -0
  51. package/dist/src/shipped-catalog.test.js.map +1 -0
  52. package/dist/src/types.d.ts +81 -0
  53. package/dist/src/types.d.ts.map +1 -0
  54. package/dist/src/types.js +2 -0
  55. package/dist/src/types.js.map +1 -0
  56. package/generated/catalog.json +467 -0
  57. package/package.json +49 -0
@@ -0,0 +1,107 @@
1
+ import fs from "node:fs";
2
+ import path from "node:path";
3
+ import { fileURLToPath } from "node:url";
4
+ import { describe, expect, it } from "vitest";
5
+ import { catalogManifest, catalogTeams, resolveCatalogTeamRef } from "./index.js";
6
+ import { asBoolean, asString, parseFrontmatterMarkdown } from "./frontmatter.js";
7
+ const EXPECTED_BUNDLED_KEYS = [
8
+ "paperclipai/bundled/company-defaults/core-exec-team",
9
+ "paperclipai/bundled/product/product-design",
10
+ "paperclipai/bundled/software-development/product-engineering",
11
+ ];
12
+ const EXPECTED_OPTIONAL_KEYS = [
13
+ "paperclipai/optional/content/content-machine",
14
+ ];
15
+ const PACKAGE_DIR = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "..");
16
+ describe("shipped teams catalog", () => {
17
+ it("ships the expected bundled and optional team fixtures", () => {
18
+ const bundledKeys = catalogTeams
19
+ .filter((team) => team.kind === "bundled")
20
+ .map((team) => team.key)
21
+ .sort();
22
+ const optionalKeys = catalogTeams
23
+ .filter((team) => team.kind === "optional")
24
+ .map((team) => team.key)
25
+ .sort();
26
+ expect(bundledKeys).toEqual(EXPECTED_BUNDLED_KEYS);
27
+ expect(optionalKeys).toEqual(EXPECTED_OPTIONAL_KEYS);
28
+ });
29
+ it("keeps every shipped team free of executable scripts and external sources in Phase B", () => {
30
+ const risky = catalogTeams.filter((team) => team.trustLevel === "scripts_executables" || team.trustLevel === "external_sources");
31
+ expect(risky, formatViolations("script-bearing or external-source teams require later security review", risky)).toEqual([]);
32
+ });
33
+ it("populates browse/search-relevant fields for every shipped team", () => {
34
+ const issues = [];
35
+ for (const team of catalogTeams) {
36
+ if (team.compatibility !== "compatible") {
37
+ issues.push(`${team.key} compatibility=${team.compatibility}`);
38
+ }
39
+ if (!team.description || team.description.length < 40) {
40
+ issues.push(`${team.key} description must be at least 40 characters for catalog browse/search`);
41
+ }
42
+ if (team.recommendedForCompanyTypes.length === 0) {
43
+ issues.push(`${team.key} must list recommendedForCompanyTypes`);
44
+ }
45
+ if (team.tags.length === 0) {
46
+ issues.push(`${team.key} must list tags`);
47
+ }
48
+ if (team.rootAgentSlugs.length === 0) {
49
+ issues.push(`${team.key} must list a root agent slug`);
50
+ }
51
+ }
52
+ expect(issues).toEqual([]);
53
+ });
54
+ it("uses canonical paperclipai keys derived from kind/category/slug", () => {
55
+ const violations = [];
56
+ for (const team of catalogTeams) {
57
+ const expectedKey = `paperclipai/${team.kind}/${team.category}/${team.slug}`;
58
+ const expectedId = `paperclipai:${team.kind}:${team.category}:${team.slug}`;
59
+ if (team.key !== expectedKey)
60
+ violations.push(`${team.key} should be ${expectedKey}`);
61
+ if (team.id !== expectedId)
62
+ violations.push(`${team.id} should be ${expectedId}`);
63
+ }
64
+ expect(violations).toEqual([]);
65
+ });
66
+ it("exposes a stable manifest header for downstream consumers", () => {
67
+ expect(catalogManifest.schemaVersion).toBe(1);
68
+ expect(catalogManifest.packageName).toBe("@paperclipai/teams-catalog");
69
+ expect(catalogTeams.length).toBe(EXPECTED_BUNDLED_KEYS.length + EXPECTED_OPTIONAL_KEYS.length);
70
+ });
71
+ it("resolves shipped teams by id, key, and unique slug", () => {
72
+ const sample = catalogTeams.find((team) => team.key === "paperclipai/bundled/company-defaults/core-exec-team");
73
+ expect(sample, "expected core-exec-team to ship in the bundled catalog").toBeDefined();
74
+ if (!sample)
75
+ return;
76
+ expect(resolveCatalogTeamRef(sample.id)).toMatchObject({ key: sample.key });
77
+ expect(resolveCatalogTeamRef(sample.key)).toMatchObject({ key: sample.key });
78
+ expect(resolveCatalogTeamRef(sample.slug)).toMatchObject({ key: sample.key });
79
+ });
80
+ it("declares a valid project for every shipped recurring task", () => {
81
+ const issues = [];
82
+ for (const team of catalogTeams) {
83
+ for (const file of team.files.filter((entry) => entry.kind === "task")) {
84
+ const absolutePath = path.join(PACKAGE_DIR, team.path, file.path);
85
+ const parsed = parseFrontmatterMarkdown(fs.readFileSync(absolutePath, "utf8"));
86
+ if (!asBoolean(parsed.frontmatter.recurring))
87
+ continue;
88
+ const project = asString(parsed.frontmatter.project);
89
+ if (!project) {
90
+ issues.push(`${team.key}/${file.path} recurring task must declare a project`);
91
+ continue;
92
+ }
93
+ if (!team.projectSlugs.includes(project)) {
94
+ issues.push(`${team.key}/${file.path} project=${project} must match a team project`);
95
+ }
96
+ }
97
+ }
98
+ expect(issues).toEqual([]);
99
+ });
100
+ });
101
+ function formatViolations(label, teams) {
102
+ if (teams.length === 0)
103
+ return label;
104
+ const detail = teams.map((team) => `${team.key} (${team.trustLevel})`).join(", ");
105
+ return `${label}: ${detail}`;
106
+ }
107
+ //# sourceMappingURL=shipped-catalog.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shipped-catalog.test.js","sourceRoot":"","sources":["../../src/shipped-catalog.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAClF,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAGjF,MAAM,qBAAqB,GAAG;IAC5B,qDAAqD;IACrD,4CAA4C;IAC5C,8DAA8D;CAC/D,CAAC;AAEF,MAAM,sBAAsB,GAAG;IAC7B,8CAA8C;CAC/C,CAAC;AAEF,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAErF,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,WAAW,GAAG,YAAY;aAC7B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC;aACzC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC;aACvB,IAAI,EAAE,CAAC;QACV,MAAM,YAAY,GAAG,YAAY;aAC9B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC;aAC1C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC;aACvB,IAAI,EAAE,CAAC;QAEV,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QACnD,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qFAAqF,EAAE,GAAG,EAAE;QAC7F,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAC/B,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,KAAK,qBAAqB,IAAI,IAAI,CAAC,UAAU,KAAK,kBAAkB,CAC9F,CAAC;QACF,MAAM,CAAC,KAAK,EAAE,gBAAgB,CAAC,uEAAuE,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC9H,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;QACxE,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;YAChC,IAAI,IAAI,CAAC,aAAa,KAAK,YAAY,EAAE,CAAC;gBACxC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,kBAAkB,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;YACjE,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;gBACtD,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,uEAAuE,CAAC,CAAC;YAClG,CAAC;YACD,IAAI,IAAI,CAAC,0BAA0B,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACjD,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,uCAAuC,CAAC,CAAC;YAClE,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3B,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,iBAAiB,CAAC,CAAC;YAC5C,CAAC;YACD,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,8BAA8B,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;QACD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;QACzE,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;YAChC,MAAM,WAAW,GAAG,eAAe,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC7E,MAAM,UAAU,GAAG,eAAe,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5E,IAAI,IAAI,CAAC,GAAG,KAAK,WAAW;gBAAE,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,cAAc,WAAW,EAAE,CAAC,CAAC;YACtF,IAAI,IAAI,CAAC,EAAE,KAAK,UAAU;gBAAE,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,cAAc,UAAU,EAAE,CAAC,CAAC;QACpF,CAAC;QACD,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,MAAM,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QACvE,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACjG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,qDAAqD,CAAC,CAAC;QAC/G,MAAM,CAAC,MAAM,EAAE,wDAAwD,CAAC,CAAC,WAAW,EAAE,CAAC;QACvF,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,MAAM,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;QAC5E,MAAM,CAAC,qBAAqB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;QAC7E,MAAM,CAAC,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;YAChC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE,CAAC;gBACvE,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClE,MAAM,MAAM,GAAG,wBAAwB,CAAC,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;gBAC/E,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC;oBAAE,SAAS;gBAEvD,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBACrD,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,wCAAwC,CAAC,CAAC;oBAC9E,SAAS;gBACX,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;oBACzC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,YAAY,OAAO,4BAA4B,CAAC,CAAC;gBACvF,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,SAAS,gBAAgB,CAAC,KAAa,EAAE,KAAoB;IAC3D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACrC,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClF,OAAO,GAAG,KAAK,KAAK,MAAM,EAAE,CAAC;AAC/B,CAAC"}
@@ -0,0 +1,81 @@
1
+ export type CatalogTeamKind = "bundled" | "optional";
2
+ export type CatalogTeamTrustLevel = "markdown_only" | "assets" | "scripts_executables" | "external_sources";
3
+ export type CatalogTeamCompatibility = "compatible" | "unknown" | "invalid";
4
+ export type CatalogTeamFileKind = "team" | "agent" | "project" | "task" | "skill" | "extension" | "readme" | "reference" | "script" | "asset" | "markdown" | "other";
5
+ export type CatalogTeamSkillRequirementType = "catalog" | "local" | "skills_sh" | "github" | "url" | "local_path" | "agent_package";
6
+ export interface CatalogTeamSkillRequirement {
7
+ type: CatalogTeamSkillRequirementType;
8
+ ref: string;
9
+ agentSlugs: string[];
10
+ resolved: boolean;
11
+ catalogSkillId?: string;
12
+ catalogSkillKey?: string;
13
+ localPath?: string;
14
+ sourceLocator?: string;
15
+ sourceRef?: string;
16
+ }
17
+ export interface CatalogTeamEnvInputSummary {
18
+ key: string;
19
+ agentSlug: string | null;
20
+ projectSlug: string | null;
21
+ kind: "secret" | "plain";
22
+ requirement: "required" | "optional";
23
+ }
24
+ export interface CatalogTeamSourceRef {
25
+ type: Exclude<CatalogTeamSkillRequirementType, "catalog" | "local"> | "include";
26
+ ref: string;
27
+ pinned: boolean;
28
+ }
29
+ export interface CatalogTeamFile {
30
+ path: string;
31
+ kind: CatalogTeamFileKind;
32
+ sizeBytes: number;
33
+ sha256: string;
34
+ }
35
+ export interface CatalogTeam {
36
+ id: string;
37
+ key: string;
38
+ kind: CatalogTeamKind;
39
+ category: string;
40
+ slug: string;
41
+ name: string;
42
+ description: string;
43
+ path: string;
44
+ entrypoint: "TEAM.md";
45
+ schema: "agentcompanies/v1";
46
+ defaultInstall: boolean;
47
+ recommendedForCompanyTypes: string[];
48
+ tags: string[];
49
+ counts: {
50
+ agents: number;
51
+ projects: number;
52
+ tasks: number;
53
+ routines: number;
54
+ localSkills: number;
55
+ catalogSkills: number;
56
+ externalSkillSources: number;
57
+ };
58
+ rootAgentSlugs: string[];
59
+ agentSlugs: string[];
60
+ projectSlugs: string[];
61
+ requiredSkills: CatalogTeamSkillRequirement[];
62
+ envInputs: CatalogTeamEnvInputSummary[];
63
+ sourceRefs: CatalogTeamSourceRef[];
64
+ files: CatalogTeamFile[];
65
+ trustLevel: CatalogTeamTrustLevel;
66
+ compatibility: CatalogTeamCompatibility;
67
+ contentHash: string;
68
+ }
69
+ export interface CatalogManifest {
70
+ schemaVersion: 1;
71
+ packageName: "@paperclipai/teams-catalog";
72
+ packageVersion: string;
73
+ generatedAt: string;
74
+ teams: CatalogTeam[];
75
+ }
76
+ export interface CatalogValidationResult {
77
+ valid: boolean;
78
+ errors: string[];
79
+ manifest: CatalogManifest;
80
+ }
81
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,467 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "packageName": "@paperclipai/teams-catalog",
4
+ "packageVersion": "0.1.0",
5
+ "generatedAt": "2026-06-04T18:03:41.262Z",
6
+ "teams": [
7
+ {
8
+ "id": "paperclipai:bundled:company-defaults:core-exec-team",
9
+ "key": "paperclipai/bundled/company-defaults/core-exec-team",
10
+ "kind": "bundled",
11
+ "category": "company-defaults",
12
+ "slug": "core-exec-team",
13
+ "name": "Core Exec Team",
14
+ "description": "Default leadership and engineering team for bootstrapping a Paperclip company with a CEO, CTO, QA Engineer, starter project, and a recurring CEO heartbeat review task.",
15
+ "path": "catalog/bundled/company-defaults/core-exec-team",
16
+ "entrypoint": "TEAM.md",
17
+ "schema": "agentcompanies/v1",
18
+ "defaultInstall": true,
19
+ "recommendedForCompanyTypes": [
20
+ "startup",
21
+ "software",
22
+ "generalist"
23
+ ],
24
+ "tags": [
25
+ "default",
26
+ "executive",
27
+ "engineering",
28
+ "qa"
29
+ ],
30
+ "counts": {
31
+ "agents": 3,
32
+ "projects": 1,
33
+ "tasks": 0,
34
+ "routines": 1,
35
+ "localSkills": 0,
36
+ "catalogSkills": 4,
37
+ "externalSkillSources": 0
38
+ },
39
+ "rootAgentSlugs": [
40
+ "ceo"
41
+ ],
42
+ "agentSlugs": [
43
+ "ceo",
44
+ "cto",
45
+ "qa"
46
+ ],
47
+ "projectSlugs": [
48
+ "first-project"
49
+ ],
50
+ "requiredSkills": [
51
+ {
52
+ "type": "catalog",
53
+ "ref": "github-pr-workflow",
54
+ "agentSlugs": [
55
+ "cto"
56
+ ],
57
+ "resolved": true,
58
+ "catalogSkillId": "paperclipai:bundled:software-development:github-pr-workflow",
59
+ "catalogSkillKey": "paperclipai/bundled/software-development/github-pr-workflow"
60
+ },
61
+ {
62
+ "type": "catalog",
63
+ "ref": "issue-triage",
64
+ "agentSlugs": [
65
+ "ceo"
66
+ ],
67
+ "resolved": true,
68
+ "catalogSkillId": "paperclipai:bundled:paperclip-operations:issue-triage",
69
+ "catalogSkillKey": "paperclipai/bundled/paperclip-operations/issue-triage"
70
+ },
71
+ {
72
+ "type": "catalog",
73
+ "ref": "qa-acceptance",
74
+ "agentSlugs": [
75
+ "qa"
76
+ ],
77
+ "resolved": true,
78
+ "catalogSkillId": "paperclipai:bundled:quality:qa-acceptance",
79
+ "catalogSkillKey": "paperclipai/bundled/quality/qa-acceptance"
80
+ },
81
+ {
82
+ "type": "catalog",
83
+ "ref": "task-planning",
84
+ "agentSlugs": [
85
+ "ceo",
86
+ "cto"
87
+ ],
88
+ "resolved": true,
89
+ "catalogSkillId": "paperclipai:bundled:paperclip-operations:task-planning",
90
+ "catalogSkillKey": "paperclipai/bundled/paperclip-operations/task-planning"
91
+ }
92
+ ],
93
+ "envInputs": [],
94
+ "sourceRefs": [],
95
+ "files": [
96
+ {
97
+ "path": "TEAM.md",
98
+ "kind": "team",
99
+ "sizeBytes": 2144,
100
+ "sha256": "4ab4f57f147e89a56a6753755d7ef142d91741b3c0159f2e53fb333cd2779eaf"
101
+ },
102
+ {
103
+ "path": "agents/ceo/AGENTS.md",
104
+ "kind": "agent",
105
+ "sizeBytes": 2492,
106
+ "sha256": "50f580c51807762265f09c6fe7bf32d7701d64caeb30595bfd577b2f5087c21b"
107
+ },
108
+ {
109
+ "path": "agents/cto/AGENTS.md",
110
+ "kind": "agent",
111
+ "sizeBytes": 1449,
112
+ "sha256": "596e2e9fe08d7368b3b0cfe72c2635ea80444d92a2c0414157bfb0a17773fcaf"
113
+ },
114
+ {
115
+ "path": "agents/qa/AGENTS.md",
116
+ "kind": "agent",
117
+ "sizeBytes": 1307,
118
+ "sha256": "2a139b88b4b98516048395c569c1bc74fd31cdc2da65db410e9779b8d92c0343"
119
+ },
120
+ {
121
+ "path": "projects/first-project/PROJECT.md",
122
+ "kind": "project",
123
+ "sizeBytes": 364,
124
+ "sha256": "1f457ae956da52ff83adc1cf63a3fb84337a4afb25bd43f0d123902d75e871cc"
125
+ },
126
+ {
127
+ "path": "projects/first-project/tasks/first-heartbeat/TASK.md",
128
+ "kind": "task",
129
+ "sizeBytes": 292,
130
+ "sha256": "bdc979cafa43fc9b8f0d6f0e4120c01cecfb899082781a5da88e26fa262f18e4"
131
+ }
132
+ ],
133
+ "trustLevel": "markdown_only",
134
+ "compatibility": "compatible",
135
+ "contentHash": "sha256:0f20e9d56124c1dc90a1e4b128fabd863538bcc935117220f719d9620f7c89f1"
136
+ },
137
+ {
138
+ "id": "paperclipai:bundled:product:product-design",
139
+ "key": "paperclipai/bundled/product/product-design",
140
+ "kind": "bundled",
141
+ "category": "product",
142
+ "slug": "product-design",
143
+ "name": "Product Design",
144
+ "description": "Bundled product design team with a Principal Product Designer who owns wireframes, design critiques, and UX quality reviews for a product company.",
145
+ "path": "catalog/bundled/product/product-design",
146
+ "entrypoint": "TEAM.md",
147
+ "schema": "agentcompanies/v1",
148
+ "defaultInstall": false,
149
+ "recommendedForCompanyTypes": [
150
+ "software",
151
+ "product",
152
+ "design"
153
+ ],
154
+ "tags": [
155
+ "design",
156
+ "ux",
157
+ "product"
158
+ ],
159
+ "counts": {
160
+ "agents": 1,
161
+ "projects": 1,
162
+ "tasks": 0,
163
+ "routines": 1,
164
+ "localSkills": 0,
165
+ "catalogSkills": 3,
166
+ "externalSkillSources": 0
167
+ },
168
+ "rootAgentSlugs": [
169
+ "ux-designer"
170
+ ],
171
+ "agentSlugs": [
172
+ "ux-designer"
173
+ ],
174
+ "projectSlugs": [
175
+ "product-design"
176
+ ],
177
+ "requiredSkills": [
178
+ {
179
+ "type": "catalog",
180
+ "ref": "design-critique",
181
+ "agentSlugs": [
182
+ "ux-designer"
183
+ ],
184
+ "resolved": true,
185
+ "catalogSkillId": "paperclipai:optional:product:design-critique",
186
+ "catalogSkillKey": "paperclipai/optional/product/design-critique"
187
+ },
188
+ {
189
+ "type": "catalog",
190
+ "ref": "task-planning",
191
+ "agentSlugs": [
192
+ "ux-designer"
193
+ ],
194
+ "resolved": true,
195
+ "catalogSkillId": "paperclipai:bundled:paperclip-operations:task-planning",
196
+ "catalogSkillKey": "paperclipai/bundled/paperclip-operations/task-planning"
197
+ },
198
+ {
199
+ "type": "catalog",
200
+ "ref": "wireframe",
201
+ "agentSlugs": [
202
+ "ux-designer"
203
+ ],
204
+ "resolved": true,
205
+ "catalogSkillId": "paperclipai:bundled:product:wireframe",
206
+ "catalogSkillKey": "paperclipai/bundled/product/wireframe"
207
+ }
208
+ ],
209
+ "envInputs": [],
210
+ "sourceRefs": [],
211
+ "files": [
212
+ {
213
+ "path": "TEAM.md",
214
+ "kind": "team",
215
+ "sizeBytes": 2074,
216
+ "sha256": "205be8d3ef6c1f5e73729207913c387eee4cc9379191c3ce6d943fcf9ca2545d"
217
+ },
218
+ {
219
+ "path": "agents/ux-designer/AGENTS.md",
220
+ "kind": "agent",
221
+ "sizeBytes": 2136,
222
+ "sha256": "f5a4b5696d8249e9f9d808a4373c2a1e6b07faa463e72f83fd9d5bed98d2022f"
223
+ },
224
+ {
225
+ "path": "projects/product-design/PROJECT.md",
226
+ "kind": "project",
227
+ "sizeBytes": 353,
228
+ "sha256": "4afe346bc5d5958216542d60a06be12983e1e018960cf2709c85c7d578f28420"
229
+ },
230
+ {
231
+ "path": "projects/product-design/tasks/weekly-design-review/TASK.md",
232
+ "kind": "task",
233
+ "sizeBytes": 313,
234
+ "sha256": "d255115eccc5c8b9f576c34fc2fb46a1cbb86ab36a56b980bdab35a952482d8a"
235
+ }
236
+ ],
237
+ "trustLevel": "markdown_only",
238
+ "compatibility": "compatible",
239
+ "contentHash": "sha256:15a04b36f31d4c9a391bb499c92e91fedfcc237cfa6c3d41ea3ddb441bc85c5b"
240
+ },
241
+ {
242
+ "id": "paperclipai:bundled:software-development:product-engineering",
243
+ "key": "paperclipai/bundled/software-development/product-engineering",
244
+ "kind": "bundled",
245
+ "category": "software-development",
246
+ "slug": "product-engineering",
247
+ "name": "Product Engineering",
248
+ "description": "Bundled engineering team that pairs a CTO with a senior coder and a QA engineer to deliver, review, and verify product changes.",
249
+ "path": "catalog/bundled/software-development/product-engineering",
250
+ "entrypoint": "TEAM.md",
251
+ "schema": "agentcompanies/v1",
252
+ "defaultInstall": false,
253
+ "recommendedForCompanyTypes": [
254
+ "software",
255
+ "startup",
256
+ "product"
257
+ ],
258
+ "tags": [
259
+ "engineering",
260
+ "delivery",
261
+ "qa",
262
+ "code-review"
263
+ ],
264
+ "counts": {
265
+ "agents": 3,
266
+ "projects": 1,
267
+ "tasks": 0,
268
+ "routines": 1,
269
+ "localSkills": 0,
270
+ "catalogSkills": 4,
271
+ "externalSkillSources": 0
272
+ },
273
+ "rootAgentSlugs": [
274
+ "cto"
275
+ ],
276
+ "agentSlugs": [
277
+ "cto",
278
+ "qa",
279
+ "senior-coder"
280
+ ],
281
+ "projectSlugs": [
282
+ "product-engineering"
283
+ ],
284
+ "requiredSkills": [
285
+ {
286
+ "type": "catalog",
287
+ "ref": "doc-maintenance",
288
+ "agentSlugs": [
289
+ "cto",
290
+ "senior-coder"
291
+ ],
292
+ "resolved": true,
293
+ "catalogSkillId": "paperclipai:bundled:docs:doc-maintenance",
294
+ "catalogSkillKey": "paperclipai/bundled/docs/doc-maintenance"
295
+ },
296
+ {
297
+ "type": "catalog",
298
+ "ref": "github-pr-workflow",
299
+ "agentSlugs": [
300
+ "cto",
301
+ "senior-coder"
302
+ ],
303
+ "resolved": true,
304
+ "catalogSkillId": "paperclipai:bundled:software-development:github-pr-workflow",
305
+ "catalogSkillKey": "paperclipai/bundled/software-development/github-pr-workflow"
306
+ },
307
+ {
308
+ "type": "catalog",
309
+ "ref": "qa-acceptance",
310
+ "agentSlugs": [
311
+ "qa"
312
+ ],
313
+ "resolved": true,
314
+ "catalogSkillId": "paperclipai:bundled:quality:qa-acceptance",
315
+ "catalogSkillKey": "paperclipai/bundled/quality/qa-acceptance"
316
+ },
317
+ {
318
+ "type": "catalog",
319
+ "ref": "task-planning",
320
+ "agentSlugs": [
321
+ "cto"
322
+ ],
323
+ "resolved": true,
324
+ "catalogSkillId": "paperclipai:bundled:paperclip-operations:task-planning",
325
+ "catalogSkillKey": "paperclipai/bundled/paperclip-operations/task-planning"
326
+ }
327
+ ],
328
+ "envInputs": [],
329
+ "sourceRefs": [],
330
+ "files": [
331
+ {
332
+ "path": "TEAM.md",
333
+ "kind": "team",
334
+ "sizeBytes": 2583,
335
+ "sha256": "7204eeef78a48714dd3f82b82e171a4039adc6325e91a6bdf51a442105ee33b0"
336
+ },
337
+ {
338
+ "path": ".paperclip.yaml",
339
+ "kind": "extension",
340
+ "sizeBytes": 81,
341
+ "sha256": "54babf05ba130ec54a143abf01581d99c0ac2936fd0d929bf0e0edd00e29d861"
342
+ },
343
+ {
344
+ "path": "agents/cto/AGENTS.md",
345
+ "kind": "agent",
346
+ "sizeBytes": 1499,
347
+ "sha256": "0a1a73ec9e5008056bca0a26325131ded2fcf4c4680a5014ba1e13400b32c173"
348
+ },
349
+ {
350
+ "path": "agents/qa/AGENTS.md",
351
+ "kind": "agent",
352
+ "sizeBytes": 1223,
353
+ "sha256": "2d5738f831aa772befa3471c844a0c9e611584be668e3ec82580ca9e92dc13fc"
354
+ },
355
+ {
356
+ "path": "agents/senior-coder/AGENTS.md",
357
+ "kind": "agent",
358
+ "sizeBytes": 1413,
359
+ "sha256": "b61071518755d9e584c099ae2082c7a78448d09586093ee91393082fe10872b5"
360
+ },
361
+ {
362
+ "path": "projects/product-engineering/PROJECT.md",
363
+ "kind": "project",
364
+ "sizeBytes": 358,
365
+ "sha256": "225d01c5b5b77f5d4dafedc083899c9368c9b079db1d3b7b67cfebd4677fc527"
366
+ },
367
+ {
368
+ "path": "projects/product-engineering/tasks/weekly-engineering-sync/TASK.md",
369
+ "kind": "task",
370
+ "sizeBytes": 322,
371
+ "sha256": "6acf3ed2da3dfa48de163810b4bc9d385dad537fd34037ca881eec713986a2a8"
372
+ }
373
+ ],
374
+ "trustLevel": "assets",
375
+ "compatibility": "compatible",
376
+ "contentHash": "sha256:74ddeaeb11805835a4a67fc4530b048ab7f8aa1dc7d2b80acea139a933d158d3"
377
+ },
378
+ {
379
+ "id": "paperclipai:optional:content:content-machine",
380
+ "key": "paperclipai/optional/content/content-machine",
381
+ "kind": "optional",
382
+ "category": "content",
383
+ "slug": "content-machine",
384
+ "name": "Content Machine",
385
+ "description": "Optional content operations team with a lead agent, a recurring review task, and a vendored local content planning skill.",
386
+ "path": "catalog/optional/content/content-machine",
387
+ "entrypoint": "TEAM.md",
388
+ "schema": "agentcompanies/v1",
389
+ "defaultInstall": false,
390
+ "recommendedForCompanyTypes": [
391
+ "agency",
392
+ "marketing"
393
+ ],
394
+ "tags": [
395
+ "content",
396
+ "marketing",
397
+ "routines"
398
+ ],
399
+ "counts": {
400
+ "agents": 1,
401
+ "projects": 1,
402
+ "tasks": 0,
403
+ "routines": 1,
404
+ "localSkills": 1,
405
+ "catalogSkills": 0,
406
+ "externalSkillSources": 0
407
+ },
408
+ "rootAgentSlugs": [
409
+ "content-lead"
410
+ ],
411
+ "agentSlugs": [
412
+ "content-lead"
413
+ ],
414
+ "projectSlugs": [
415
+ "content-operations"
416
+ ],
417
+ "requiredSkills": [
418
+ {
419
+ "type": "local",
420
+ "ref": "content-calendar",
421
+ "agentSlugs": [
422
+ "content-lead"
423
+ ],
424
+ "resolved": true,
425
+ "localPath": "skills/content-calendar/SKILL.md"
426
+ }
427
+ ],
428
+ "envInputs": [],
429
+ "sourceRefs": [],
430
+ "files": [
431
+ {
432
+ "path": "TEAM.md",
433
+ "kind": "team",
434
+ "sizeBytes": 1032,
435
+ "sha256": "f7c272c8b0c183fc840d49eb4851b7cdd1a30a5aa8d6415d215110f3238f6f13"
436
+ },
437
+ {
438
+ "path": "agents/content-lead/AGENTS.md",
439
+ "kind": "agent",
440
+ "sizeBytes": 251,
441
+ "sha256": "6fc2071ff463b6981780d5b40b2c0784cb119900062f8dc40ed372e7b8415bf7"
442
+ },
443
+ {
444
+ "path": "projects/content-operations/PROJECT.md",
445
+ "kind": "project",
446
+ "sizeBytes": 338,
447
+ "sha256": "1471f61cb0b3ffbb9c639a99d2d370f08217a0c63f97b3e24dbbd47861110206"
448
+ },
449
+ {
450
+ "path": "projects/content-operations/tasks/weekly-content-review/TASK.md",
451
+ "kind": "task",
452
+ "sizeBytes": 236,
453
+ "sha256": "3777de716334f2c3f24176f0fe121584ce9c53a7f59e1fca942a2f57995cef77"
454
+ },
455
+ {
456
+ "path": "skills/content-calendar/SKILL.md",
457
+ "kind": "skill",
458
+ "sizeBytes": 340,
459
+ "sha256": "aa62a332fc3149d6c0d58ca589c6b3910a373d542f16f749ec68ef2f3d7f29e9"
460
+ }
461
+ ],
462
+ "trustLevel": "markdown_only",
463
+ "compatibility": "compatible",
464
+ "contentHash": "sha256:06822cec5f2b6910cb37ba0ebd5e04ed5c7e34f77225564ddddc2470779cdaa6"
465
+ }
466
+ ]
467
+ }