helixevo 0.2.39 → 0.2.41

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.
@@ -225,10 +225,25 @@ export default function GuidePage() {
225
225
  <div className="guide-layout">
226
226
  {/* Sidebar TOC */}
227
227
  <nav className="guide-toc">
228
- <div className="guide-toc-header">
229
- <div className="guide-toc-title">Documentation</div>
228
+ <div className="guide-toc-header" style={{ alignItems: 'flex-start' }}>
229
+ <div>
230
+ <div className="guide-toc-title">Field Guide</div>
231
+ <div style={{ fontSize: 11, color: 'var(--text-muted)', marginTop: 4, lineHeight: 1.45 }}>
232
+ CLI, evolution, research, and network operations in one manual.
233
+ </div>
234
+ </div>
230
235
  <div className="guide-toc-version">v{VERSION}</div>
231
236
  </div>
237
+ <div style={{ padding: '14px 20px 12px', borderBottom: '1px solid var(--border)' }}>
238
+ <div style={{ fontSize: 10, fontWeight: 700, color: 'var(--text-muted)', letterSpacing: 0.6, textTransform: 'uppercase', marginBottom: 8 }}>
239
+ Recommended path
240
+ </div>
241
+ <div style={{ display: 'flex', gap: 6, flexWrap: 'wrap' }}>
242
+ <a href="#quickstart" className="hero-chip hero-chip-blue" style={{ textDecoration: 'none' }}>Quick Start</a>
243
+ <a href="#watch" className="hero-chip hero-chip-green" style={{ textDecoration: 'none' }}>Always-On</a>
244
+ <a href="#evolution" className="hero-chip hero-chip-purple" style={{ textDecoration: 'none' }}>Evolution</a>
245
+ </div>
246
+ </div>
232
247
  {TOC.map(item => (
233
248
  <a
234
249
  key={item.id}
@@ -253,6 +268,35 @@ export default function GuidePage() {
253
268
  Capture failures, evolve skills through multi-judge evaluation, and maintain
254
269
  a Pareto frontier of optimal configurations.
255
270
  </p>
271
+ <div className="hero-chip-row" style={{ marginTop: 18 }}>
272
+ <span className="hero-chip hero-chip-blue">v{VERSION}</span>
273
+ <span className="hero-chip hero-chip-purple">{TOC.length} sections</span>
274
+ <span className="hero-chip hero-chip-green">CLI + dashboard + network</span>
275
+ <span className="hero-chip hero-chip-yellow">operator reference</span>
276
+ </div>
277
+
278
+ <div className="grid-3" style={{ marginTop: 24, marginBottom: 24 }}>
279
+ <div className="card" style={{ padding: '18px 18px 16px' }}>
280
+ <div style={{ fontSize: 10, fontWeight: 700, color: 'var(--text-muted)', textTransform: 'uppercase', letterSpacing: 0.7, marginBottom: 8 }}>Start here</div>
281
+ <div style={{ fontSize: 15, fontWeight: 700, color: 'var(--text)', marginBottom: 6 }}>Quick Start → Watch → Evolve</div>
282
+ <div style={{ fontSize: 12.5, color: 'var(--text-dim)', lineHeight: 1.6 }}>If you are new, this path gets HelixEvo initialized, learning from corrections, and producing measurable skill improvements.</div>
283
+ </div>
284
+ <div className="card" style={{ padding: '18px 18px 16px' }}>
285
+ <div style={{ fontSize: 10, fontWeight: 700, color: 'var(--text-muted)', textTransform: 'uppercase', letterSpacing: 0.7, marginBottom: 8 }}>Core mental model</div>
286
+ <div style={{ fontSize: 15, fontWeight: 700, color: 'var(--text)', marginBottom: 6 }}>Capture failures, mutate skills, validate aggressively</div>
287
+ <div style={{ fontSize: 12.5, color: 'var(--text-dim)', lineHeight: 1.6 }}>The system only gets better when real corrections are fed into evaluation, regression testing, and monitored deployment.</div>
288
+ </div>
289
+ <div className="card" style={{ padding: '18px 18px 16px' }}>
290
+ <div style={{ fontSize: 10, fontWeight: 700, color: 'var(--text-muted)', textTransform: 'uppercase', letterSpacing: 0.7, marginBottom: 8 }}>Fast jumps</div>
291
+ <div style={{ display: 'flex', gap: 8, flexWrap: 'wrap' }}>
292
+ <a href="#quickstart" className="hero-chip hero-chip-blue" style={{ textDecoration: 'none' }}>Quick Start</a>
293
+ <a href="#commands" className="hero-chip hero-chip-purple" style={{ textDecoration: 'none' }}>Commands</a>
294
+ <a href="#architecture" className="hero-chip hero-chip-green" style={{ textDecoration: 'none' }}>Architecture</a>
295
+ <a href="#network" className="hero-chip hero-chip-yellow" style={{ textDecoration: 'none' }}>Skill Network</a>
296
+ </div>
297
+ </div>
298
+ </div>
299
+
256
300
  <div className="guide-hero-features">
257
301
  <FeatureCard icon="⚡" title="Always-On" desc="Auto-captures corrections and triggers evolution in real-time" />
258
302
  <FeatureCard icon="♺" title="Network Evolution" desc="Skills and projects co-evolve as an interconnected organism" />
@@ -406,8 +450,8 @@ helixevo status`}</Code>
406
450
  },
407
451
  {
408
452
  cmd: 'helixevo dashboard',
409
- desc: 'Open the interactive web dashboard at localhost:3847. Shows overview, skill network, evolution timeline, research, and frontier.',
410
- flags: [],
453
+ desc: 'Open the interactive web dashboard at localhost:3847. Before launch, HelixEvo checks npm for a newer version and auto-updates itself unless you opt out.',
454
+ flags: ['--background', '--stop', '--no-auto-update'],
411
455
  },
412
456
  {
413
457
  cmd: 'helixevo status',
@@ -3,91 +3,62 @@ import type { Metadata } from 'next'
3
3
  import Link from 'next/link'
4
4
  import { VERSION } from '../lib/version'
5
5
  import { UpdateBanner } from '../components/update-banner'
6
+ import { SidebarNav } from '../components/sidebar-nav'
6
7
 
7
8
  export const metadata: Metadata = {
8
9
  title: 'HelixEvo',
9
10
  description: 'HelixEvo — Self-evolving skill ecosystem for AI agents',
10
11
  }
11
12
 
12
- const NAV = [
13
- { href: '/', label: 'Overview', icon: 'M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-4 0a1 1 0 01-1-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 01-1 1' },
14
- { href: '/network', label: 'Skill Network', icon: 'M13.828 10.172a4 4 0 00-5.656 0l-4 4a4 4 0 105.656 5.656l1.102-1.101m-.758-4.899a4 4 0 005.656 0l4-4a4 4 0 00-5.656-5.656l-1.1 1.1' },
15
- { href: '/evolution', label: 'Evolution', icon: 'M13 7h8m0 0v8m0-8l-8 8-4-4-6 6' },
16
- { href: '/research', label: 'Research', icon: 'M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z' },
17
- { href: '/frontier', label: 'Frontier', icon: 'M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2a2 2 0 002-2zm0 0V9a2 2 0 012-2h2a2 2 0 012 2v10m-6 0a2 2 0 002 2h2a2 2 0 002-2m0 0V5a2 2 0 012-2h2a2 2 0 012 2v14a2 2 0 01-2 2h-2a2 2 0 01-2-2z' },
18
- { href: '/projects', label: 'Projects', icon: 'M3 7v10a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-6l-2-2H5a2 2 0 00-2 2z' },
19
- { href: '/commands', label: 'Commands', icon: 'M8 9l3 3-3 3m5 0h3M5 20h14a2 2 0 002-2V6a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z' },
20
- { href: '/guide', label: 'Guide', icon: 'M12 6.253v13m0-13C10.832 5.477 9.246 5 7.5 5S4.168 5.477 3 6.253v13C4.168 18.477 5.754 18 7.5 18s3.332.477 4.5 1.253m0-13C13.168 5.477 14.754 5 16.5 5c1.747 0 3.332.477 4.5 1.253v13C19.832 18.477 18.247 18 16.5 18c-1.746 0-3.332.477-4.5 1.253' },
21
- ]
22
-
23
- function NavIcon({ d }: { d: string }) {
24
- return (
25
- <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round">
26
- <path d={d} />
27
- </svg>
28
- )
29
- }
30
-
31
13
  export default function RootLayout({ children }: { children: React.ReactNode }) {
32
14
  return (
33
15
  <html lang="en">
34
16
  <body>
35
- <div style={{ display: 'flex', minHeight: '100vh' }}>
36
- {/* Sidebar */}
17
+ <div className="app-shell">
37
18
  <nav className="sidebar">
38
- {/* Logo */}
39
19
  <div className="sidebar-logo">
40
20
  <div className="logo-icon">
41
- <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
21
+ <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" aria-hidden="true">
42
22
  <circle cx="12" cy="12" r="3" />
43
23
  <path d="M12 2v4m0 12v4m-7.07-15.07l2.83 2.83m8.48 8.48l2.83 2.83M2 12h4m12 0h4M4.93 19.07l2.83-2.83m8.48-8.48l2.83-2.83" />
44
24
  </svg>
45
25
  </div>
46
- <div>
47
- <div style={{ fontSize: 15, fontWeight: 700, color: 'var(--text)', letterSpacing: -0.3 }}>HelixEvo</div>
48
- <div style={{ fontSize: 10, color: 'var(--text-muted)', letterSpacing: 0.3 }}>Co-evolving AI Skills</div>
26
+ <div className="sidebar-brand">
27
+ <div className="sidebar-title">HelixEvo</div>
28
+ <div className="sidebar-subtitle">Premium cockpit for evolving AI skills</div>
29
+ <div className="sidebar-meta">
30
+ <span className="sidebar-signal">
31
+ <span className="sidebar-signal-dot" />
32
+ Live system
33
+ </span>
34
+ <span className="hero-chip hero-chip-neutral">v{VERSION}</span>
35
+ </div>
49
36
  </div>
50
37
  </div>
51
38
 
52
- {/* Nav items */}
53
- <div style={{ padding: '16px 6px', flex: 1 }}>
54
- <div style={{ fontSize: 9, fontWeight: 600, color: 'var(--text-muted)', textTransform: 'uppercase', letterSpacing: 1.5, padding: '0 14px 10px' }}>
55
- Navigation
56
- </div>
57
- {NAV.map(n => (
58
- <Link key={n.href} href={n.href} className="nav-item">
59
- <NavIcon d={n.icon} />
60
- {n.label}
61
- </Link>
62
- ))}
39
+ <div className="sidebar-content">
40
+ <SidebarNav />
63
41
  </div>
64
42
 
65
- {/* Footer */}
66
- <div className="sidebar-footer" style={{ flexDirection: 'column', gap: 8 }}>
67
- <div style={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center', width: '100%' }}>
68
- <div style={{ display: 'flex', alignItems: 'center', gap: 6 }}>
69
- <div style={{ width: 6, height: 6, borderRadius: '50%', background: 'var(--green)' }} />
70
- <span>System Active</span>
43
+ <div className="sidebar-footer">
44
+ <div className="sidebar-footer-grid">
45
+ <div>
46
+ <div className="sidebar-footer-label">Status</div>
47
+ <div className="sidebar-footer-value">Tracking skills, failures, frontier, and experiments</div>
71
48
  </div>
72
- <code style={{ fontSize: 10, background: 'var(--bg-section)', padding: '2px 7px', borderRadius: 4, color: 'var(--text-dim)' }}>v{VERSION}</code>
49
+ <Link href="/changelog" className="sidebar-footer-link">
50
+ Release notes
51
+ <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" aria-hidden="true">
52
+ <path d="M7 17L17 7" />
53
+ <path d="M7 7h10v10" />
54
+ </svg>
55
+ </Link>
73
56
  </div>
74
- <Link href="/changelog" style={{
75
- textDecoration: 'none', display: 'flex', alignItems: 'center', gap: 5,
76
- fontSize: 10, color: 'var(--text-muted)', width: '100%',
77
- padding: '4px 0', transition: 'color 0.15s',
78
- }}>
79
- <svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
80
- <path d="M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z" />
81
- <path d="M14 2v6h6M16 13H8M16 17H8M10 9H8" />
82
- </svg>
83
- Changelog
84
- </Link>
85
57
  </div>
86
58
  </nav>
87
59
 
88
- {/* Main content */}
89
60
  <main className="main-content">
90
- {children}
61
+ <div className="main-content-inner">{children}</div>
91
62
  </main>
92
63
  </div>
93
64
  <UpdateBanner currentVersion={VERSION} />