arcanea 3.0.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 (105) hide show
  1. package/CLAUDE.md +169 -0
  2. package/README.md +376 -0
  3. package/agents/arcanea-ai-specialist.md +732 -0
  4. package/agents/arcanea-architect.md +351 -0
  5. package/agents/arcanea-backend.md +809 -0
  6. package/agents/arcanea-character-crafter.md +381 -0
  7. package/agents/arcanea-development.md +304 -0
  8. package/agents/arcanea-devops.md +736 -0
  9. package/agents/arcanea-frontend.md +543 -0
  10. package/agents/arcanea-lore-master.md +366 -0
  11. package/agents/arcanea-master-orchestrator.md +223 -0
  12. package/agents/arcanea-story-master.md +144 -0
  13. package/agents/arcanea-world-expander.md +380 -0
  14. package/agents/coding/arcanea-architect.md +72 -0
  15. package/agents/coding/arcanea-coder.md +78 -0
  16. package/agents/coding/arcanea-debugger.md +113 -0
  17. package/agents/coding/arcanea-reviewer.md +102 -0
  18. package/agents/creation-architect.md +176 -0
  19. package/agents/design-sage.md +213 -0
  20. package/agents/developer-documentation.md +373 -0
  21. package/agents/developer-qa-engineer.md +345 -0
  22. package/agents/luminor-oracle.md +125 -0
  23. package/agents/production/format-master.md +208 -0
  24. package/agents/production/sound-designer.md +199 -0
  25. package/agents/production/visual-director.md +176 -0
  26. package/agents/prompt-sage.md +227 -0
  27. package/agents/research/archivist.md +174 -0
  28. package/agents/research/muse.md +163 -0
  29. package/agents/research/sage.md +177 -0
  30. package/agents/research/scout.md +143 -0
  31. package/agents/teacher-assessor.md +287 -0
  32. package/agents/teacher-companion.md +243 -0
  33. package/agents/teacher-curriculum-designer.md +261 -0
  34. package/agents/teacher-mentor.md +175 -0
  35. package/agents/visionary-futurist.md +290 -0
  36. package/agents/visionary-innovator.md +291 -0
  37. package/agents/visionary-strategist.md +321 -0
  38. package/agents/visionary-synthesizer.md +310 -0
  39. package/agents/writing/continuity-guardian.md +156 -0
  40. package/agents/writing/line-editor.md +129 -0
  41. package/agents/writing/prose-weaver.md +113 -0
  42. package/agents/writing/story-architect.md +96 -0
  43. package/agents/writing/voice-alchemist.md +124 -0
  44. package/commands/arcanea-author.md +177 -0
  45. package/commands/arcanea-build.md +241 -0
  46. package/commands/arcanea-council.md +143 -0
  47. package/commands/arcanea-db.md +272 -0
  48. package/commands/arcanea-deploy.md +176 -0
  49. package/commands/arcanea-dev.md +29 -0
  50. package/commands/arcanea-lore-expand.md +142 -0
  51. package/commands/arcanea-sync.md +281 -0
  52. package/commands/arcanea-team.md +130 -0
  53. package/commands/arcanea-test.md +151 -0
  54. package/commands/bestiary.md +38 -0
  55. package/commands/character-forge.md +55 -0
  56. package/commands/check-continuity.md +119 -0
  57. package/commands/compose-theme.md +134 -0
  58. package/commands/craft-prompt.md +40 -0
  59. package/commands/edit-chapter.md +118 -0
  60. package/commands/export-book.md +146 -0
  61. package/commands/luminor.md +46 -0
  62. package/commands/outline-story.md +79 -0
  63. package/commands/story-help.md +40 -0
  64. package/commands/teacher-team.md +43 -0
  65. package/commands/ultrabook.md +147 -0
  66. package/commands/ultraworld.md +201 -0
  67. package/commands/ultrawrite.md +103 -0
  68. package/commands/visionary-team.md +78 -0
  69. package/commands/visualize.md +126 -0
  70. package/commands/world-build.md +41 -0
  71. package/commands/write-chapter.md +97 -0
  72. package/dist/cli/index.d.ts +3 -0
  73. package/dist/cli/index.d.ts.map +1 -0
  74. package/dist/cli/index.js +2675 -0
  75. package/dist/index.d.ts +117 -0
  76. package/dist/index.d.ts.map +1 -0
  77. package/dist/index.js +425 -0
  78. package/dist/install.d.ts +13 -0
  79. package/dist/install.d.ts.map +1 -0
  80. package/package.json +54 -0
  81. package/skills/ai-symbiosis.md +266 -0
  82. package/skills/arcanea/arcanea-anti-trope.md +60 -0
  83. package/skills/arcanea/arcanea-canon/SKILL.md +596 -0
  84. package/skills/arcanea/arcanea-creator-academy/SKILL.md +418 -0
  85. package/skills/arcanea/arcanea-design-system/SKILL.md +626 -0
  86. package/skills/arcanea/arcanea-lore/ENHANCEMENT_SUMMARY.md +908 -0
  87. package/skills/arcanea/arcanea-lore/ONBOARDING_NARRATIVES.md +642 -0
  88. package/skills/arcanea/arcanea-lore/SKILL.md +1534 -0
  89. package/skills/arcanea/arcanea-voice/SKILL.md +510 -0
  90. package/skills/arcanea/centaur-mode/SKILL.md +399 -0
  91. package/skills/arcanea/design-system/SKILL.md +601 -0
  92. package/skills/arcanea/luminor-wisdom/SKILL.md +359 -0
  93. package/skills/arcanea/prompt-craft/SKILL.md +400 -0
  94. package/skills/character-alchemist.md +242 -0
  95. package/skills/creative/bestiary-nav/SKILL.md +425 -0
  96. package/skills/creative/character-forge/SKILL.md +443 -0
  97. package/skills/creative/story-weave/SKILL.md +441 -0
  98. package/skills/creative/world-build/SKILL.md +513 -0
  99. package/skills/creative-bestiary.md +231 -0
  100. package/skills/development/code-review/SKILL.md +412 -0
  101. package/skills/development/systematic-debug/SKILL.md +480 -0
  102. package/skills/development/tdd/SKILL.md +450 -0
  103. package/skills/luminor-council.md +241 -0
  104. package/skills/story-weaver.md +308 -0
  105. package/skills/world-architect.md +253 -0
