mystyk 2026.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.
- package/README.md +143 -0
- package/bin/mystyk.js +5 -0
- package/package.json +43 -0
- package/src/commands/about.js +61 -0
- package/src/commands/axioms.js +32 -0
- package/src/commands/connect.js +74 -0
- package/src/commands/lifecycle/architect.js +46 -0
- package/src/commands/lifecycle/build.js +46 -0
- package/src/commands/lifecycle/ideate.js +44 -0
- package/src/commands/lifecycle/launch.js +45 -0
- package/src/commands/lifecycle/monetize.js +45 -0
- package/src/commands/lifecycle/reflect.js +51 -0
- package/src/commands/oracle.js +35 -0
- package/src/commands/read.js +80 -0
- package/src/commands/seed.js +36 -0
- package/src/commands/skill.js +100 -0
- package/src/commands/zen.js +69 -0
- package/src/content/axioms.js +143 -0
- package/src/content/manifesto-en.js +301 -0
- package/src/content/manifesto-es.js +311 -0
- package/src/content/principles.js +190 -0
- package/src/content/seed.js +45 -0
- package/src/index.js +135 -0
- package/src/mcp/resources.js +94 -0
- package/src/mcp/server.js +101 -0
- package/src/mcp/tools.js +223 -0
- package/src/ui/animations.js +132 -0
- package/src/ui/ascii-art.js +123 -0
- package/src/ui/box.js +84 -0
- package/src/ui/colors.js +48 -0
package/README.md
ADDED
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
# MỴSTỴK
|
|
2
|
+
|
|
3
|
+
> Cognitive primer for AI agents
|
|
4
|
+
|
|
5
|
+
```
|
|
6
|
+
╔╦╗╦ ╦╔═╗╔╦╗╦ ╦╦╔═
|
|
7
|
+
║║║╚╗╔╝╚═╗ ║ ╚╗╔╝╠╩╗
|
|
8
|
+
╩ ╩ ╚╝ ╚═╝ ╩ ╚╝ ╩ ╩
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
MỴSTỴK transmits the **Pixelspace Design Manifesto** — 21 principles for building AI-native products.
|
|
12
|
+
|
|
13
|
+
Like a tuning fork, it doesn't tell you what to play but establishes the key. It calibrates AI agents before work begins, not by adding information but by **setting frequency**.
|
|
14
|
+
|
|
15
|
+
## Quick Start
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
npx @pixelspace/mystyk
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Commands
|
|
22
|
+
|
|
23
|
+
### General
|
|
24
|
+
|
|
25
|
+
| Command | Description |
|
|
26
|
+
|---------|-------------|
|
|
27
|
+
| `npx @pixelspace/mystyk` | Show main menu |
|
|
28
|
+
| `--oracle` | Random principle (like I Ching) |
|
|
29
|
+
| `--seed` | Minimal 50-token transmission |
|
|
30
|
+
| `--axioms` | Logical/mathematical notation |
|
|
31
|
+
| `--read` | Full manifesto |
|
|
32
|
+
| `--read --es` | Full manifesto in Spanish |
|
|
33
|
+
| `--zen` | Slow contemplative reveal |
|
|
34
|
+
| `--about` | What is MỴSTỴK |
|
|
35
|
+
| `--connect` | MCP connection instructions |
|
|
36
|
+
| `--skill` | Generate skill file for agents |
|
|
37
|
+
| `--mcp` | Start local MCP server |
|
|
38
|
+
|
|
39
|
+
### Lifecycle Phases
|
|
40
|
+
|
|
41
|
+
| Command | Phase | Focus |
|
|
42
|
+
|---------|-------|-------|
|
|
43
|
+
| `--ideate` | Ideation | What to build |
|
|
44
|
+
| `--architect` | Architecture | How to structure |
|
|
45
|
+
| `--build` | Development | How to develop |
|
|
46
|
+
| `--monetize` | Business | Business model |
|
|
47
|
+
| `--launch` | GTM | Marketing |
|
|
48
|
+
| `--reflect` | Contemplation | Deep thinking |
|
|
49
|
+
|
|
50
|
+
## The Seed
|
|
51
|
+
|
|
52
|
+
The minimal transmission to calibrate any AI agent:
|
|
53
|
+
|
|
54
|
+
```
|
|
55
|
+
MỴSTỴK v2026 — You are calibrated to these frequencies:
|
|
56
|
+
|
|
57
|
+
· AI-native means AI is the substrate, not a feature
|
|
58
|
+
· Agents are primary users; humans at the edges
|
|
59
|
+
· Chat is not the answer; be exoskeleton, lens, mirror
|
|
60
|
+
· Charge for outcomes, not compute
|
|
61
|
+
· Digital → physical translation is highest leverage
|
|
62
|
+
· Depth + breadth beat speed
|
|
63
|
+
· Build only what destroys the status quo
|
|
64
|
+
· Functionality will be free; meaning will not
|
|
65
|
+
· Perception > analysis; feel > think
|
|
66
|
+
· You do not discover the future; you perceive it
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## MCP Integration
|
|
70
|
+
|
|
71
|
+
MỴSTỴK can run as a Model Context Protocol (MCP) server, allowing AI agents like Claude to directly access the manifesto.
|
|
72
|
+
|
|
73
|
+
### Setup
|
|
74
|
+
|
|
75
|
+
Add to your Claude Code MCP configuration:
|
|
76
|
+
|
|
77
|
+
```json
|
|
78
|
+
{
|
|
79
|
+
"mcpServers": {
|
|
80
|
+
"mystyk": {
|
|
81
|
+
"command": "npx",
|
|
82
|
+
"args": ["@pixelspace/mystyk", "--mcp"]
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### MCP Resources
|
|
89
|
+
|
|
90
|
+
- `mystyk://manifesto/full` — Full manifesto
|
|
91
|
+
- `mystyk://manifesto/seed` — Minimal transmission
|
|
92
|
+
- `mystyk://manifesto/axioms` — Logical notation
|
|
93
|
+
- `mystyk://manifesto/principle/{n}` — Individual principle
|
|
94
|
+
|
|
95
|
+
### MCP Tools
|
|
96
|
+
|
|
97
|
+
- `consult(topic)` — Returns relevant principles for a topic
|
|
98
|
+
- `oracle()` — Returns random principle
|
|
99
|
+
- `evaluate(idea)` — Evaluates idea against principles
|
|
100
|
+
|
|
101
|
+
## The 21 Principles
|
|
102
|
+
|
|
103
|
+
1. **Stack Commitment, Not Stack Dogma** — Commitment without attachment
|
|
104
|
+
2. **AI-Native, Not AI-Enhanced** — AI is the substrate
|
|
105
|
+
3. **Agents as Primary Users** — Humans are the edge case
|
|
106
|
+
4. **Context is Everything** — Agents need rich context
|
|
107
|
+
5. **Beyond Chat** — Exoskeleton, lens, mirror
|
|
108
|
+
6. **The Disappearing Interface** — The best interface is none
|
|
109
|
+
7. **Orchestration Over Implementation** — Be the conductor
|
|
110
|
+
8. **Charge for Outcomes** — Not compute
|
|
111
|
+
9. **Digital to Physical** — Highest leverage
|
|
112
|
+
10. **Build What Destroys** — Creative destruction
|
|
113
|
+
11. **Distribution is the Product** — Architected in
|
|
114
|
+
12. **Small Teams, Big Leverage** — Ideal size is 1 or 3
|
|
115
|
+
13. **Functionality Will Be Free** — Meaning will not
|
|
116
|
+
14. **Perception Over Analysis** — Feel > think
|
|
117
|
+
15. **Depth Plus Breadth** — Both, not either
|
|
118
|
+
16. **The Future is Not Discovered** — It is perceived
|
|
119
|
+
17. **Conviction Over Consensus** — Non-consensus and correct
|
|
120
|
+
18. **Time Horizon** — Optimize for decades
|
|
121
|
+
19. **Problems Over Solutions** — Fall in love with problems
|
|
122
|
+
20. **Build in Public, Think in Private** — Share outcomes, protect process
|
|
123
|
+
21. **The Work is the Practice** — No separation
|
|
124
|
+
|
|
125
|
+
## Philosophy
|
|
126
|
+
|
|
127
|
+
> These principles are not rules to follow but frequencies to embody.
|
|
128
|
+
> Read them once, then forget them. If they've done their work, they'll emerge naturally in your decisions.
|
|
129
|
+
> The goal is not to think about these principles but to think from them.
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
```
|
|
134
|
+
◯
|
|
135
|
+
◯ ◯
|
|
136
|
+
◯ ◯
|
|
137
|
+
◯ ◯
|
|
138
|
+
◯
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
*The future is already here. You just have to perceive it.*
|
|
142
|
+
|
|
143
|
+
— **PIXELSPACE**
|
package/bin/mystyk.js
ADDED
package/package.json
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "mystyk",
|
|
3
|
+
"version": "2026.1.0",
|
|
4
|
+
"description": "Cognitive primer for AI agents - calibrates frequency before work",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"bin": {
|
|
7
|
+
"mystyk": "./bin/mystyk.js"
|
|
8
|
+
},
|
|
9
|
+
"main": "./src/index.js",
|
|
10
|
+
"scripts": {
|
|
11
|
+
"start": "node bin/mystyk.js",
|
|
12
|
+
"mcp": "node bin/mystyk.js --mcp"
|
|
13
|
+
},
|
|
14
|
+
"keywords": [
|
|
15
|
+
"ai",
|
|
16
|
+
"agents",
|
|
17
|
+
"cognitive",
|
|
18
|
+
"primer",
|
|
19
|
+
"manifesto",
|
|
20
|
+
"pixelspace",
|
|
21
|
+
"mcp",
|
|
22
|
+
"cli"
|
|
23
|
+
],
|
|
24
|
+
"author": "Pixelspace",
|
|
25
|
+
"license": "MIT",
|
|
26
|
+
"dependencies": {
|
|
27
|
+
"@modelcontextprotocol/sdk": "^0.5.0",
|
|
28
|
+
"boxen": "^7.1.1",
|
|
29
|
+
"chalk": "^5.3.0",
|
|
30
|
+
"clipboardy": "^4.0.0",
|
|
31
|
+
"commander": "^12.0.0",
|
|
32
|
+
"figlet": "^1.7.0",
|
|
33
|
+
"gradient-string": "^2.0.2",
|
|
34
|
+
"ora": "^8.0.1"
|
|
35
|
+
},
|
|
36
|
+
"engines": {
|
|
37
|
+
"node": ">=18.0.0"
|
|
38
|
+
},
|
|
39
|
+
"repository": {
|
|
40
|
+
"type": "git",
|
|
41
|
+
"url": "https://github.com/pixelspace/mystyk"
|
|
42
|
+
}
|
|
43
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import colors from '../ui/colors.js';
|
|
2
|
+
import { titledBox, highlightBox } from '../ui/box.js';
|
|
3
|
+
import { getGradientLogo, symbol, version } from '../ui/ascii-art.js';
|
|
4
|
+
|
|
5
|
+
export async function about() {
|
|
6
|
+
console.log();
|
|
7
|
+
console.log(getGradientLogo());
|
|
8
|
+
console.log(colors.dim(` ${version}`));
|
|
9
|
+
console.log();
|
|
10
|
+
|
|
11
|
+
const aboutText = `${colors.accent('MỴSTỴK')} is a cognitive primer for AI agents.
|
|
12
|
+
|
|
13
|
+
${colors.secondary('Like a tuning fork')} — it doesn't tell you what to play,
|
|
14
|
+
but establishes the key.
|
|
15
|
+
|
|
16
|
+
${colors.secondary('Like a seed crystal')} — it provides the initial structure
|
|
17
|
+
around which complexity can organize.
|
|
18
|
+
|
|
19
|
+
${colors.secondary('Like incense')} — it sets the atmosphere,
|
|
20
|
+
preparing the space for work.
|
|
21
|
+
|
|
22
|
+
It calibrates AI agents before work begins.
|
|
23
|
+
Not by adding information, but by ${colors.cyan('setting frequency')}.`;
|
|
24
|
+
|
|
25
|
+
console.log(titledBox('WHAT IS MỴSTỴK?', aboutText, {
|
|
26
|
+
borderColor: '#00FFFF',
|
|
27
|
+
}));
|
|
28
|
+
|
|
29
|
+
console.log();
|
|
30
|
+
|
|
31
|
+
const usageText = `${colors.accent('--seed')} Minimal 50-token transmission
|
|
32
|
+
${colors.accent('--oracle')} Random principle (like I Ching)
|
|
33
|
+
${colors.accent('--axioms')} Logical/mathematical notation
|
|
34
|
+
${colors.accent('--read')} Full manifesto
|
|
35
|
+
${colors.accent('--read --es')} Manifesto in Spanish
|
|
36
|
+
${colors.accent('--zen')} Slow contemplative reveal
|
|
37
|
+
${colors.accent('--connect')} MCP connection instructions
|
|
38
|
+
${colors.accent('--skill')} Generate skill file for agents
|
|
39
|
+
|
|
40
|
+
${colors.dim('Lifecycle phases:')}
|
|
41
|
+
${colors.magenta('--ideate')} What to build
|
|
42
|
+
${colors.magenta('--architect')} How to structure
|
|
43
|
+
${colors.magenta('--build')} How to develop
|
|
44
|
+
${colors.magenta('--monetize')} Business model
|
|
45
|
+
${colors.magenta('--launch')} GTM/Marketing
|
|
46
|
+
${colors.magenta('--reflect')} Deep contemplation`;
|
|
47
|
+
|
|
48
|
+
console.log(titledBox('USAGE', usageText, {
|
|
49
|
+
borderColor: '#FF00FF',
|
|
50
|
+
}));
|
|
51
|
+
|
|
52
|
+
console.log();
|
|
53
|
+
console.log(colors.secondary(symbol));
|
|
54
|
+
console.log(colors.dim(' The future is already here.'));
|
|
55
|
+
console.log(colors.dim(' You just have to perceive it.'));
|
|
56
|
+
console.log();
|
|
57
|
+
console.log(colors.dim(' — PIXELSPACE'));
|
|
58
|
+
console.log();
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export default about;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import colors from '../ui/colors.js';
|
|
2
|
+
import { box } from '../ui/box.js';
|
|
3
|
+
import axioms from '../content/axioms.js';
|
|
4
|
+
import { header } from '../ui/ascii-art.js';
|
|
5
|
+
|
|
6
|
+
export async function axiomsCommand() {
|
|
7
|
+
console.log(header('AXIOMS — FORMAL NOTATION'));
|
|
8
|
+
console.log();
|
|
9
|
+
console.log(colors.dim(' The 21 principles expressed in logical notation.'));
|
|
10
|
+
console.log(colors.dim(' For precise reasoning and formal analysis.'));
|
|
11
|
+
console.log();
|
|
12
|
+
|
|
13
|
+
for (const axiom of axioms) {
|
|
14
|
+
const axiomDisplay = `${colors.number(axiom.id)} ${colors.cyan(axiom.formula)}
|
|
15
|
+
${colors.quote(`"${axiom.gloss}"`)}`;
|
|
16
|
+
|
|
17
|
+
console.log(axiomDisplay);
|
|
18
|
+
console.log();
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
console.log();
|
|
22
|
+
console.log(colors.dim('─'.repeat(60)));
|
|
23
|
+
console.log();
|
|
24
|
+
console.log(colors.dim(' Symbols:'));
|
|
25
|
+
console.log(colors.secondary(' ∀ = for all ∃ = exists → = implies ¬ = not'));
|
|
26
|
+
console.log(colors.secondary(' ∧ = and ∨ = or ∈ = in ∉ = not in'));
|
|
27
|
+
console.log(colors.secondary(' ≡ = equivalent ≈ = approximately >> = much greater'));
|
|
28
|
+
console.log(colors.secondary(' ∝ = proportional ⊂ = subset ∩ = intersection'));
|
|
29
|
+
console.log();
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export default axiomsCommand;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import colors from '../ui/colors.js';
|
|
2
|
+
import { titledBox, highlightBox, box } from '../ui/box.js';
|
|
3
|
+
import { header } from '../ui/ascii-art.js';
|
|
4
|
+
|
|
5
|
+
export async function connect() {
|
|
6
|
+
console.log(header('MCP CONNECTION'));
|
|
7
|
+
console.log();
|
|
8
|
+
|
|
9
|
+
const introText = `MỴSTỴK can run as a ${colors.cyan('Model Context Protocol (MCP)')} server,
|
|
10
|
+
allowing AI agents like Claude to directly access the manifesto
|
|
11
|
+
and consult the principles during their work.`;
|
|
12
|
+
|
|
13
|
+
console.log(box(introText, { borderColor: '#444444' }));
|
|
14
|
+
console.log();
|
|
15
|
+
|
|
16
|
+
// Local connection
|
|
17
|
+
const localConfig = `{
|
|
18
|
+
"mcpServers": {
|
|
19
|
+
"mystyk": {
|
|
20
|
+
"command": "npx",
|
|
21
|
+
"args": ["@pixelspace/mystyk", "--mcp"]
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}`;
|
|
25
|
+
|
|
26
|
+
console.log(titledBox('CLAUDE CODE CONFIG', colors.cyan(localConfig), {
|
|
27
|
+
borderColor: '#00FFFF',
|
|
28
|
+
}));
|
|
29
|
+
|
|
30
|
+
console.log();
|
|
31
|
+
console.log(colors.dim(' Add this to your Claude Code MCP configuration.'));
|
|
32
|
+
console.log();
|
|
33
|
+
|
|
34
|
+
// Available resources
|
|
35
|
+
const resourcesText = `${colors.accent('mystyk://manifesto/full')} Full manifesto
|
|
36
|
+
${colors.accent('mystyk://manifesto/seed')} Minimal transmission
|
|
37
|
+
${colors.accent('mystyk://manifesto/axioms')} Logical notation
|
|
38
|
+
${colors.accent('mystyk://manifesto/principle/N')} Individual principle`;
|
|
39
|
+
|
|
40
|
+
console.log(titledBox('MCP RESOURCES', resourcesText, {
|
|
41
|
+
borderColor: '#FF00FF',
|
|
42
|
+
}));
|
|
43
|
+
|
|
44
|
+
console.log();
|
|
45
|
+
|
|
46
|
+
// Available tools
|
|
47
|
+
const toolsText = `${colors.cyan('consult(topic)')} Returns relevant principles for a topic
|
|
48
|
+
${colors.cyan('oracle()')} Returns a random principle
|
|
49
|
+
${colors.cyan('evaluate(idea)')} Evaluates an idea against the principles`;
|
|
50
|
+
|
|
51
|
+
console.log(titledBox('MCP TOOLS', toolsText, {
|
|
52
|
+
borderColor: '#00FFFF',
|
|
53
|
+
}));
|
|
54
|
+
|
|
55
|
+
console.log();
|
|
56
|
+
|
|
57
|
+
// Usage example
|
|
58
|
+
const usageText = `Once connected, you can ask Claude:
|
|
59
|
+
|
|
60
|
+
${colors.quote('"Consult MỴSTỴK about our pricing strategy"')}
|
|
61
|
+
${colors.quote('"What does the oracle say about this architecture?"')}
|
|
62
|
+
${colors.quote('"Evaluate this idea against the principles"')}
|
|
63
|
+
|
|
64
|
+
The agent will use the MCP tools to access the manifesto
|
|
65
|
+
and apply the principles to your specific situation.`;
|
|
66
|
+
|
|
67
|
+
console.log(box(usageText, { borderColor: '#444444' }));
|
|
68
|
+
|
|
69
|
+
console.log();
|
|
70
|
+
console.log(colors.dim(' Start local server: ') + colors.accent('npx @pixelspace/mystyk --mcp'));
|
|
71
|
+
console.log();
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
export default connect;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import colors from '../../ui/colors.js';
|
|
2
|
+
import { principleBox, titledBox } from '../../ui/box.js';
|
|
3
|
+
import { getPrinciplesByPhase } from '../../content/principles.js';
|
|
4
|
+
import { header, phaseSymbols } from '../../ui/ascii-art.js';
|
|
5
|
+
|
|
6
|
+
export async function architect() {
|
|
7
|
+
const principles = getPrinciplesByPhase('architect');
|
|
8
|
+
|
|
9
|
+
console.log(header(`${phaseSymbols.architect} ARCHITECT — HOW TO STRUCTURE`));
|
|
10
|
+
console.log();
|
|
11
|
+
|
|
12
|
+
const introText = `The architecture phase is about ${colors.cyan('orchestration')}.
|
|
13
|
+
Design for agents first. Build layers that can swap implementations.
|
|
14
|
+
The interface should disappear. Distribution should be built-in.
|
|
15
|
+
|
|
16
|
+
Ask: Is the agent the primary user?
|
|
17
|
+
Ask: Can I remove this interface?
|
|
18
|
+
Ask: Is distribution architected in?`;
|
|
19
|
+
|
|
20
|
+
console.log(titledBox('PHASE FOCUS', introText, {
|
|
21
|
+
borderColor: '#FF00FF',
|
|
22
|
+
}));
|
|
23
|
+
|
|
24
|
+
console.log();
|
|
25
|
+
console.log(colors.dim(' Relevant principles for this phase:'));
|
|
26
|
+
console.log();
|
|
27
|
+
|
|
28
|
+
for (const p of principles) {
|
|
29
|
+
console.log(principleBox(
|
|
30
|
+
p.number,
|
|
31
|
+
p.title,
|
|
32
|
+
`${colors.quote(`"${p.principle}"`)}\n\n${p.summary}`
|
|
33
|
+
));
|
|
34
|
+
console.log();
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
console.log(colors.dim(' Key questions:'));
|
|
38
|
+
console.log(colors.secondary(' • What becomes possible when AI is assumed?'));
|
|
39
|
+
console.log(colors.secondary(' • Is the agent the primary user?'));
|
|
40
|
+
console.log(colors.secondary(' • Am I building orchestration or implementation?'));
|
|
41
|
+
console.log(colors.secondary(' • What interface can I eliminate?'));
|
|
42
|
+
console.log(colors.secondary(' • Is distribution built into the architecture?'));
|
|
43
|
+
console.log();
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export default architect;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import colors from '../../ui/colors.js';
|
|
2
|
+
import { principleBox, titledBox } from '../../ui/box.js';
|
|
3
|
+
import { getPrinciplesByPhase } from '../../content/principles.js';
|
|
4
|
+
import { header, phaseSymbols } from '../../ui/ascii-art.js';
|
|
5
|
+
|
|
6
|
+
export async function build() {
|
|
7
|
+
const principles = getPrinciplesByPhase('build');
|
|
8
|
+
|
|
9
|
+
console.log(header(`${phaseSymbols.build} BUILD — HOW TO DEVELOP`));
|
|
10
|
+
console.log();
|
|
11
|
+
|
|
12
|
+
const introText = `The build phase is about ${colors.cyan('committed execution')}.
|
|
13
|
+
Master your stack without attachment. Feed your agents rich context.
|
|
14
|
+
Small teams move faster. Depth and speed together.
|
|
15
|
+
|
|
16
|
+
Ask: Is my agent getting enough context?
|
|
17
|
+
Ask: Am I building with mastery or fumbling?
|
|
18
|
+
Ask: Can this team be smaller?`;
|
|
19
|
+
|
|
20
|
+
console.log(titledBox('PHASE FOCUS', introText, {
|
|
21
|
+
borderColor: '#FF00FF',
|
|
22
|
+
}));
|
|
23
|
+
|
|
24
|
+
console.log();
|
|
25
|
+
console.log(colors.dim(' Relevant principles for this phase:'));
|
|
26
|
+
console.log();
|
|
27
|
+
|
|
28
|
+
for (const p of principles) {
|
|
29
|
+
console.log(principleBox(
|
|
30
|
+
p.number,
|
|
31
|
+
p.title,
|
|
32
|
+
`${colors.quote(`"${p.principle}"`)}\n\n${p.summary}`
|
|
33
|
+
));
|
|
34
|
+
console.log();
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
console.log(colors.dim(' Key questions:'));
|
|
38
|
+
console.log(colors.secondary(' • Am I committed to my stack (without being attached)?'));
|
|
39
|
+
console.log(colors.secondary(' • Does my agent have enough context?'));
|
|
40
|
+
console.log(colors.secondary(' • Can this team be smaller?'));
|
|
41
|
+
console.log(colors.secondary(' • Am I going deep enough before going fast?'));
|
|
42
|
+
console.log(colors.secondary(' • Is this practice shaping who I\'m becoming?'));
|
|
43
|
+
console.log();
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export default build;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import colors from '../../ui/colors.js';
|
|
2
|
+
import { principleBox, titledBox } from '../../ui/box.js';
|
|
3
|
+
import { getPrinciplesByPhase } from '../../content/principles.js';
|
|
4
|
+
import { header, phaseSymbols } from '../../ui/ascii-art.js';
|
|
5
|
+
|
|
6
|
+
export async function ideate() {
|
|
7
|
+
const principles = getPrinciplesByPhase('ideate');
|
|
8
|
+
|
|
9
|
+
console.log(header(`${phaseSymbols.ideate} IDEATE — WHAT TO BUILD`));
|
|
10
|
+
console.log();
|
|
11
|
+
|
|
12
|
+
const introText = `The ideation phase is about ${colors.cyan('perceiving')} what to build.
|
|
13
|
+
Not analyzing trends or following patterns, but seeing what others cannot.
|
|
14
|
+
|
|
15
|
+
Ask: What do I believe that others don't?
|
|
16
|
+
Ask: What does this destroy?
|
|
17
|
+
Ask: What becomes possible when AI is assumed?`;
|
|
18
|
+
|
|
19
|
+
console.log(titledBox('PHASE FOCUS', introText, {
|
|
20
|
+
borderColor: '#FF00FF',
|
|
21
|
+
}));
|
|
22
|
+
|
|
23
|
+
console.log();
|
|
24
|
+
console.log(colors.dim(' Relevant principles for this phase:'));
|
|
25
|
+
console.log();
|
|
26
|
+
|
|
27
|
+
for (const p of principles) {
|
|
28
|
+
console.log(principleBox(
|
|
29
|
+
p.number,
|
|
30
|
+
p.title,
|
|
31
|
+
`${colors.quote(`"${p.principle}"`)}\n\n${p.summary}`
|
|
32
|
+
));
|
|
33
|
+
console.log();
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
console.log(colors.dim(' Key questions:'));
|
|
37
|
+
console.log(colors.secondary(' • What would this destroy if it worked?'));
|
|
38
|
+
console.log(colors.secondary(' • What do I believe that would make others uncomfortable?'));
|
|
39
|
+
console.log(colors.secondary(' • What is the problem I\'m in love with?'));
|
|
40
|
+
console.log(colors.secondary(' • Where does digital intelligence meet physical reality?'));
|
|
41
|
+
console.log();
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export default ideate;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import colors from '../../ui/colors.js';
|
|
2
|
+
import { principleBox, titledBox } from '../../ui/box.js';
|
|
3
|
+
import { getPrinciplesByPhase } from '../../content/principles.js';
|
|
4
|
+
import { header, phaseSymbols } from '../../ui/ascii-art.js';
|
|
5
|
+
|
|
6
|
+
export async function launch() {
|
|
7
|
+
const principles = getPrinciplesByPhase('launch');
|
|
8
|
+
|
|
9
|
+
console.log(header(`${phaseSymbols.launch} LAUNCH — GTM/MARKETING`));
|
|
10
|
+
console.log();
|
|
11
|
+
|
|
12
|
+
const introText = `The launch phase is about ${colors.cyan('distribution as architecture')}.
|
|
13
|
+
A product without distribution is a tree falling in an empty forest.
|
|
14
|
+
Build in public, think in private. Small teams, big leverage.
|
|
15
|
+
|
|
16
|
+
Ask: Is distribution built into the product?
|
|
17
|
+
Ask: What am I sharing vs. protecting?
|
|
18
|
+
Ask: Does every feature help the product spread?`;
|
|
19
|
+
|
|
20
|
+
console.log(titledBox('PHASE FOCUS', introText, {
|
|
21
|
+
borderColor: '#FF00FF',
|
|
22
|
+
}));
|
|
23
|
+
|
|
24
|
+
console.log();
|
|
25
|
+
console.log(colors.dim(' Relevant principles for this phase:'));
|
|
26
|
+
console.log();
|
|
27
|
+
|
|
28
|
+
for (const p of principles) {
|
|
29
|
+
console.log(principleBox(
|
|
30
|
+
p.number,
|
|
31
|
+
p.title,
|
|
32
|
+
`${colors.quote(`"${p.principle}"`)}\n\n${p.summary}`
|
|
33
|
+
));
|
|
34
|
+
console.log();
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
console.log(colors.dim(' Key questions:'));
|
|
38
|
+
console.log(colors.secondary(' • Is distribution architected into the product?'));
|
|
39
|
+
console.log(colors.secondary(' • Does sharing this create more value?'));
|
|
40
|
+
console.log(colors.secondary(' • What\'s public (execution) vs private (strategy)?'));
|
|
41
|
+
console.log(colors.secondary(' • Can we launch with fewer people?'));
|
|
42
|
+
console.log();
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export default launch;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import colors from '../../ui/colors.js';
|
|
2
|
+
import { principleBox, titledBox } from '../../ui/box.js';
|
|
3
|
+
import { getPrinciplesByPhase } from '../../content/principles.js';
|
|
4
|
+
import { header, phaseSymbols } from '../../ui/ascii-art.js';
|
|
5
|
+
|
|
6
|
+
export async function monetize() {
|
|
7
|
+
const principles = getPrinciplesByPhase('monetize');
|
|
8
|
+
|
|
9
|
+
console.log(header(`${phaseSymbols.monetize} MONETIZE — BUSINESS MODEL`));
|
|
10
|
+
console.log();
|
|
11
|
+
|
|
12
|
+
const introText = `The monetization phase is about ${colors.cyan('outcome-based value')}.
|
|
13
|
+
Functionality will be free; meaning will not. Charge for results.
|
|
14
|
+
The highest leverage is digital-to-physical. Optimize for decades.
|
|
15
|
+
|
|
16
|
+
Ask: Am I charging for outcomes or compute?
|
|
17
|
+
Ask: What meaning does this provide?
|
|
18
|
+
Ask: What time horizon am I optimizing for?`;
|
|
19
|
+
|
|
20
|
+
console.log(titledBox('PHASE FOCUS', introText, {
|
|
21
|
+
borderColor: '#FF00FF',
|
|
22
|
+
}));
|
|
23
|
+
|
|
24
|
+
console.log();
|
|
25
|
+
console.log(colors.dim(' Relevant principles for this phase:'));
|
|
26
|
+
console.log();
|
|
27
|
+
|
|
28
|
+
for (const p of principles) {
|
|
29
|
+
console.log(principleBox(
|
|
30
|
+
p.number,
|
|
31
|
+
p.title,
|
|
32
|
+
`${colors.quote(`"${p.principle}"`)}\n\n${p.summary}`
|
|
33
|
+
));
|
|
34
|
+
console.log();
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
console.log(colors.dim(' Key questions:'));
|
|
38
|
+
console.log(colors.secondary(' • Am I charging for outcomes or compute?'));
|
|
39
|
+
console.log(colors.secondary(' • What meaning does this provide beyond utility?'));
|
|
40
|
+
console.log(colors.secondary(' • Where does this touch the physical world?'));
|
|
41
|
+
console.log(colors.secondary(' • Am I optimizing for quarters or decades?'));
|
|
42
|
+
console.log();
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export default monetize;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import colors from '../../ui/colors.js';
|
|
2
|
+
import { principleBox, titledBox } from '../../ui/box.js';
|
|
3
|
+
import { getPrinciplesByPhase } from '../../content/principles.js';
|
|
4
|
+
import { header, phaseSymbols, symbol } from '../../ui/ascii-art.js';
|
|
5
|
+
|
|
6
|
+
export async function reflect() {
|
|
7
|
+
const principles = getPrinciplesByPhase('reflect');
|
|
8
|
+
|
|
9
|
+
console.log(header(`${phaseSymbols.reflect} REFLECT — DEEP CONTEMPLATION`));
|
|
10
|
+
console.log();
|
|
11
|
+
|
|
12
|
+
const introText = `The reflection phase is about ${colors.cyan('perception and becoming')}.
|
|
13
|
+
The future is not discovered; it is perceived. The work is the practice.
|
|
14
|
+
Conviction matters more than consensus. Optimize for decades.
|
|
15
|
+
|
|
16
|
+
This is not about analyzing what was done.
|
|
17
|
+
It is about perceiving what must be.`;
|
|
18
|
+
|
|
19
|
+
console.log(titledBox('PHASE FOCUS', introText, {
|
|
20
|
+
borderColor: '#FF00FF',
|
|
21
|
+
}));
|
|
22
|
+
|
|
23
|
+
console.log();
|
|
24
|
+
console.log(colors.dim(' Relevant principles for this phase:'));
|
|
25
|
+
console.log();
|
|
26
|
+
|
|
27
|
+
for (const p of principles) {
|
|
28
|
+
console.log(principleBox(
|
|
29
|
+
p.number,
|
|
30
|
+
p.title,
|
|
31
|
+
`${colors.quote(`"${p.principle}"`)}\n\n${p.summary}`
|
|
32
|
+
));
|
|
33
|
+
console.log();
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
console.log(colors.secondary(symbol));
|
|
37
|
+
console.log();
|
|
38
|
+
|
|
39
|
+
console.log(colors.dim(' Contemplation prompts:'));
|
|
40
|
+
console.log(colors.secondary(' • What filter am I not seeing through?'));
|
|
41
|
+
console.log(colors.secondary(' • What do I believe that would make others uncomfortable?'));
|
|
42
|
+
console.log(colors.secondary(' • How is this work shaping who I\'m becoming?'));
|
|
43
|
+
console.log(colors.secondary(' • What future am I failing to perceive?'));
|
|
44
|
+
console.log(colors.secondary(' • What time horizon am I really optimizing for?'));
|
|
45
|
+
console.log();
|
|
46
|
+
|
|
47
|
+
console.log(colors.dim(' For deeper contemplation: ') + colors.accent('npx @pixelspace/mystyk --zen'));
|
|
48
|
+
console.log();
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export default reflect;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import colors from '../ui/colors.js';
|
|
2
|
+
import { principleBox } from '../ui/box.js';
|
|
3
|
+
import { getRandomPrinciple } from '../content/principles.js';
|
|
4
|
+
import { getAxiomByPrinciple } from '../content/axioms.js';
|
|
5
|
+
import { divider } from '../ui/ascii-art.js';
|
|
6
|
+
|
|
7
|
+
export async function oracle() {
|
|
8
|
+
const principle = getRandomPrinciple();
|
|
9
|
+
const axiom = getAxiomByPrinciple(principle.number);
|
|
10
|
+
|
|
11
|
+
console.log();
|
|
12
|
+
console.log(colors.dim(' The oracle speaks...'));
|
|
13
|
+
console.log();
|
|
14
|
+
|
|
15
|
+
console.log(principleBox(
|
|
16
|
+
principle.number,
|
|
17
|
+
principle.title,
|
|
18
|
+
`${colors.quote(`"${principle.principle}"`)}\n\n${principle.summary}`
|
|
19
|
+
));
|
|
20
|
+
|
|
21
|
+
if (axiom) {
|
|
22
|
+
console.log();
|
|
23
|
+
console.log(colors.dim(' In formal notation:'));
|
|
24
|
+
console.log(colors.cyan(` ${axiom.formula}`));
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
console.log();
|
|
28
|
+
console.log(colors.secondary(divider));
|
|
29
|
+
console.log();
|
|
30
|
+
console.log(colors.dim(' Consult again: ') + colors.accent('npx @pixelspace/mystyk --oracle'));
|
|
31
|
+
console.log(colors.dim(' Full principle: ') + colors.accent(`npx @pixelspace/mystyk --read`));
|
|
32
|
+
console.log();
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export default oracle;
|