tycono 0.1.96-beta.3 → 0.1.96-beta.4

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 CHANGED
@@ -33,6 +33,50 @@ One command. Your AI company is running.
33
33
  npx tycono
34
34
  ```
35
35
 
36
+ ## Core Pillars
37
+
38
+ ### 1. CEO Supervisor — Org-chart orchestration
39
+
40
+ You give one order. The system dispatches through a real hierarchy.
41
+
42
+ ```
43
+ dispatch → watch → relay → quality gate → re-dispatch (if needed)
44
+ ```
45
+
46
+ CEO delegates to C-levels, C-levels dispatch to their teams. Authority is enforced — engineers can't make CEO decisions, PMs can't merge code. The org chart isn't decoration, it's the execution engine.
47
+
48
+ ### 2. Observability — See everything, intervene anytime
49
+
50
+ Your AI team isn't a black box. Watch every agent work in real time, inject directives mid-execution, and drill down to any level.
51
+
52
+ - **Wave Center** — Org-tree dispatch with real-time streaming
53
+ - **Activity Stream** — Every event logged (dispatches, tool calls, decisions)
54
+ - **CEO Directive** — Change direction while agents are running
55
+ - **Cost Tracking** — Per-role, per-model token breakdown
56
+
57
+ ### 3. Isolation Infrastructure — Agents don't collide
58
+
59
+ Multiple agents working simultaneously without stepping on each other.
60
+
61
+ | Resource | Isolation | Status |
62
+ |----------|-----------|--------|
63
+ | **Code** | Git worktree per session | Designed |
64
+ | **Ports** | Dynamic port registry | ✅ Live |
65
+ | **Browser** | Separate daemon per session | ✅ Live |
66
+ | **Knowledge** | Shared reads, scoped writes | ✅ Live |
67
+
68
+ ### 4. AKB (Pre-K / Post-K) — Knowledge that compounds
69
+
70
+ Every AI tool today: `Plan → Execute → Done`. Knowledge resets. Tycono adds what the industry doesn't have:
71
+
72
+ ```
73
+ Pre-K: Read existing knowledge → Plan grounded in what the company knows
74
+ Execute: Do the work
75
+ Post-K: Extract insights → Cross-link → Register in knowledge graph
76
+ ```
77
+
78
+ Session 50 is dramatically smarter than session 1. Your company learns.
79
+
36
80
  ## Why Tycono?
37
81
 
38
82
  Coding agents simulate **one developer**. Tycono simulates **the entire company**.
@@ -40,11 +84,11 @@ Coding agents simulate **one developer**. Tycono simulates **the entire company*
40
84
  | | Single AI Agent | Tycono |
41
85
  |---|---|---|
42
86
  | **What it runs** | One agent, one context | Multiple roles with org hierarchy |
43
- | **Knowledge** | Resets every session | Compounds forever file-based, cross-linked |
87
+ | **Knowledge** | Resets every session | Compounds forever (AKB Pre-K/Post-K) |
44
88
  | **Authority** | Can do anything (or nothing) | Scoped — each role has clear boundaries |
45
89
  | **Delegation** | Manual prompt chaining | CEO dispatches, org chart routes automatically |
46
90
  | **Scale** | 1 agent | 7 → 700 agents |
47
- | **Visibility** | Terminal output | Isometric office + Slack-style Pro dashboard |
91
+ | **Visibility** | Terminal output | Real-time org tree + activity stream |
48
92
 
49
93
  ## Company-as-Code
50
94
 
@@ -80,33 +124,46 @@ A setup wizard guides you through:
80
124
  - Node.js >= 18
81
125
  - [Anthropic API key](https://console.anthropic.com/) or Claude Max subscription
82
126
 
83
- ## Two Ways to Work
127
+ ## Interfaces
84
128
 
85
- ### Office ViewWatch your AI team
129
+ ### Web DashboardVisual management
86
130
 
87
- An isometric pixel-art office where your AI agents sit at their desks, work, chat, and think. Click any agent to talk to them directly.
131
+ A browser-based dashboard for visual management. Org tree, Wave dispatch, Knowledge graph, Activity stream.
88
132
 
89
133
  <p align="center">
90
- <img src=".github/assets/hero-office.png" alt="Office View" width="640" />
134
+ <img src=".github/assets/hero-office.png" alt="Web Dashboard" width="640" />
91
135
  </p>
92
136
 
93
- - Pixel-art characters with personalities and levels
94
- - Ambient speech bubbles agents think out loud
95
- - Rooms: Leadership, Engineering, Meeting, Knowledge Library
96
- - Edit mode rearrange furniture, customize your office
137
+ - **Wave Center** — selective org-tree dispatch with target checkboxes
138
+ - **Chats** 1:1 conversations with any role, persistent sessions
139
+ - **Knowledge Base** graph/tree/list views, cross-linked documents
140
+ - **Decisions**CEO strategic decision log with full context
97
141
 
98
- ### Pro View Manage your AI company
142
+ ### TUITerminal-native operations *(coming soon)*
99
143
 
100
- A Slack-style professional dashboard for serious work. Chats, Wave dispatch, Decisions log, Knowledge graph.
144
+ For developers who live in the terminal. A k9s/lazygit-style multi-panel TUI built with [Ink](https://github.com/vadimdemedes/ink).
101
145
 
102
- <p align="center">
103
- <img src=".github/assets/pro-view.png" alt="Pro View" width="640" />
104
- </p>
146
+ ```
147
+ ┌──────────────────────────────────────────────────┐
148
+ │ TYCONO v0.2 │ Wave #37 running │ 3 active │$2.1│
149
+ ├──────────────┬───────────────────────────────────┤
150
+ │ [Org Tree] │ [Real-time Stream] │
151
+ │ CEO │ CTO: "Reviewing architecture..." │
152
+ │ ├ CTO ● │ → dispatch → Engineer │
153
+ │ │ ├ ENG ○ │ CBO: "Market analysis done" ✓ │
154
+ │ │ └ QA ○ │ │
155
+ │ └ CBO ● │ │
156
+ ├──────────────┴───────────────────────────────────┤
157
+ │ > wave "Write the Q1 strategy report" │
158
+ └──────────────────────────────────────────────────┘
159
+ ```
105
160
 
106
- - **Wave Center** — selective org-tree dispatch with target checkboxes
107
- - **Chats** 1:1 conversations with any role, persistent sessions
108
- - **Knowledge Base** graph/tree/list views, 194+ cross-linked documents
109
- - **Decisions** — CEO strategic decision log with full context
161
+ ```bash
162
+ npx tycono --tui # Terminal mode (coming soon)
163
+ npx tycono # Web dashboard (current)
164
+ ```
165
+
166
+ Same API server, same engine — just a different frontend. Use what fits your workflow.
110
167
 
111
168
  ## Key Features
112
169
 
@@ -130,10 +187,6 @@ Every task produces knowledge. Cross-linked Markdown documents that grow with ev
130
187
 
131
188
  Each role has scoped authority defined in `role.yaml`. Engineers can't make CEO decisions. PMs can't merge code. The org chart isn't decoration — it's enforcement.
132
189
 
133
- ### Level System
134
-
135
- Roles gain XP from completed work. Level up unlocks accessories and reflects experience. Your CTO at Lv.14 has seen things your new intern hasn't.
136
-
137
190
  ### Local-First, BYOK
138
191
 
139
192
  Everything runs on your machine. Your data never leaves. Bring your own Anthropic API key — no middleman, no telemetry, no tracking.
@@ -181,7 +234,8 @@ your-company/
181
234
  ## CLI Usage
182
235
 
183
236
  ```bash