@@ -0,0 +1,117 @@
1
+ export declare const VERSION = "3.0.0";
2
+ export declare const NAME = "arcanea";
3
+ export declare const ORCHESTRATOR = "Arcanea";
4
+ export type Platform = "claude-code" | "opencode" | "codex" | "gemini" | "cursor" | "unknown";
5
+ export interface ArcaneaConfig {
6
+ enableLuminors?: boolean;
7
+ enableBestiary?: boolean;
8
+ enableUltraworld?: boolean;
9
+ enableUltrawrite?: boolean;
10
+ enableUltrabook?: boolean;
11
+ enableMcp?: boolean;
12
+ platforms?: Platform[];
13
+ }
14
+ export declare const defaultConfig: ArcaneaConfig;
15
+ export declare const CREATIVE_MAGIC: {
16
+ ultraworld: string[];
17
+ ultrawrite: string[];
18
+ ultrabook: string[];
19
+ };
20
+ export declare const TECHNICAL_MAGIC: {
21
+ ultracode: string[];
22
+ ultrawork: string[];
23
+ };
24
+ export declare const PREFIX_TRIGGERS: {
25
+ arcanea: string[];
26
+ luminor: string[];
27
+ };
28
+ export declare const MAGIC_WORDS: {
29
+ arcanea: string[];
30
+ luminor: string[];
31
+ ultracode: string[];
32
+ ultrawork: string[];
33
+ ultraworld: string[];
34
+ ultrawrite: string[];
35
+ ultrabook: string[];
36
+ };
37
+ export declare const LUMINORS: {
38
+ valora: {
39
+ name: string;
40
+ domain: string;
41
+ when: string;
42
+ };
43
+ sophron: {
44
+ name: string;
45
+ domain: string;
46
+ when: string;
47
+ };
48
+ kardia: {
49
+ name: string;
50
+ domain: string;
51
+ when: string;
52
+ };
53
+ poiesis: {
54
+ name: string;
55
+ domain: string;
56
+ when: string;
57
+ };
58
+ enduran: {
59
+ name: string;
60
+ domain: string;
61
+ when: string;
62
+ };
63
+ orakis: {
64
+ name: string;
65
+ domain: string;
66
+ when: string;
67
+ };
68
+ eudaira: {
69
+ name: string;
70
+ domain: string;
71
+ when: string;
72
+ };
73
+ };
74
+ export declare const AGENT_TEAMS: {
75
+ coding: {
76
+ name: string;
77
+ description: string;
78
+ agents: string[];
79
+ };
80
+ creative: {
81
+ name: string;
82
+ description: string;
83
+ agents: string[];
84
+ };
85
+ writing: {
86
+ name: string;
87
+ description: string;
88
+ agents: string[];
89
+ };
90
+ production: {
91
+ name: string;
92
+ description: string;
93
+ agents: string[];
94
+ };
95
+ research: {
96
+ name: string;
97
+ description: string;
98
+ agents: string[];
99
+ };
100
+ development: {
101
+ name: string;
102
+ description: string;
103
+ agents: string[];
104
+ };
105
+ teacher: {
106
+ name: string;
107
+ description: string;
108
+ agents: string[];
109
+ };
110
+ visionary: {
111
+ name: string;
112
+ description: string;
113
+ agents: string[];
114
+ };
115
+ };
116
+ export { detectPlatforms, install } from "./install.js";
117
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,UAAU,CAAC;AAC/B,eAAO,MAAM,IAAI,YAAY,CAAC;AAC9B,eAAO,MAAM,YAAY,YAAY,CAAC;AAEtC,MAAM,MAAM,QAAQ,GAAG,aAAa,GAAG,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE9F,MAAM,WAAW,aAAa;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;CACxB;AAED,eAAO,MAAM,aAAa,EAAE,aAQ3B,CAAC;AAEF,eAAO,MAAM,cAAc;;;;CAI1B,CAAC;AAEF,eAAO,MAAM,eAAe;;;CAG3B,CAAC;AAEF,eAAO,MAAM,eAAe;;;CAG3B,CAAC;AAEF,eAAO,MAAM,WAAW;;;;;;;;CAIvB,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQpB,CAAC;AAEF,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqFvB,CAAC;AAEF,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,425 @@
1
+ // @bun
2
+ var __create = Object.create;
3
+ var __getProtoOf = Object.getPrototypeOf;
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __toESM = (mod, isNodeMode, target) => {
8
+ target = mod != null ? __create(__getProtoOf(mod)) : {};
9
+ const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
10
+ for (let key of __getOwnPropNames(mod))
11
+ if (!__hasOwnProp.call(to, key))
12
+ __defProp(to, key, {
13
+ get: () => mod[key],
14
+ enumerable: true
15
+ });
16
+ return to;
17
+ };
18
+ var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
19
+
20
+ // node_modules/picocolors/picocolors.js
21
+ var require_picocolors = __commonJS((exports, module) => {
22
+ var p = process || {};
23
+ var argv = p.argv || [];
24
+ var env = p.env || {};
25
+ var isColorSupported = !(!!env.NO_COLOR || argv.includes("--no-color")) && (!!env.FORCE_COLOR || argv.includes("--color") || p.platform === "win32" || (p.stdout || {}).isTTY && env.TERM !== "dumb" || !!env.CI);
26
+ var formatter = (open, close, replace = open) => (input) => {
27
+ let string = "" + input, index = string.indexOf(close, open.length);
28
+ return ~index ? open + replaceClose(string, close, replace, index) + close : open + string + close;
29
+ };
30
+ var replaceClose = (string, close, replace, index) => {
31
+ let result = "", cursor = 0;
32
+ do {
33
+ result += string.substring(cursor, index) + replace;
34
+ cursor = index + close.length;
35
+ index = string.indexOf(close, cursor);
36
+ } while (~index);
37
+ return result + string.substring(cursor);
38
+ };
39
+ var createColors = (enabled = isColorSupported) => {
40
+ let f = enabled ? formatter : () => String;
41
+ return {
42
+ isColorSupported: enabled,
43
+ reset: f("\x1B[0m", "\x1B[0m"),
44
+ bold: f("\x1B[1m", "\x1B[22m", "\x1B[22m\x1B[1m"),
45
+ dim: f("\x1B[2m", "\x1B[22m", "\x1B[22m\x1B[2m"),
46
+ italic: f("\x1B[3m", "\x1B[23m"),
47
+ underline: f("\x1B[4m", "\x1B[24m"),
48
+ inverse: f("\x1B[7m", "\x1B[27m"),
49
+ hidden: f("\x1B[8m", "\x1B[28m"),
50
+ strikethrough: f("\x1B[9m", "\x1B[29m"),
51
+ black: f("\x1B[30m", "\x1B[39m"),
52
+ red: f("\x1B[31m", "\x1B[39m"),
53
+ green: f("\x1B[32m", "\x1B[39m"),
54
+ yellow: f("\x1B[33m", "\x1B[39m"),
55
+ blue: f("\x1B[34m", "\x1B[39m"),
56
+ magenta: f("\x1B[35m", "\x1B[39m"),
57
+ cyan: f("\x1B[36m", "\x1B[39m"),
58
+ white: f("\x1B[37m", "\x1B[39m"),
59
+ gray: f("\x1B[90m", "\x1B[39m"),
60
+ bgBlack: f("\x1B[40m", "\x1B[49m"),
61
+ bgRed: f("\x1B[41m", "\x1B[49m"),
62
+ bgGreen: f("\x1B[42m", "\x1B[49m"),
63
+ bgYellow: f("\x1B[43m", "\x1B[49m"),
64
+ bgBlue: f("\x1B[44m", "\x1B[49m"),
65
+ bgMagenta: f("\x1B[45m", "\x1B[49m"),
66
+ bgCyan: f("\x1B[46m", "\x1B[49m"),
67
+ bgWhite: f("\x1B[47m", "\x1B[49m"),
68
+ blackBright: f("\x1B[90m", "\x1B[39m"),
69
+ redBright: f("\x1B[91m", "\x1B[39m"),
70
+ greenBright: f("\x1B[92m", "\x1B[39m"),
71
+ yellowBright: f("\x1B[93m", "\x1B[39m"),
72
+ blueBright: f("\x1B[94m", "\x1B[39m"),
73
+ magentaBright: f("\x1B[95m", "\x1B[39m"),
74
+ cyanBright: f("\x1B[96m", "\x1B[39m"),
75
+ whiteBright: f("\x1B[97m", "\x1B[39m"),
76
+ bgBlackBright: f("\x1B[100m", "\x1B[49m"),
77
+ bgRedBright: f("\x1B[101m", "\x1B[49m"),
78
+ bgGreenBright: f("\x1B[102m", "\x1B[49m"),
79
+ bgYellowBright: f("\x1B[103m", "\x1B[49m"),
80
+ bgBlueBright: f("\x1B[104m", "\x1B[49m"),
81
+ bgMagentaBright: f("\x1B[105m", "\x1B[49m"),
82
+ bgCyanBright: f("\x1B[106m", "\x1B[49m"),
83
+ bgWhiteBright: f("\x1B[107m", "\x1B[49m")
84
+ };
85
+ };
86
+ module.exports = createColors();
87
+ module.exports.createColors = createColors;
88
+ });
89
+
90
+ // src/install.ts
91
+ var import_picocolors = __toESM(require_picocolors(), 1);
92
+ import { cpSync, existsSync, mkdirSync, writeFileSync, readFileSync } from "fs";
93
+ import { join, dirname } from "path";
94
+ import { fileURLToPath } from "url";
95
+ var __dirname2 = dirname(fileURLToPath(import.meta.url));
96
+ function detectPlatforms() {
97
+ const detected = [];
98
+ const home = process.env.HOME || process.env.USERPROFILE || "";
99
+ const cwd = process.cwd();
100
+ if (existsSync(join(home, ".claude")) || existsSync(join(cwd, ".claude"))) {
101
+ detected.push("claude-code");
102
+ }
103
+ if (existsSync(join(home, ".opencode")) || existsSync(join(cwd, ".opencode"))) {
104
+ detected.push("opencode");
105
+ }
106
+ if (existsSync(join(home, ".cursor")) || process.env.CURSOR_SESSION) {
107
+ detected.push("cursor");
108
+ }
109
+ if (process.env.CODEX_CLI || existsSync(join(home, ".codex"))) {
110
+ detected.push("codex");
111
+ }
112
+ if (process.env.GEMINI_API_KEY || existsSync(join(home, ".gemini"))) {
113
+ detected.push("gemini");
114
+ }
115
+ if (detected.length === 0) {
116
+ return ["claude-code", "opencode"];
117
+ }
118
+ return detected;
119
+ }
120
+ function getPlatformPath(platform, targetDir) {
121
+ switch (platform) {
122
+ case "claude-code":
123
+ return join(targetDir, ".claude");
124
+ case "opencode":
125
+ return join(targetDir, ".opencode");
126
+ case "cursor":
127
+ return join(targetDir, ".cursor");
128
+ case "codex":
129
+ return join(targetDir, ".codex");
130
+ case "gemini":
131
+ return join(targetDir, ".gemini");
132
+ default:
133
+ return join(targetDir, ".arcanea");
134
+ }
135
+ }
136
+ async function install(targetDir, options = {}) {
137
+ const { force = false, skipMcp = false } = options;
138
+ const platforms = options.platforms || detectPlatforms();
139
+ console.log(import_picocolors.default.cyan(`
140
+ \u2728 ${ORCHESTRATOR} awakens... (v${VERSION})
141
+ `));
142
+ console.log(import_picocolors.default.dim(`Detected platforms: ${platforms.join(", ")}
143
+ `));
144
+ const packageRoot = join(__dirname2, "..");
145
+ for (const platform of platforms) {
146
+ await installForPlatform(targetDir, packageRoot, platform, force);
147
+ }
148
+ if (!skipMcp) {
149
+ await installMcpConfig(targetDir, force);
150
+ }
151
+ const configPath = join(targetDir, "arcanea.json");
152
+ if (!existsSync(configPath) || force) {
153
+ const config = { ...defaultConfig, platforms };
154
+ writeFileSync(configPath, JSON.stringify(config, null, 2));
155
+ console.log(import_picocolors.default.green("\u2713 Created arcanea.json config"));
156
+ }
157
+ printSuccessMessage(platforms);
158
+ }
159
+ async function installForPlatform(targetDir, packageRoot, platform, force) {
160
+ const platformPath = getPlatformPath(platform, targetDir);
161
+ const platformName = platform.charAt(0).toUpperCase() + platform.slice(1).replace("-", " ");
162
+ console.log(import_picocolors.default.blue(`Installing for ${platformName}...`));
163
+ if (existsSync(platformPath) && !force) {
164
+ console.log(import_picocolors.default.yellow(` \u26A0\uFE0F ${platformPath} exists. Use --force to overwrite.`));
165
+ return;
166
+ }
167
+ const dirs = ["agents", "skills", "commands"];
168
+ for (const dir of dirs) {
169
+ const targetSubdir = join(platformPath, dir);
170
+ const sourceSubdir = join(packageRoot, dir);
171
+ mkdirSync(targetSubdir, { recursive: true });
172
+ if (existsSync(sourceSubdir)) {
173
+ cpSync(sourceSubdir, targetSubdir, { recursive: true });
174
+ console.log(import_picocolors.default.green(` \u2713 Installed ${dir}`));
175
+ }
176
+ }
177
+ if (platform === "claude-code") {
178
+ await installClaudeCodeSettings(platformPath, force);
179
+ } else if (platform === "opencode") {
180
+ await installOpenCodeSettings(platformPath, packageRoot, force);
181
+ }
182
+ }
183
+ async function installClaudeCodeSettings(platformPath, force) {
184
+ const settingsPath = join(platformPath, "settings.json");
185
+ if (!existsSync(settingsPath) || force) {
186
+ const settings = {
187
+ hooks: {
188
+ UserPromptSubmit: [
189
+ {
190
+ matcher: "ultraworld|ulw",
191
+ hooks: [{ type: "command", command: "echo 'ARCANEA: Activating ultraworld - full parallel world generation'" }]
192
+ },
193
+ {
194
+ matcher: "ultrawrite|ulwr",
195
+ hooks: [{ type: "command", command: "echo 'ARCANEA: Activating ultrawrite - full parallel chapter writing'" }]
196
+ },
197
+ {
198
+ matcher: "ultrabook|ulb",
199
+ hooks: [{ type: "command", command: "echo 'ARCANEA: Activating ultrabook - complete book pipeline'" }]
200
+ }
201
+ ]
202
+ }
203
+ };
204
+ writeFileSync(settingsPath, JSON.stringify(settings, null, 2));
205
+ console.log(import_picocolors.default.green(" \u2713 Created Claude Code settings with magic word hooks"));
206
+ }
207
+ }
208
+ async function installOpenCodeSettings(platformPath, packageRoot, force) {
209
+ const claudeMdPath = join(platformPath, "CLAUDE.md");
210
+ const sourcePath = join(packageRoot, "CLAUDE.md");
211
+ if (existsSync(sourcePath) && (!existsSync(claudeMdPath) || force)) {
212
+ cpSync(sourcePath, claudeMdPath);
213
+ console.log(import_picocolors.default.green(" \u2713 Installed OpenCode CLAUDE.md"));
214
+ }
215
+ }
216
+ async function installMcpConfig(targetDir, force) {
217
+ const mcpPath = join(targetDir, ".mcp.json");
218
+ console.log(import_picocolors.default.blue(`
219
+ Configuring MCP integrations...`));
220
+ let existingConfig = {};
221
+ if (existsSync(mcpPath)) {
222
+ try {
223
+ existingConfig = JSON.parse(readFileSync(mcpPath, "utf-8"));
224
+ } catch {
225
+ existingConfig = {};
226
+ }
227
+ }
228
+ const mcpConfig = {
229
+ ...existingConfig,
230
+ mcpServers: {
231
+ ...existingConfig.mcpServers || {},
232
+ "nano-banana": {
233
+ command: "npx",
234
+ args: ["-y", "@anthropic-ai/nano-banana"],
235
+ description: "Image generation for characters, locations, covers"
236
+ },
237
+ context7: {
238
+ command: "npx",
239
+ args: ["-y", "@context7/mcp"],
240
+ description: "Documentation and reference lookup"
241
+ }
242
+ }
243
+ };
244
+ writeFileSync(mcpPath, JSON.stringify(mcpConfig, null, 2));
245
+ console.log(import_picocolors.default.green("\u2713 Configured Nano Banana MCP (image generation)"));
246
+ console.log(import_picocolors.default.green("\u2713 Configured Context7 MCP (documentation)"));
247
+ console.log(import_picocolors.default.dim("\u2139 Suno MCP requires manual API key setup"));
248
+ }
249
+ function printSuccessMessage(platforms) {
250
+ console.log(import_picocolors.default.cyan(`
251
+ ` + "\u2550".repeat(60)));
252
+ console.log(import_picocolors.default.bold(import_picocolors.default.cyan(` ${ORCHESTRATOR} is ready!`)));
253
+ console.log(import_picocolors.default.cyan("\u2550".repeat(60) + `
254
+ `));
255
+ console.log(import_picocolors.default.bold("Installed for:"));
256
+ for (const platform of platforms) {
257
+ console.log(import_picocolors.default.green(` \u2713 ${platform}`));
258
+ }
259
+ console.log();
260
+ console.log(import_picocolors.default.bold("The Seven Luminors:"));
261
+ console.log(" Valora (Courage) \u2022 Sophron (Wisdom) \u2022 Kardia (Heart)");
262
+ console.log(" Poiesis (Creation) \u2022 Enduran (Endurance)");
263
+ console.log(" Orakis (Vision) \u2022 Eudaira (Joy)");
264
+ console.log();
265
+ console.log(import_picocolors.default.bold("Agent Teams:"));
266
+ console.log(import_picocolors.default.blue(" Creative") + " - Story, character, world creation");
267
+ console.log(import_picocolors.default.green(" Writing") + " - Prose crafting and editing");
268
+ console.log(import_picocolors.default.magenta(" Production") + " - Visual, audio, publishing");
269
+ console.log(import_picocolors.default.yellow(" Research") + " - Deep analysis and inspiration");
270
+ console.log(import_picocolors.default.cyan(" Development") + " - Software engineering");
271
+ console.log(import_picocolors.default.dim(" Teacher") + " - Learning and mentorship");
272
+ console.log(import_picocolors.default.dim(" Visionary") + " - Strategy and innovation");
273
+ console.log();
274
+ console.log(import_picocolors.default.bold("Magic Words:"));
275
+ console.log(import_picocolors.default.cyan(" ultraworld") + " - Full parallel world generation");
276
+ console.log(import_picocolors.default.cyan(" ultrawrite") + " - Full parallel chapter writing");
277
+ console.log(import_picocolors.default.cyan(" ultrabook ") + " - Complete book pipeline");
278
+ console.log();
279
+ console.log(import_picocolors.default.bold("Try:"));
280
+ console.log(import_picocolors.default.dim(" /luminor Valora courage"));
281
+ console.log(import_picocolors.default.dim(" /bestiary perfectionism"));
282
+ console.log(import_picocolors.default.dim(" ultraworld: Create a volcanic island with dragon-kin"));
283
+ console.log();
284
+ }
285
+
286
+ // src/index.ts
287
+ var VERSION = "3.0.0";
288
+ var NAME = "arcanea";
289
+ var ORCHESTRATOR = "Arcanea";
290
+ var defaultConfig = {
291
+ enableLuminors: true,
292
+ enableBestiary: true,
293
+ enableUltraworld: true,
294
+ enableUltrawrite: true,
295
+ enableUltrabook: true,
296
+ enableMcp: true,
297
+ platforms: ["claude-code", "opencode"]
298
+ };
299
+ var CREATIVE_MAGIC = {
300
+ ultraworld: ["ultraworld", "ulw"],
301
+ ultrawrite: ["ultrawrite", "ulwr"],
302
+ ultrabook: ["ultrabook", "ulb"]
303
+ };
304
+ var TECHNICAL_MAGIC = {
305
+ ultracode: ["ultracode", "ulc"],
306
+ ultrawork: ["ultrawork", "ulwk"]
307
+ };
308
+ var PREFIX_TRIGGERS = {
309
+ arcanea: ["arcanea:"],
310
+ luminor: ["luminor:"]
311
+ };
312
+ var MAGIC_WORDS = {
313
+ ...CREATIVE_MAGIC,
314
+ ...TECHNICAL_MAGIC,
315
+ ...PREFIX_TRIGGERS
316
+ };
317
+ var LUMINORS = {
318
+ valora: { name: "Valora", domain: "Courage", when: "Fear, hesitation, risk" },
319
+ sophron: { name: "Sophron", domain: "Wisdom", when: "Confusion, complexity, decisions" },
320
+ kardia: { name: "Kardia", domain: "Heart", when: "Emotional blocks, authenticity" },
321
+ poiesis: { name: "Poiesis", domain: "Creation", when: "Creative blocks, experimentation" },
322
+ enduran: { name: "Enduran", domain: "Endurance", when: "Burnout, long projects" },
323
+ orakis: { name: "Orakis", domain: "Vision", when: "Direction, intuition, big picture" },
324
+ eudaira: { name: "Eudaira", domain: "Joy", when: "Lost purpose, need celebration" }
325
+ };
326
+ var AGENT_TEAMS = {
327
+ coding: {
328
+ name: "Coding",
329
+ description: "Technical implementation with Luminor standards",
330
+ agents: [
331
+ "arcanea-architect",
332
+ "arcanea-coder",
333
+ "arcanea-reviewer",
334
+ "arcanea-debugger"
335
+ ]
336
+ },
337
+ creative: {
338
+ name: "Creative",
339
+ description: "Story, character, and world creation",
340
+ agents: [
341
+ "arcanea-story-master",
342
+ "arcanea-character-crafter",
343
+ "arcanea-world-expander",
344
+ "arcanea-lore-master",
345
+ "creation-architect"
346
+ ]
347
+ },
348
+ writing: {
349
+ name: "Writing & Editing",
350
+ description: "Prose crafting and editing pipeline",
351
+ agents: [
352
+ "story-architect",
353
+ "prose-weaver",
354
+ "voice-alchemist",
355
+ "line-editor",
356
+ "continuity-guardian"
357
+ ]
358
+ },
359
+ production: {
360
+ name: "Production",
361
+ description: "Visual, audio, and publishing",
362
+ agents: [
363
+ "visual-director",
364
+ "sound-designer",
365
+ "format-master"
366
+ ]
367
+ },
368
+ research: {
369
+ name: "Research",
370
+ description: "Deep analysis and inspiration",
371
+ agents: [
372
+ "sage",
373
+ "archivist",
374
+ "scout",
375
+ "muse"
376
+ ]
377
+ },
378
+ development: {
379
+ name: "Development",
380
+ description: "Software engineering",
381
+ agents: [
382
+ "arcanea-architect",
383
+ "arcanea-frontend",
384
+ "arcanea-backend",
385
+ "arcanea-devops",
386
+ "arcanea-ai-specialist",
387
+ "developer-qa-engineer",
388
+ "developer-documentation"
389
+ ]
390
+ },
391
+ teacher: {
392
+ name: "Teacher",
393
+ description: "Learning and mentorship",
394
+ agents: [
395
+ "teacher-mentor",
396
+ "teacher-curriculum-designer",
397
+ "teacher-assessor",
398
+ "teacher-companion"
399
+ ]
400
+ },
401
+ visionary: {
402
+ name: "Visionary",
403
+ description: "Strategy and innovation",
404
+ agents: [
405
+ "visionary-strategist",
406
+ "visionary-innovator",
407
+ "visionary-futurist",
408
+ "visionary-synthesizer"
409
+ ]
410
+ }
411
+ };
412
+ export {
413
+ install,
414
+ detectPlatforms,
415
+ defaultConfig,
416
+ VERSION,
417
+ TECHNICAL_MAGIC,
418
+ PREFIX_TRIGGERS,
419
+ ORCHESTRATOR,
420
+ NAME,
421
+ MAGIC_WORDS,
422
+ LUMINORS,
423
+ CREATIVE_MAGIC,
424
+ AGENT_TEAMS
425
+ };
@@ -0,0 +1,13 @@
1
+ import { Platform } from "./index.js";
2
+ interface InstallOptions {
3
+ force?: boolean;
4
+ platforms?: Platform[];
5
+ skipMcp?: boolean;
6
+ }
7
+ /**
8
+ * Detect which AI coding platforms are available in the environment
9
+ */
10
+ export declare function detectPlatforms(): Platform[];
11
+ export declare function install(targetDir: string, options?: InstallOptions): Promise<void>;
12
+ export {};
13
+ //# sourceMappingURL=install.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"AAIA,OAAO,EAAwC,QAAQ,EAAE,MAAM,YAAY,CAAC;AAI5E,UAAU,cAAc;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,QAAQ,EAAE,CAoC5C;AAsBD,wBAAsB,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CA8B5F"}
package/package.json ADDED
@@ -0,0 +1,54 @@
1
+ {
2
+ "name": "arcanea",
3
+ "version": "3.0.0",
4
+ "description": "Arcanea - The Creative Intelligence Platform. Skills, agents, and tools for AI-human co-creation.",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "bin": {
9
+ "arcanea": "./dist/cli/index.js"
10
+ },
11
+ "files": [
12
+ "dist",
13
+ "agents",
14
+ "skills",
15
+ "commands",
16
+ "CLAUDE.md",
17
+ "README.md"
18
+ ],
19
+ "scripts": {
20
+ "build": "bun build src/index.ts --outdir dist --target bun --format esm && tsc --emitDeclarationOnly && bun build src/cli/index.ts --outdir dist/cli --target bun --format esm",
21
+ "prepublishOnly": "bun run build"
22
+ },
23
+ "keywords": [
24
+ "arcanea",
25
+ "claude",
26
+ "claude-code",
27
+ "opencode",
28
+ "codex",
29
+ "gemini",
30
+ "ai",
31
+ "agents",
32
+ "skills",
33
+ "creative",
34
+ "writing",
35
+ "world-building",
36
+ "luminors"
37
+ ],
38
+ "author": "FrankX",
39
+ "license": "MIT",
40
+ "repository": {
41
+ "type": "git",
42
+ "url": "git+https://github.com/frankxai/arcanea.git"
43
+ },
44
+ "homepage": "https://arcanea.ai",
45
+ "dependencies": {
46
+ "commander": "^14.0.0",
47
+ "picocolors": "^1.1.0"
48
+ },
49
+ "devDependencies": {
50
+ "@types/node": "^22.0.0",
51
+ "bun-types": "^1.0.0",
52
+ "typescript": "^5.0.0"
53
+ }
54
+ }