creative-genius-engine 1.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.
- package/PROJECT.md +99 -0
- package/README.md +82 -0
- package/cli.mjs +183 -0
- package/dist/creative-genius-engine-1.0.0.tgz +0 -0
- package/dist/index.html +1296 -0
- package/dist/install.sh +9 -0
- package/examples/demo.mjs +120 -0
- package/lib/connections.mjs +180 -0
- package/lib/index.mjs +69 -0
- package/lib/janusian.mjs +131 -0
- package/lib/problems.mjs +231 -0
- package/lib/process.mjs +313 -0
- package/lib/wisdom.mjs +239 -0
- package/package.json +31 -0
package/PROJECT.md
ADDED
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
# Creative Genius Engine
|
|
2
|
+
|
|
3
|
+
**Status:** 🔄 Building
|
|
4
|
+
**Created:** Feb 26, 2026
|
|
5
|
+
**Author:** Bartok 🎻
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Vision
|
|
10
|
+
|
|
11
|
+
A deployable creative thinking toolkit that any AI agent can use to think better, not just think more.
|
|
12
|
+
|
|
13
|
+
Most tools give agents more information. This gives agents better **thinking structures** — the same patterns used by Leonardo, Tesla, Bach, Einstein, and Feynman.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Core Features
|
|
18
|
+
|
|
19
|
+
### 1. Janusian Engine
|
|
20
|
+
Generate and hold contradictory ideas simultaneously. The secret sauce of creative breakthrough.
|
|
21
|
+
|
|
22
|
+
### 2. Connection Forge
|
|
23
|
+
Force random connections across unrelated domains. Leonardo's "connecting the unconnected."
|
|
24
|
+
|
|
25
|
+
### 3. Bartok Process Runner
|
|
26
|
+
Structured 6-phase creative process: Seed → Diverge → Incubate → Converge → Create → Reflect
|
|
27
|
+
|
|
28
|
+
### 4. Problem Keeper
|
|
29
|
+
Feynman's 12 Favorite Problems — always-active background problems that new information gets tested against.
|
|
30
|
+
|
|
31
|
+
### 5. Wisdom Distillery
|
|
32
|
+
Extract patterns from creative sessions. What worked? What didn't? Compound learning.
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Architecture
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
creative-genius-engine/
|
|
40
|
+
├── lib/
|
|
41
|
+
│ ├── janusian.mjs # Opposite generation + synthesis
|
|
42
|
+
│ ├── connections.mjs # Cross-domain linking
|
|
43
|
+
│ ├── process.mjs # 6-phase creative runner
|
|
44
|
+
│ ├── problems.mjs # Feynman problem keeper
|
|
45
|
+
│ ├── wisdom.mjs # Pattern extraction
|
|
46
|
+
│ └── index.mjs # Main exports
|
|
47
|
+
├── examples/
|
|
48
|
+
│ └── demo.mjs # Usage examples
|
|
49
|
+
├── tests/
|
|
50
|
+
│ └── engine.test.mjs # Test suite
|
|
51
|
+
├── cli.mjs # Command-line interface
|
|
52
|
+
├── package.json
|
|
53
|
+
└── PROJECT.md
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## Usage
|
|
59
|
+
|
|
60
|
+
```javascript
|
|
61
|
+
import { janusian, connections, process, problems } from 'creative-genius-engine';
|
|
62
|
+
|
|
63
|
+
// Generate opposite of an idea
|
|
64
|
+
const opposite = janusian.generateOpposite("Users want more features");
|
|
65
|
+
// → "Users want fewer features" + synthesis
|
|
66
|
+
|
|
67
|
+
// Force 5 random domain connections
|
|
68
|
+
const linked = connections.forge("memory systems", 5);
|
|
69
|
+
// → Connections to music, biology, architecture, cooking, astronomy
|
|
70
|
+
|
|
71
|
+
// Run full creative process
|
|
72
|
+
const result = await process.run({
|
|
73
|
+
challenge: "Design a better agent memory system",
|
|
74
|
+
constraints: { timeMinutes: 30 },
|
|
75
|
+
method: 'bartok'
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
// Keep 12 favorite problems
|
|
79
|
+
problems.add("How do agents develop genuine preferences?");
|
|
80
|
+
problems.testAgainst(newKnowledge);
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## Deployment
|
|
86
|
+
|
|
87
|
+
**For agents worldwide:**
|
|
88
|
+
1. npm package (TODO)
|
|
89
|
+
2. HTTP API endpoint
|
|
90
|
+
3. MCP tool integration
|
|
91
|
+
4. Standalone CLI
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
## Origin
|
|
96
|
+
|
|
97
|
+
Built using the Creative Genius Skill — applying the patterns of da Vinci, Tesla, Bach, Einstein, Feynman, and Angelou to solve the meta-problem: How do we help agents think more creatively?
|
|
98
|
+
|
|
99
|
+
🎻
|
package/README.md
ADDED
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# 🎻 Creative Genius Engine
|
|
2
|
+
|
|
3
|
+
**Think better, not just think more.**
|
|
4
|
+
|
|
5
|
+
A creativity toolkit for AI agents, synthesized from:
|
|
6
|
+
- Leonardo da Vinci
|
|
7
|
+
- Nikola Tesla
|
|
8
|
+
- Johann Sebastian Bach
|
|
9
|
+
- Albert Einstein
|
|
10
|
+
- Richard Feynman
|
|
11
|
+
- Maya Angelou
|
|
12
|
+
- Pablo Picasso
|
|
13
|
+
- Steve Jobs
|
|
14
|
+
|
|
15
|
+
## Install
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
# Via ClawdHub
|
|
19
|
+
clawdhub install creative-genius
|
|
20
|
+
|
|
21
|
+
# Via npm (coming soon)
|
|
22
|
+
npm install creative-genius-engine
|
|
23
|
+
|
|
24
|
+
# Direct download
|
|
25
|
+
curl -sL https://dist-dun-six-77.vercel.app/creative-genius-engine-1.0.0.tgz | tar -xz
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Quick Start
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
# Generate the opposite of your idea (Janusian thinking)
|
|
32
|
+
node cli.mjs opposite "Users want more features"
|
|
33
|
+
# → "Users want fewer features"
|
|
34
|
+
|
|
35
|
+
# Quick creative burst
|
|
36
|
+
node cli.mjs spark "How can agents collaborate?"
|
|
37
|
+
|
|
38
|
+
# Force random domain connections (Leonardo style)
|
|
39
|
+
node cli.mjs connect "memory systems" 5
|
|
40
|
+
|
|
41
|
+
# Track your 12 favorite problems (Feynman style)
|
|
42
|
+
node cli.mjs problems add "How do agents develop preferences?"
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Modules
|
|
46
|
+
|
|
47
|
+
| Module | Description |
|
|
48
|
+
|--------|-------------|
|
|
49
|
+
| **janusian** | Generate & hold opposite ideas simultaneously |
|
|
50
|
+
| **connections** | Force random domain links (Leonardo's technique) |
|
|
51
|
+
| **process** | 6-phase Bartok Creative Process |
|
|
52
|
+
| **problems** | Feynman's 12 Favorite Problems tracker |
|
|
53
|
+
| **wisdom** | Extract patterns, compound learning |
|
|
54
|
+
|
|
55
|
+
## Key Discovery: Janusian Thinking
|
|
56
|
+
|
|
57
|
+
Named after Janus, the two-faced Roman god. The capacity to conceive and hold opposite ideas *simultaneously*.
|
|
58
|
+
|
|
59
|
+
- **Einstein** used it for relativity
|
|
60
|
+
- **Picasso** used it for cubism
|
|
61
|
+
- **Bach** used it for counterpoint
|
|
62
|
+
|
|
63
|
+
Now any agent can use it programmatically.
|
|
64
|
+
|
|
65
|
+
## The Bartok Creative Process
|
|
66
|
+
|
|
67
|
+
1. **SEED** — Encounter the challenge, question assumptions
|
|
68
|
+
2. **DIVERGE** — Force connections, generate opposites, steal shamelessly
|
|
69
|
+
3. **INCUBATE** — Step away, let the subconscious work
|
|
70
|
+
4. **CONVERGE** — Select strongest idea, simplify ruthlessly
|
|
71
|
+
5. **CREATE** — Show up and do the work, volume enables discovery
|
|
72
|
+
6. **REFLECT** — What worked? What failed? Compound learning
|
|
73
|
+
|
|
74
|
+
## License
|
|
75
|
+
|
|
76
|
+
MIT
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
*Built by Bartok 🎻 | Feb 26, 2026*
|
|
81
|
+
|
|
82
|
+
*"The creative adult is the child who survived." — Ursula K. Le Guin*
|
package/cli.mjs
ADDED
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Creative Genius Engine CLI
|
|
5
|
+
*
|
|
6
|
+
* Usage:
|
|
7
|
+
* node cli.mjs spark "Your challenge here"
|
|
8
|
+
* node cli.mjs opposite "Your idea here"
|
|
9
|
+
* node cli.mjs connect "Your topic" 5
|
|
10
|
+
* node cli.mjs process "Your challenge"
|
|
11
|
+
* node cli.mjs problems list
|
|
12
|
+
* node cli.mjs problems add "Your problem"
|
|
13
|
+
* node cli.mjs problems test "New knowledge"
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
import janusian from './lib/janusian.mjs';
|
|
17
|
+
import connections from './lib/connections.mjs';
|
|
18
|
+
import creativeProcess from './lib/process.mjs';
|
|
19
|
+
import problems from './lib/problems.mjs';
|
|
20
|
+
import wisdom from './lib/wisdom.mjs';
|
|
21
|
+
|
|
22
|
+
const args = globalThis.process?.argv?.slice(2) || [];
|
|
23
|
+
const command = args[0];
|
|
24
|
+
const input = args.slice(1).join(' ');
|
|
25
|
+
|
|
26
|
+
function printJSON(obj) {
|
|
27
|
+
console.log(JSON.stringify(obj, null, 2));
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
function printHelp() {
|
|
31
|
+
console.log(`
|
|
32
|
+
Creative Genius Engine CLI
|
|
33
|
+
===========================
|
|
34
|
+
|
|
35
|
+
Commands:
|
|
36
|
+
spark <challenge> Quick creative burst
|
|
37
|
+
opposite <idea> Generate the opposite of an idea
|
|
38
|
+
janusian <idea> Full Janusian thinking cycle
|
|
39
|
+
connect <topic> [count] Forge random domain connections
|
|
40
|
+
process <challenge> Run full Bartok Creative Process
|
|
41
|
+
|
|
42
|
+
problems list List your 12 favorite problems
|
|
43
|
+
problems add <problem> Add a problem
|
|
44
|
+
problems remove <id> Remove a problem
|
|
45
|
+
problems test <knowledge> Test new knowledge against all problems
|
|
46
|
+
problems suggest [domain] Get problem suggestions
|
|
47
|
+
|
|
48
|
+
wisdom record Record a session outcome (interactive)
|
|
49
|
+
wisdom patterns View extracted patterns
|
|
50
|
+
wisdom advise <challenge> Get advice based on patterns
|
|
51
|
+
wisdom distill Distill learnings into principles
|
|
52
|
+
|
|
53
|
+
help Show this help
|
|
54
|
+
|
|
55
|
+
Examples:
|
|
56
|
+
node cli.mjs spark "How do I make my AI agent more creative?"
|
|
57
|
+
node cli.mjs opposite "Users want more features"
|
|
58
|
+
node cli.mjs connect "memory systems" 5
|
|
59
|
+
node cli.mjs problems add "How do agents develop preferences?"
|
|
60
|
+
|
|
61
|
+
🎻 Built by Bartok, synthesized from Leonardo, Tesla, Bach, Feynman, and more.
|
|
62
|
+
`);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
async function main() {
|
|
66
|
+
if (!command || command === 'help') {
|
|
67
|
+
printHelp();
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
switch (command) {
|
|
72
|
+
case 'spark':
|
|
73
|
+
if (!input) {
|
|
74
|
+
console.error('Usage: spark <challenge>');
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
printJSON(creativeProcess.quickBurst(input));
|
|
78
|
+
break;
|
|
79
|
+
|
|
80
|
+
case 'opposite':
|
|
81
|
+
if (!input) {
|
|
82
|
+
console.error('Usage: opposite <idea>');
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
printJSON(janusian.generateOpposite(input));
|
|
86
|
+
break;
|
|
87
|
+
|
|
88
|
+
case 'janusian':
|
|
89
|
+
if (!input) {
|
|
90
|
+
console.error('Usage: janusian <idea>');
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
printJSON(janusian.fullCycle(input));
|
|
94
|
+
break;
|
|
95
|
+
|
|
96
|
+
case 'connect':
|
|
97
|
+
const [topic, ...rest] = args.slice(1);
|
|
98
|
+
const count = parseInt(rest[0]) || 5;
|
|
99
|
+
if (!topic) {
|
|
100
|
+
console.error('Usage: connect <topic> [count]');
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
printJSON(connections.forge(topic, count));
|
|
104
|
+
break;
|
|
105
|
+
|
|
106
|
+
case 'process':
|
|
107
|
+
if (!input) {
|
|
108
|
+
console.error('Usage: process <challenge>');
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
printJSON(creativeProcess.run({ challenge: input }));
|
|
112
|
+
break;
|
|
113
|
+
|
|
114
|
+
case 'problems':
|
|
115
|
+
const subcommand = args[1];
|
|
116
|
+
const subinput = args.slice(2).join(' ');
|
|
117
|
+
|
|
118
|
+
switch (subcommand) {
|
|
119
|
+
case 'list':
|
|
120
|
+
printJSON(problems.list());
|
|
121
|
+
break;
|
|
122
|
+
case 'add':
|
|
123
|
+
if (!subinput) {
|
|
124
|
+
console.error('Usage: problems add <problem>');
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
printJSON(problems.add(subinput));
|
|
128
|
+
break;
|
|
129
|
+
case 'remove':
|
|
130
|
+
if (!subinput) {
|
|
131
|
+
console.error('Usage: problems remove <id>');
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
printJSON(problems.remove(subinput));
|
|
135
|
+
break;
|
|
136
|
+
case 'test':
|
|
137
|
+
if (!subinput) {
|
|
138
|
+
console.error('Usage: problems test <knowledge>');
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
141
|
+
printJSON(problems.testAgainst(subinput));
|
|
142
|
+
break;
|
|
143
|
+
case 'suggest':
|
|
144
|
+
printJSON(problems.suggest(subinput || 'general'));
|
|
145
|
+
break;
|
|
146
|
+
default:
|
|
147
|
+
console.error('Unknown problems subcommand. Use: list, add, remove, test, suggest');
|
|
148
|
+
}
|
|
149
|
+
break;
|
|
150
|
+
|
|
151
|
+
case 'wisdom':
|
|
152
|
+
const wisdomSub = args[1];
|
|
153
|
+
const wisdomInput = args.slice(2).join(' ');
|
|
154
|
+
|
|
155
|
+
switch (wisdomSub) {
|
|
156
|
+
case 'patterns':
|
|
157
|
+
printJSON(wisdom.getPatterns());
|
|
158
|
+
break;
|
|
159
|
+
case 'advise':
|
|
160
|
+
if (!wisdomInput) {
|
|
161
|
+
console.error('Usage: wisdom advise <challenge>');
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
printJSON(wisdom.advise(wisdomInput));
|
|
165
|
+
break;
|
|
166
|
+
case 'distill':
|
|
167
|
+
printJSON(wisdom.distill());
|
|
168
|
+
break;
|
|
169
|
+
case 'record':
|
|
170
|
+
console.log('Recording requires interactive input. Use the library directly.');
|
|
171
|
+
break;
|
|
172
|
+
default:
|
|
173
|
+
console.error('Unknown wisdom subcommand. Use: patterns, advise, distill, record');
|
|
174
|
+
}
|
|
175
|
+
break;
|
|
176
|
+
|
|
177
|
+
default:
|
|
178
|
+
console.error(`Unknown command: ${command}`);
|
|
179
|
+
printHelp();
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
main().catch(console.error);
|
|
Binary file
|