184
- npx tycono # Start server + open dashboard
237
+ npx tycono # Start server + web dashboard
238
+ npx tycono --tui # Terminal UI (coming soon)
185
239
  npx tycono --help # Show help
186
240
  npx tycono --version # Show version
187
241
  ```
@@ -194,6 +248,17 @@ npx tycono --version # Show version
194
248
  | `PORT` | Server port | auto-detect |
195
249
  | `COMPANY_ROOT` | Company directory | current directory |
196
250
 
251
+ ## Roadmap
252
+
253
+ - [x] Web dashboard (Office + Pro views)
254
+ - [x] CEO Wave dispatch with org-tree targeting
255
+ - [x] AKB — Pre-K / Post-K knowledge loop
256
+ - [x] Port Registry for multi-agent isolation
257
+ - [ ] **TUI mode** — terminal-native multi-panel interface
258
+ - [ ] Git worktree isolation per agent session
259
+ - [ ] Desktop app (.dmg / .exe) — background execution, system notifications
260
+ - [ ] Multi-LLM support (OpenAI, local models)
261
+
197
262
  ## Built with Tycono
198
263
 
199
264
  This isn't a demo. Tycono's own landing page, documentation, and knowledge base were built by AI agents running inside Tycono. The PM wrote the PRD. The CTO reviewed architecture. The Designer created UX specs. The Engineer implemented every section.
package/bin/tycono.ts CHANGED
@@ -222,7 +222,19 @@ async function startServerForTui(): Promise<void> {
222
222
  server.listen(port, host, () => resolve());
223
223
  });
224
224
 
225
- console.log(` API server started on port ${port}`);
225
+ // Suppress API server logs in TUI mode — redirect to file
226
+ const logFile = path.resolve(process.env.COMPANY_ROOT || process.cwd(), '.tycono', 'server.log');
227
+ try { fs.mkdirSync(path.dirname(logFile), { recursive: true }); } catch {}
228
+ const logStream = fs.createWriteStream(logFile, { flags: 'a' });
229
+ const origLog = console.log;
230
+ const origErr = console.error;
231
+ const origWarn = console.warn;
232
+ console.log = (...args: unknown[]) => logStream.write(args.join(' ') + '\n');
233
+ console.error = (...args: unknown[]) => logStream.write('[ERROR] ' + args.join(' ') + '\n');
234
+ console.warn = (...args: unknown[]) => logStream.write('[WARN] ' + args.join(' ') + '\n');
235
+
236
+ origLog(` API server started on port ${port}`);
237
+ origLog(` Logs: ${logFile}`);
226
238
 
227
239
  // Graceful shutdown
228
240
  const shutdown = () => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tycono",
3
- "version": "0.1.96-beta.3",
3
+ "version": "0.1.96-beta.4",
4
4
  "description": "Build an AI company. Watch them work.",
5
5
  "type": "module",
6
6
  "bin": {
package/src/tui/api.ts CHANGED
@@ -161,7 +161,7 @@ export interface TeamTemplate {
161
161
  id: string;
162
162
  name: string;
163
163
  description: string;
164
- roles: string[];
164
+ roles: Array<string | { id: string; name: string; level?: string }>;
165
165
  }
166
166
 
167
167
  export interface ScaffoldResult {
@@ -76,11 +76,18 @@ export const SetupWizard: React.FC<SetupWizardProps> = ({ onComplete }) => {
76
76
  };
77
77
 
78
78
  const handleCodeDirSubmit = async (value: string) => {
79
- const dir = value.trim() || './code';
79
+ const path = await import('node:path');
80
+ const fs = await import('node:fs');
81
+ const dir = path.resolve(value.trim() || './code');
80
82
  setCodeDir(dir);
81
83
  setStep('creating');
82
84
 
83
85
  try {
86
+ // Ensure code directory exists
87
+ if (!fs.existsSync(dir)) {
88
+ fs.mkdirSync(dir, { recursive: true });
89
+ }
90
+
84
91
  const result = await postSetupScaffold(companyName, selectedTeam?.id ?? 'minimal');
85
92
  setResultPath(result.path ?? '');
86
93
  setResultRoles(result.rolesCreated ?? 0);
@@ -137,7 +144,7 @@ export const SetupWizard: React.FC<SetupWizardProps> = ({ onComplete }) => {
137
144
  {teams.length > 0 ? (
138
145
  <SelectInput
139
146
  items={teams.map((t) => ({
140
- label: `${t.id} ${t.description || t.roles.join(', ')}`,
147
+ label: `${t.id} ${t.roles.map(r => typeof r === 'string' ? r : r.name || r.id).join(', ')}`,
141
148
  value: t.id,
142
149
  }))}
143
150
  onSelect={handleTeamSelect}