@polderlabs/bizar 6.2.4 → 6.3.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/.claude/CLAUDE.md +15 -0
- package/.claude/agents/_shared/AGENT_BASELINE.md +168 -0
- package/.claude/agents/_shared/CLAUDE_TOOLS.md +412 -0
- package/.claude/agents/_shared/SKILLS.md +109 -0
- package/.claude/agents/agent-browser.md +80 -0
- package/.claude/agents/baldr.md +49 -0
- package/.claude/agents/forseti.md +51 -0
- package/.claude/agents/frigg.md +42 -0
- package/.claude/agents/heimdall.md +33 -0
- package/.claude/agents/hermod.md +53 -0
- package/.claude/agents/mimir.md +49 -0
- package/.claude/agents/odin.md +287 -0
- package/.claude/agents/quick.md +34 -0
- package/.claude/agents/semble-search.md +50 -0
- package/.claude/agents/thor.md +53 -0
- package/.claude/agents/tyr.md +56 -0
- package/.claude/agents/vidarr.md +54 -0
- package/.claude/agents/vor.md +53 -0
- package/.claude/commands/audit.md +25 -0
- package/.claude/commands/bizar.md +22 -0
- package/.claude/commands/explain.md +17 -0
- package/.claude/commands/init.md +29 -0
- package/.claude/commands/learn.md +44 -0
- package/.claude/commands/plan.md +35 -0
- package/.claude/commands/plow-through.md +50 -0
- package/.claude/commands/pr-review.md +49 -0
- package/.claude/commands/setup-provider.md +96 -0
- package/.claude/commands/tailscale-serve.md +100 -0
- package/.claude/commands/team.md +132 -0
- package/.claude/commands/test.md +62 -0
- package/.claude/commands/validate.md +68 -0
- package/.claude/commands/visual-plan.md +24 -0
- package/.claude/hooks/README.md +92 -0
- package/.claude/hooks/posttooluse-editwrite.mjs +91 -0
- package/.claude/hooks/pretooluse-bash.mjs +81 -0
- package/.claude/hooks/pretooluse-editwrite.mjs +139 -0
- package/.claude/hooks/sessionend-recall.mjs +74 -0
- package/.claude/hooks/sessionstart-prime.mjs +80 -0
- package/.claude/hooks/userpromptsubmit-tag.mjs +80 -0
- package/.claude/settings.json +116 -0
- package/.claude/skills/9router/SKILL.md +80 -0
- package/.claude/skills/9router-chat/SKILL.md +73 -0
- package/.claude/skills/9router-embeddings/SKILL.md +69 -0
- package/.claude/skills/9router-image/SKILL.md +86 -0
- package/.claude/skills/9router-stt/SKILL.md +79 -0
- package/.claude/skills/9router-tts/SKILL.md +80 -0
- package/.claude/skills/9router-web-fetch/SKILL.md +99 -0
- package/.claude/skills/9router-web-search/SKILL.md +91 -0
- package/.claude/skills/bizar/README.md +9 -0
- package/.claude/skills/bizar/SKILL.md +450 -0
- package/.claude/skills/cpp-coding-standards/README.md +28 -0
- package/.claude/skills/cpp-coding-standards/SKILL.md +634 -0
- package/.claude/skills/cpp-coding-standards/references/concurrency.md +320 -0
- package/.claude/skills/cpp-coding-standards/references/error-handling.md +229 -0
- package/.claude/skills/cpp-coding-standards/references/memory-safety.md +216 -0
- package/.claude/skills/cpp-coding-standards/references/modern-idioms.md +282 -0
- package/.claude/skills/cpp-coding-standards/references/review-checklist.md +96 -0
- package/.claude/skills/cpp-testing/README.md +28 -0
- package/.claude/skills/cpp-testing/SKILL.md +304 -0
- package/.claude/skills/cpp-testing/references/coverage.md +370 -0
- package/.claude/skills/cpp-testing/references/framework-compare.md +175 -0
- package/.claude/skills/cpp-testing/references/host-test-for-embedded.md +499 -0
- package/.claude/skills/cpp-testing/references/mocking.md +364 -0
- package/.claude/skills/cpp-testing/references/tdd-workflow.md +308 -0
- package/.claude/skills/cubesandbox/SKILL.md +148 -0
- package/.claude/skills/embedded-esp-idf/README.md +41 -0
- package/.claude/skills/embedded-esp-idf/SKILL.md +439 -0
- package/.claude/skills/embedded-esp-idf/references/freertos-patterns.md +214 -0
- package/.claude/skills/embedded-esp-idf/references/host-tests.md +164 -0
- package/.claude/skills/embedded-esp-idf/references/idf-py-commands.md +157 -0
- package/.claude/skills/embedded-esp-idf/references/kconfig.md +159 -0
- package/.claude/skills/embedded-esp-idf/references/logging-discipline.md +118 -0
- package/.claude/skills/embedded-esp-idf/references/memory-and-iram.md +137 -0
- package/.claude/skills/embedded-esp-idf/references/nvs.md +121 -0
- package/.claude/skills/embedded-esp-idf/references/packed-structs.md +192 -0
- package/.claude/skills/embedded-esp-idf/scripts/idf_env.sh +47 -0
- package/.claude/skills/embedded-esp-idf/scripts/size_check.sh +77 -0
- package/.claude/skills/glyph/SKILL.md +163 -0
- package/.claude/skills/harness-engineering/SKILL.md +143 -0
- package/.claude/skills/lightrag/SKILL.md +81 -0
- package/.claude/skills/memory-protocol/SKILL.md +105 -0
- package/.claude/skills/obsidian/SKILL.md +306 -0
- package/.claude/skills/read-the-damn-docs/SKILL.md +113 -0
- package/.claude/skills/self-improvement/SKILL.md +64 -0
- package/README.md +87 -59
- package/bizar-dash/dist/assets/{EnvVarsSection-DXM8gRm_.js → EnvVarsSection-B58aiJiE.js} +1 -1
- package/bizar-dash/dist/assets/{EnvVarsSection-DXM8gRm_.js.map → EnvVarsSection-B58aiJiE.js.map} +1 -1
- package/bizar-dash/dist/assets/{MobileChat-BnKN_Ks_.js → MobileChat-BJrqwVDd.js} +1 -1
- package/bizar-dash/dist/assets/{MobileChat-BnKN_Ks_.js.map → MobileChat-BJrqwVDd.js.map} +1 -1
- package/bizar-dash/dist/assets/{MobileSettings-DjCPxC-Q.js → MobileSettings-CEQNJNLJ.js} +1 -1
- package/bizar-dash/dist/assets/{MobileSettings-DjCPxC-Q.js.map → MobileSettings-CEQNJNLJ.js.map} +1 -1
- package/bizar-dash/dist/assets/{main-DYiZqMrn.js → main-IvfQAOfy.js} +1 -1
- package/bizar-dash/dist/assets/{main-DYiZqMrn.js.map → main-IvfQAOfy.js.map} +1 -1
- package/bizar-dash/dist/assets/{markdown-C6mXtQxD.js → markdown-tOLaD6nm.js} +1 -1
- package/bizar-dash/dist/assets/{markdown-C6mXtQxD.js.map → markdown-tOLaD6nm.js.map} +1 -1
- package/bizar-dash/dist/assets/{mobile-CMHqtLV2.js → mobile-DYCHcUpq.js} +1 -1
- package/bizar-dash/dist/assets/{mobile-CMHqtLV2.js.map → mobile-DYCHcUpq.js.map} +1 -1
- package/bizar-dash/dist/assets/{mobile-layout-3jIhHX_p.js → mobile-layout-CBHjpwsb.js} +2 -2
- package/bizar-dash/dist/assets/{mobile-layout-3jIhHX_p.js.map → mobile-layout-CBHjpwsb.js.map} +1 -1
- package/bizar-dash/dist/assets/{useSlashCommands-DtITw8Xv.js → useSlashCommands-Bd7_FA6U.js} +2 -2
- package/bizar-dash/dist/assets/{useSlashCommands-DtITw8Xv.js.map → useSlashCommands-Bd7_FA6U.js.map} +1 -1
- package/bizar-dash/dist/assets/{vendor-CeHGtduv.js → vendor-C843201K.js} +12 -12
- package/bizar-dash/dist/assets/vendor-C843201K.js.map +1 -0
- package/bizar-dash/dist/index.html +6 -6
- package/bizar-dash/dist/mobile.html +2 -2
- package/bizar-dash/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -1
- package/bizar-dash/src/server/api.mjs +4 -4
- package/bizar-dash/src/server/background-store.mjs +15 -16
- package/bizar-dash/src/server/bg-poller.mjs +25 -35
- package/bizar-dash/src/server/bg-retry.mjs +66 -194
- package/bizar-dash/src/server/claude-bg-spawner.mjs +390 -0
- package/bizar-dash/src/server/claude-info.mjs +412 -0
- package/bizar-dash/src/server/{cline-runner.mjs → claude-runner.mjs} +53 -48
- package/bizar-dash/src/server/claude-sdk.mjs +191 -0
- package/bizar-dash/src/server/providers-store.mjs +22 -49
- package/bizar-dash/src/server/routes/background.mjs +24 -20
- package/bizar-dash/src/server/routes/chat.mjs +223 -326
- package/bizar-dash/src/server/routes/claude-session-detail.mjs +329 -0
- package/bizar-dash/src/server/routes/claude-sessions.mjs +259 -0
- package/bizar-dash/src/server/routes/tasks.mjs +20 -28
- package/bizar-dash/src/server/task-delegator.mjs +76 -77
- package/bizar-dash/src/web/components/chat/useChat.ts +23 -27
- package/bizar-dash/src/web/views/Chat.tsx +8 -8
- package/cli/bin.mjs +31 -18
- package/cli/commands/claude-cmd.mjs +348 -0
- package/cli/commands/install.mjs +12 -11
- package/cli/commands/sandbox.mjs +220 -0
- package/cli/commands/validate.mjs +252 -288
- package/cli/dev-link.test.mjs +11 -11
- package/cli/doctor.mjs +131 -213
- package/cli/install.mjs +33 -37
- package/cli/install.test.mjs +9 -9
- package/cli/provision-claude.mjs +893 -0
- package/cli/provision.mjs +330 -226
- package/cli/provision.test.mjs +102 -0
- package/cli/utils.mjs +72 -58
- package/config/AGENTS.md +28 -28
- package/config/agents/_shared/AGENT_BASELINE.md +104 -684
- package/config/skills/bizar/SKILL.md +197 -0
- package/config/skills/cubesandbox/SKILL.md +148 -0
- package/config/skills/harness-engineering/SKILL.md +142 -0
- package/install.sh +66 -44
- package/package.json +19 -11
- package/packages/sdk/ARCHITECTURE.md +40 -36
- package/packages/sdk/package-lock.json +32 -0
- package/packages/sdk/package.json +15 -5
- package/{plugins/bizar → packages/sdk}/src/dangerous-patterns.ts +6 -28
- package/packages/sdk/src/fingerprint.ts +0 -0
- package/packages/sdk/src/index.ts +38 -73
- package/packages/sdk/src/mcp/bin.ts +51 -0
- package/packages/sdk/src/mcp/server.ts +498 -0
- package/{plugins/bizar/src/memory-vault.ts → packages/sdk/src/memory/index.ts} +18 -21
- package/packages/sdk/tests/sdk.test.mjs +148 -0
- package/packages/sdk/vitest.config.ts +1 -1
- package/scripts/bh-full-e2e.mjs +166 -363
- package/scripts/check-deps.mjs +28 -46
- package/scripts/mirror-claude-md.sh +78 -0
- package/scripts/test-in-container.sh +157 -0
- package/templates/clean-state-checklist.md +3 -3
- package/templates/sprint-contract.md +2 -2
- package/bizar-dash/.bizar/activity.log +0 -3
- package/bizar-dash/.omx/logs/omx-2026-07-07.jsonl +0 -1
- package/bizar-dash/.omx/state/session.json +0 -10
- package/bizar-dash/bizar-design/EXPLANATION.md +0 -307
- package/bizar-dash/bizar-design/INSTRUCTIONS.md +0 -149
- package/bizar-dash/bizar-design/canvas.html +0 -281
- package/bizar-dash/bizar-design/canvas.html.artifact.json +0 -19
- package/bizar-dash/bizar-design/components.css +0 -1665
- package/bizar-dash/bizar-design/components.html +0 -557
- package/bizar-dash/bizar-design/components.html.artifact.json +0 -19
- package/bizar-dash/bizar-design/desktop/agents.html +0 -74
- package/bizar-dash/bizar-design/desktop/agents.html.artifact.json +0 -19
- package/bizar-dash/bizar-design/desktop/memory.html +0 -75
- package/bizar-dash/bizar-design/desktop/memory.html.artifact.json +0 -19
- package/bizar-dash/bizar-design/desktop/metrics.html +0 -63
- package/bizar-dash/bizar-design/desktop/metrics.html.artifact.json +0 -19
- package/bizar-dash/bizar-design/desktop/overview.html +0 -95
- package/bizar-dash/bizar-design/desktop/overview.html.artifact.json +0 -19
- package/bizar-dash/bizar-design/desktop/settings.html +0 -70
- package/bizar-dash/bizar-design/desktop/settings.html.artifact.json +0 -19
- package/bizar-dash/bizar-design/icons.svg +0 -44
- package/bizar-dash/bizar-design/index.html +0 -192
- package/bizar-dash/bizar-design/index.html.artifact.json +0 -19
- package/bizar-dash/bizar-design/mobile/agents.html +0 -29
- package/bizar-dash/bizar-design/mobile/agents.html.artifact.json +0 -19
- package/bizar-dash/bizar-design/mobile/memory.html +0 -28
- package/bizar-dash/bizar-design/mobile/memory.html.artifact.json +0 -19
- package/bizar-dash/bizar-design/mobile/metrics.html +0 -29
- package/bizar-dash/bizar-design/mobile/metrics.html.artifact.json +0 -19
- package/bizar-dash/bizar-design/mobile/overview.html +0 -33
- package/bizar-dash/bizar-design/mobile/overview.html.artifact.json +0 -19
- package/bizar-dash/bizar-design/mobile/settings.html +0 -28
- package/bizar-dash/bizar-design/mobile/settings.html.artifact.json +0 -19
- package/bizar-dash/bizar-design/prototype.js +0 -114
- package/bizar-dash/bizar-design/tokens.css +0 -106
- package/bizar-dash/dist/assets/vendor-CeHGtduv.js.map +0 -1
- package/bizar-dash/node_modules/.package-lock.json +0 -6
- package/bizar-dash/package-lock.json +0 -6
- package/bizar-dash/src/server/cline-sdk.mjs +0 -132
- package/bizar-dash/src/server/routes/cline-session-detail.mjs +0 -559
- package/bizar-dash/src/server/routes/cline-sessions.mjs +0 -291
- package/cli/commands/cline-cmd.mjs +0 -289
- package/cli/commands/validate.test.mjs +0 -344
- package/cli/doctor.test.mjs +0 -350
- package/config/cline.json.template +0 -342
- package/packages/sdk/src/client.ts +0 -188
- package/packages/sdk/src/cline-events.ts +0 -134
- package/packages/sdk/src/cline-types.ts +0 -66
- package/packages/sdk/src/cline.ts +0 -339
- package/packages/sdk/src/errors.ts +0 -129
- package/packages/sdk/src/events.ts +0 -153
- package/packages/sdk/src/types.ts +0 -176
- package/packages/sdk/tests/client.test.ts +0 -217
- package/packages/sdk/tests/errors.test.ts +0 -108
- package/packages/sdk/tests/events.test.ts +0 -139
- package/packages/sdk/tests/fixtures/fetch-mock.ts +0 -152
- package/packages/sdk/tests/fixtures/sse-mock.ts +0 -30
- package/plugins/bizar/ARCHITECTURE.md +0 -142
- package/plugins/bizar/CONSTRAINTS.md +0 -67
- package/plugins/bizar/LICENSE +0 -21
- package/plugins/bizar/README.md +0 -448
- package/plugins/bizar/index.ts +0 -872
- package/plugins/bizar/package.json +0 -39
- package/plugins/bizar/scripts/check-forbidden-imports.sh +0 -33
- package/plugins/bizar/src/background-state.ts +0 -641
- package/plugins/bizar/src/background.ts +0 -1806
- package/plugins/bizar/src/cline-runner.ts +0 -203
- package/plugins/bizar/src/clineruntime.ts +0 -227
- package/plugins/bizar/src/commands-impl.ts +0 -151
- package/plugins/bizar/src/commands.ts +0 -1799
- package/plugins/bizar/src/compaction.d.mts +0 -48
- package/plugins/bizar/src/compaction.mjs +0 -192
- package/plugins/bizar/src/dashboard-client.ts +0 -233
- package/plugins/bizar/src/event-stream.ts +0 -606
- package/plugins/bizar/src/fingerprint.ts +0 -120
- package/plugins/bizar/src/handoff.ts +0 -79
- package/plugins/bizar/src/hooks/memory-flush-on-compact.ts +0 -123
- package/plugins/bizar/src/hooks/memory-inject.ts +0 -247
- package/plugins/bizar/src/hooks/memory-write-on-end.ts +0 -188
- package/plugins/bizar/src/hooks/skill-curator.ts +0 -180
- package/plugins/bizar/src/http-client.ts +0 -467
- package/plugins/bizar/src/key-rotation.ts +0 -218
- package/plugins/bizar/src/logger.ts +0 -144
- package/plugins/bizar/src/loop-engineering.ts +0 -241
- package/plugins/bizar/src/loop.ts +0 -176
- package/plugins/bizar/src/mistake-recovery.ts +0 -98
- package/plugins/bizar/src/odin.ts +0 -227
- package/plugins/bizar/src/options.ts +0 -470
- package/plugins/bizar/src/plan-fs.ts +0 -323
- package/plugins/bizar/src/reasoning-clean.ts +0 -454
- package/plugins/bizar/src/report.ts +0 -178
- package/plugins/bizar/src/research-prompt.ts +0 -35
- package/plugins/bizar/src/serve-info.ts +0 -228
- package/plugins/bizar/src/serve.ts +0 -496
- package/plugins/bizar/src/settings.ts +0 -349
- package/plugins/bizar/src/state.ts +0 -298
- package/plugins/bizar/src/tool-discipline.ts +0 -105
- package/plugins/bizar/src/tools/agent-browser.ts +0 -315
- package/plugins/bizar/src/tools/bg-collect.ts +0 -131
- package/plugins/bizar/src/tools/bg-get-comments.ts +0 -266
- package/plugins/bizar/src/tools/bg-kill.ts +0 -116
- package/plugins/bizar/src/tools/bg-pause.ts +0 -99
- package/plugins/bizar/src/tools/bg-report-progress.ts +0 -115
- package/plugins/bizar/src/tools/bg-resume.ts +0 -94
- package/plugins/bizar/src/tools/bg-send-message.ts +0 -223
- package/plugins/bizar/src/tools/bg-spawn.ts +0 -502
- package/plugins/bizar/src/tools/bg-status.ts +0 -130
- package/plugins/bizar/src/tools/graph-query.ts +0 -278
- package/plugins/bizar/src/tools/loop-engineering.ts +0 -193
- package/plugins/bizar/src/tools/memory-list.ts +0 -43
- package/plugins/bizar/src/tools/memory-read.ts +0 -69
- package/plugins/bizar/src/tools/memory-search.ts +0 -47
- package/plugins/bizar/src/tools/memory-write.ts +0 -54
- package/plugins/bizar/src/tools/open-kb.ts +0 -198
- package/plugins/bizar/src/tools/plan-action.ts +0 -785
- package/plugins/bizar/src/tools/read-glyph-feedback.ts +0 -191
- package/plugins/bizar/src/tools/team-spawn.ts +0 -73
- package/plugins/bizar/src/tools/team-status.ts +0 -76
- package/plugins/bizar/src/tools/wait-for-feedback.ts +0 -415
- package/plugins/bizar/src/trajectory.ts +0 -104
- package/plugins/bizar/tests/README.md +0 -99
- package/plugins/bizar/tests/attach-handler-bug.test.ts +0 -169
- package/plugins/bizar/tests/background-state.test.ts +0 -277
- package/plugins/bizar/tests/background.test.ts +0 -402
- package/plugins/bizar/tests/block.test.ts +0 -195
- package/plugins/bizar/tests/canonical-key-order.test.ts +0 -75
- package/plugins/bizar/tests/clineruntime-config.test.ts +0 -283
- package/plugins/bizar/tests/commands-impl.test.ts +0 -316
- package/plugins/bizar/tests/commands.test.ts +0 -584
- package/plugins/bizar/tests/compaction.test.ts +0 -264
- package/plugins/bizar/tests/config.test.ts +0 -128
- package/plugins/bizar/tests/dashboard-client.test.ts +0 -159
- package/plugins/bizar/tests/dispose.test.ts +0 -336
- package/plugins/bizar/tests/event-stream.test.ts +0 -409
- package/plugins/bizar/tests/event.test.ts +0 -262
- package/plugins/bizar/tests/fingerprint.test.ts +0 -162
- package/plugins/bizar/tests/http-client.test.ts +0 -404
- package/plugins/bizar/tests/init-helpers.test.ts +0 -203
- package/plugins/bizar/tests/integration/slash-command.test.ts +0 -349
- package/plugins/bizar/tests/integration/tool-routing.test.ts +0 -98
- package/plugins/bizar/tests/key-rotation.test.ts +0 -396
- package/plugins/bizar/tests/loop-engineering.test.ts +0 -168
- package/plugins/bizar/tests/loop.test.ts +0 -397
- package/plugins/bizar/tests/memory-write-on-end.test.ts +0 -92
- package/plugins/bizar/tests/mistake-recovery.test.ts +0 -116
- package/plugins/bizar/tests/odin.test.ts +0 -125
- package/plugins/bizar/tests/options.test.ts +0 -329
- package/plugins/bizar/tests/reasoning-clean.test.ts +0 -422
- package/plugins/bizar/tests/safety.test.ts +0 -256
- package/plugins/bizar/tests/serve.test.ts +0 -339
- package/plugins/bizar/tests/settings.test.ts +0 -351
- package/plugins/bizar/tests/stall-think.test.ts +0 -750
- package/plugins/bizar/tests/state.test.ts +0 -276
- package/plugins/bizar/tests/tool-discipline.test.ts +0 -77
- package/plugins/bizar/tests/tools/agent-browser.test.ts +0 -98
- package/plugins/bizar/tests/tools/bg-collect.test.ts +0 -337
- package/plugins/bizar/tests/tools/bg-get-comments.test.ts +0 -485
- package/plugins/bizar/tests/tools/bg-kill.test.ts +0 -235
- package/plugins/bizar/tests/tools/bg-pause.test.ts +0 -61
- package/plugins/bizar/tests/tools/bg-report-progress.test.ts +0 -79
- package/plugins/bizar/tests/tools/bg-resume.test.ts +0 -40
- package/plugins/bizar/tests/tools/bg-send-message.test.ts +0 -116
- package/plugins/bizar/tests/tools/bg-spawn-delegation.test.ts +0 -147
- package/plugins/bizar/tests/tools/bg-spawn-http.test.ts +0 -233
- package/plugins/bizar/tests/tools/bg-spawn.test.ts +0 -311
- package/plugins/bizar/tests/tools/bg-status.test.ts +0 -217
- package/plugins/bizar/tests/tools/cline-runner.test.ts +0 -115
- package/plugins/bizar/tests/tools/plan-action.test.ts +0 -599
- package/plugins/bizar/tests/tools/read-glyph-feedback.test.ts +0 -253
- package/plugins/bizar/tests/tools/wait-for-feedback.test.ts +0 -390
- package/plugins/bizar/tests/update-deadlock.test.ts +0 -151
- package/plugins/bizar/tsconfig.json +0 -29
|
@@ -1,307 +0,0 @@
|
|
|
1
|
-
# How To Use This Mockup To Build The Real UI
|
|
2
|
-
|
|
3
|
-
This file explains how to turn the `bizar-design/` mockup package into the actual dashboard UI in `src/web/`.
|
|
4
|
-
|
|
5
|
-
It is not a second design system. The design system already lives in:
|
|
6
|
-
|
|
7
|
-
- `bizar-design/tokens.css`
|
|
8
|
-
- `bizar-design/components.css`
|
|
9
|
-
- `bizar-design/components.html`
|
|
10
|
-
- `bizar-design/INSTRUCTIONS.md`
|
|
11
|
-
|
|
12
|
-
This document explains how to **apply** that system during implementation.
|
|
13
|
-
|
|
14
|
-
## What this package is for
|
|
15
|
-
|
|
16
|
-
The mockup package does three jobs:
|
|
17
|
-
|
|
18
|
-
1. It defines the **visual language**.
|
|
19
|
-
2. It defines the **component contracts**.
|
|
20
|
-
3. It defines the **screen structure and interaction behavior**.
|
|
21
|
-
|
|
22
|
-
When building the real UI, do not treat these HTML files as disposable inspiration. Treat them as:
|
|
23
|
-
|
|
24
|
-
- visual reference
|
|
25
|
-
- naming reference
|
|
26
|
-
- spacing and hierarchy reference
|
|
27
|
-
- behavior reference
|
|
28
|
-
- screen composition reference
|
|
29
|
-
|
|
30
|
-
## What maps to what
|
|
31
|
-
|
|
32
|
-
Use this mapping when implementing.
|
|
33
|
-
|
|
34
|
-
### Foundations
|
|
35
|
-
|
|
36
|
-
- `bizar-design/tokens.css`
|
|
37
|
-
- Maps to theme tokens in `src/web/styles/main.css`
|
|
38
|
-
- Source of truth for colors, spacing, radii, shadows, typography, and motion
|
|
39
|
-
|
|
40
|
-
- `bizar-design/icons.svg`
|
|
41
|
-
- Maps to the icon set and sizing rules in the real app
|
|
42
|
-
- If using Lucide in React, match the same visual weight, size, and density
|
|
43
|
-
|
|
44
|
-
- `bizar-design/components.css`
|
|
45
|
-
- Maps to reusable UI primitives in the real app
|
|
46
|
-
- Use it to derive component-level CSS classes or component APIs
|
|
47
|
-
|
|
48
|
-
### Screen references
|
|
49
|
-
|
|
50
|
-
- `bizar-design/desktop/overview.html`
|
|
51
|
-
- Maps to `src/web/views/Overview.tsx`
|
|
52
|
-
|
|
53
|
-
- `bizar-design/desktop/agents.html`
|
|
54
|
-
- Maps to `src/web/views/Agents.tsx`
|
|
55
|
-
|
|
56
|
-
- `bizar-design/desktop/memory.html`
|
|
57
|
-
- Maps to `src/web/views/Memory.tsx`
|
|
58
|
-
|
|
59
|
-
- `bizar-design/desktop/settings.html`
|
|
60
|
-
- Maps to `src/web/views/Settings.tsx`
|
|
61
|
-
|
|
62
|
-
- `bizar-design/desktop/metrics.html`
|
|
63
|
-
- Maps to `src/web/views/MiniMaxUsage.tsx`
|
|
64
|
-
|
|
65
|
-
- `bizar-design/mobile/*.html`
|
|
66
|
-
- Map to `src/web/mobile/` views and components
|
|
67
|
-
|
|
68
|
-
### System references
|
|
69
|
-
|
|
70
|
-
- `bizar-design/canvas.html`
|
|
71
|
-
- Use this as the whole-product reference
|
|
72
|
-
- It shows how the system should feel when the pieces work together
|
|
73
|
-
|
|
74
|
-
- `bizar-design/components.html`
|
|
75
|
-
- Use this as the detailed implementation catalog
|
|
76
|
-
- If you need a component or state, check here first
|
|
77
|
-
|
|
78
|
-
## Correct implementation workflow
|
|
79
|
-
|
|
80
|
-
Build the real UI in this order:
|
|
81
|
-
|
|
82
|
-
1. **Read the target screen HTML**
|
|
83
|
-
- Start with the matching desktop or mobile screen file.
|
|
84
|
-
- Understand the layout, information priority, and module list.
|
|
85
|
-
|
|
86
|
-
2. **Identify the reusable primitives**
|
|
87
|
-
- Find the corresponding pieces in `components.html`.
|
|
88
|
-
- Example: stat card, row list, sidebar item, settings block, info panel, timeline entry.
|
|
89
|
-
|
|
90
|
-
3. **Implement primitives before screens**
|
|
91
|
-
- Do not build a whole screen by hardcoding layout-specific UI first.
|
|
92
|
-
- First create or update shared building blocks.
|
|
93
|
-
|
|
94
|
-
4. **Bind to real data**
|
|
95
|
-
- Once the visual structure exists, connect it to the real view data in `src/web/views/` and `src/web/lib/types.ts`.
|
|
96
|
-
|
|
97
|
-
5. **Apply interaction rules**
|
|
98
|
-
- Use `INSTRUCTIONS.md` and `components.html` for hover, focus, scroll, loading, empty, error, drag, and selection behavior.
|
|
99
|
-
|
|
100
|
-
6. **Re-check against the mockup**
|
|
101
|
-
- Compare the implemented view to the target screen and the full canvas.
|
|
102
|
-
|
|
103
|
-
## What not to do
|
|
104
|
-
|
|
105
|
-
Avoid these mistakes:
|
|
106
|
-
|
|
107
|
-
- Do not copy-paste mockup HTML directly into production and call it done.
|
|
108
|
-
- Do not implement one-off CSS in a view when a shared primitive should exist.
|
|
109
|
-
- Do not invent new spacing, border, or radius patterns per screen.
|
|
110
|
-
- Do not shrink desktop layouts into mobile layouts.
|
|
111
|
-
- Do not add decorative UI that is not in the system.
|
|
112
|
-
- Do not let view code define its own interaction language separately from the design package.
|
|
113
|
-
|
|
114
|
-
## How to read each file
|
|
115
|
-
|
|
116
|
-
### `index.html`
|
|
117
|
-
|
|
118
|
-
Use this as the package entry point.
|
|
119
|
-
|
|
120
|
-
It tells you:
|
|
121
|
-
|
|
122
|
-
- what references exist
|
|
123
|
-
- where to start
|
|
124
|
-
- which screen sets are available
|
|
125
|
-
|
|
126
|
-
### `canvas.html`
|
|
127
|
-
|
|
128
|
-
Use this to understand:
|
|
129
|
-
|
|
130
|
-
- overall product posture
|
|
131
|
-
- shell density
|
|
132
|
-
- how different dashboard modules relate to each other
|
|
133
|
-
- how the system should feel at a high level
|
|
134
|
-
|
|
135
|
-
This is especially useful when a single view starts looking correct on its own but wrong in the larger system.
|
|
136
|
-
|
|
137
|
-
### `components.html`
|
|
138
|
-
|
|
139
|
-
Use this when:
|
|
140
|
-
|
|
141
|
-
- you need to build a reusable component
|
|
142
|
-
- you need a state variant
|
|
143
|
-
- you need theming guidance
|
|
144
|
-
- you need behavior guidance
|
|
145
|
-
|
|
146
|
-
This should be the first stop before adding a new shared UI pattern.
|
|
147
|
-
|
|
148
|
-
### `desktop/*.html`
|
|
149
|
-
|
|
150
|
-
Use these as implementation contracts for desktop views.
|
|
151
|
-
|
|
152
|
-
They define:
|
|
153
|
-
|
|
154
|
-
- screen structure
|
|
155
|
-
- layout regions
|
|
156
|
-
- module ordering
|
|
157
|
-
- density
|
|
158
|
-
- navigation expectations
|
|
159
|
-
|
|
160
|
-
### `mobile/*.html`
|
|
161
|
-
|
|
162
|
-
Use these as implementation contracts for mobile views.
|
|
163
|
-
|
|
164
|
-
They define:
|
|
165
|
-
|
|
166
|
-
- what survives from desktop
|
|
167
|
-
- what must stack or collapse
|
|
168
|
-
- what gets simplified
|
|
169
|
-
- how hierarchy changes on small screens
|
|
170
|
-
|
|
171
|
-
## How to convert mockup patterns into real React components
|
|
172
|
-
|
|
173
|
-
The safest pattern is:
|
|
174
|
-
|
|
175
|
-
1. Find the repeated pattern in the mockup.
|
|
176
|
-
2. Name it as a product primitive.
|
|
177
|
-
3. Implement it as a reusable component.
|
|
178
|
-
4. Move styling to shared styles.
|
|
179
|
-
5. Reuse it across views.
|
|
180
|
-
|
|
181
|
-
Examples:
|
|
182
|
-
|
|
183
|
-
- Sidebar item
|
|
184
|
-
- mockup source: shell + components library
|
|
185
|
-
- real target: `Sidebar.tsx` plus shared sidebar styles
|
|
186
|
-
|
|
187
|
-
- Metric card
|
|
188
|
-
- mockup source: overview + metrics screen
|
|
189
|
-
- real target: reusable stat/metric component
|
|
190
|
-
|
|
191
|
-
- Activity row
|
|
192
|
-
- mockup source: overview timeline, approvals, background agents
|
|
193
|
-
- real target: shared row component with variant props
|
|
194
|
-
|
|
195
|
-
- Settings block
|
|
196
|
-
- mockup source: settings screen + components library
|
|
197
|
-
- real target: reusable section wrapper used across settings subsections
|
|
198
|
-
|
|
199
|
-
- Chat rail row / thread / info panel
|
|
200
|
-
- mockup source: chat composition section in `components.html`
|
|
201
|
-
- real target: shared chat module components under `src/web/components/chat/`
|
|
202
|
-
|
|
203
|
-
## How to decide whether something belongs in shared code
|
|
204
|
-
|
|
205
|
-
Put a pattern in shared code when at least one of these is true:
|
|
206
|
-
|
|
207
|
-
- it appears on more than one screen
|
|
208
|
-
- it has multiple states
|
|
209
|
-
- it defines spacing or hierarchy others will copy
|
|
210
|
-
- it is part of the shell or navigation
|
|
211
|
-
- it is likely to need consistent behavior later
|
|
212
|
-
|
|
213
|
-
If a piece is likely reusable, make it reusable early.
|
|
214
|
-
|
|
215
|
-
## How to use the theming system
|
|
216
|
-
|
|
217
|
-
Use the mockup tokens directly as the target vocabulary.
|
|
218
|
-
|
|
219
|
-
That means:
|
|
220
|
-
|
|
221
|
-
- `--bg`, `--bg-elev`, `--bg-elev-2`, `--bg-elev-3`
|
|
222
|
-
- `--border`, `--border-strong`
|
|
223
|
-
- `--text-strong`, `--text`, `--text-dim`
|
|
224
|
-
- `--accent`
|
|
225
|
-
- `--success`, `--warning`, `--error`, `--info`
|
|
226
|
-
|
|
227
|
-
Do not create alternate naming systems in the real UI unless they map cleanly back to these tokens.
|
|
228
|
-
|
|
229
|
-
## How to use behavior rules during implementation
|
|
230
|
-
|
|
231
|
-
The behavior rules matter as much as visuals.
|
|
232
|
-
|
|
233
|
-
Check these during development:
|
|
234
|
-
|
|
235
|
-
### Scrolling
|
|
236
|
-
|
|
237
|
-
- Does the correct region scroll?
|
|
238
|
-
- Are headers or section rails preserved when needed?
|
|
239
|
-
- Is there accidental horizontal overflow?
|
|
240
|
-
|
|
241
|
-
### Hover
|
|
242
|
-
|
|
243
|
-
- Does hover clarify affordance without causing visual noise?
|
|
244
|
-
- Are important actions still visible without hover?
|
|
245
|
-
|
|
246
|
-
### Focus
|
|
247
|
-
|
|
248
|
-
- Can keyboard users understand where they are?
|
|
249
|
-
- Does focus look like part of the system?
|
|
250
|
-
|
|
251
|
-
### Click / selection
|
|
252
|
-
|
|
253
|
-
- Is the primary action obvious?
|
|
254
|
-
- Is selected state distinct from hover state?
|
|
255
|
-
|
|
256
|
-
### Drag / reorder
|
|
257
|
-
|
|
258
|
-
- Are drag targets visually clear?
|
|
259
|
-
- Is there a visible drop state?
|
|
260
|
-
|
|
261
|
-
### Loading / empty / error
|
|
262
|
-
|
|
263
|
-
- Does the view preserve structure while state changes?
|
|
264
|
-
- Does the user know what to do next?
|
|
265
|
-
|
|
266
|
-
## Suggested implementation order for this repo
|
|
267
|
-
|
|
268
|
-
If you are rebuilding the current dashboard from the package, the safest order is:
|
|
269
|
-
|
|
270
|
-
1. Theme tokens in shared styles
|
|
271
|
-
2. Topbar and expandable sidebar
|
|
272
|
-
3. Shared primitives:
|
|
273
|
-
- buttons
|
|
274
|
-
- pills
|
|
275
|
-
- cards
|
|
276
|
-
- rows
|
|
277
|
-
- fields
|
|
278
|
-
- tables
|
|
279
|
-
4. Overview
|
|
280
|
-
5. Agents
|
|
281
|
-
6. Memory
|
|
282
|
-
7. Settings
|
|
283
|
-
8. Metrics
|
|
284
|
-
9. Mobile equivalents
|
|
285
|
-
10. Polish pass across all screens together
|
|
286
|
-
|
|
287
|
-
## Definition of “done” for an implemented screen
|
|
288
|
-
|
|
289
|
-
A screen is only done when:
|
|
290
|
-
|
|
291
|
-
- it matches the target mockup structurally
|
|
292
|
-
- it uses shared primitives instead of ad hoc local ones
|
|
293
|
-
- it uses the shared token language
|
|
294
|
-
- it follows the interaction rules
|
|
295
|
-
- it works with real data
|
|
296
|
-
- it still looks consistent next to the other implemented screens
|
|
297
|
-
|
|
298
|
-
## If you need to extend the mockup first
|
|
299
|
-
|
|
300
|
-
If the real product needs a new pattern that the mockup package does not yet cover:
|
|
301
|
-
|
|
302
|
-
1. Add or refine it in `bizar-design/components.html`
|
|
303
|
-
2. Add any new shared rule to `bizar-design/INSTRUCTIONS.md`
|
|
304
|
-
3. Add the shared primitive to `bizar-design/components.css`
|
|
305
|
-
4. Then implement it in the real UI
|
|
306
|
-
|
|
307
|
-
That keeps the mockup package as the actual reference instead of letting implementation drift away from it.
|
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
# Bizar Design System
|
|
2
|
-
|
|
3
|
-
This folder is the canonical visual and interaction reference for the dashboard redesign. It exists outside `src/web/` so the product UI can be implemented against stable contracts instead of drifting from ad hoc view work.
|
|
4
|
-
|
|
5
|
-
## Package map
|
|
6
|
-
|
|
7
|
-
- `tokens.css` — canonical OKLch theme tokens for dark and light modes.
|
|
8
|
-
- `components.css` — modular shell, component, state, and layout primitives.
|
|
9
|
-
- `icons.svg` — shared icon sprite for sidebar, tabs, and library examples.
|
|
10
|
-
- `prototype.js` — theme toggle, segmented control demo behavior, and persistent expandable-sidebar behavior.
|
|
11
|
-
- `index.html` — launcher for the full package.
|
|
12
|
-
- `canvas.html` — full-system reference canvas.
|
|
13
|
-
- `components.html` — extensive component, theming, and behavior library.
|
|
14
|
-
- `desktop/*.html` — desktop screen contracts.
|
|
15
|
-
- `mobile/*.html` — mobile screen contracts.
|
|
16
|
-
|
|
17
|
-
## Primary rules
|
|
18
|
-
|
|
19
|
-
1. Start from `tokens.css`. Do not invent new hardcoded colors, spacing, or radii in view files.
|
|
20
|
-
2. Extend existing primitives in `components.css` before creating new ones.
|
|
21
|
-
3. Add any new component pattern to `components.html` before shipping it into product code.
|
|
22
|
-
4. Preserve the no-left-stripe rule. Active and alert states use fill, glow, label, or motion.
|
|
23
|
-
5. Keep the package navigable. Launcher, canvas, library, desktop screens, and mobile screens must cross-link.
|
|
24
|
-
|
|
25
|
-
## Modular architecture
|
|
26
|
-
|
|
27
|
-
The system is organized in layers. Build in this order:
|
|
28
|
-
|
|
29
|
-
1. **Tokens**
|
|
30
|
-
- Surface, text, accent, semantic, motion, spacing, radius, shadow, typography.
|
|
31
|
-
2. **Shell**
|
|
32
|
-
- Topbar, expandable sidebar, tabs, search trigger, runtime pills.
|
|
33
|
-
3. **Primitives**
|
|
34
|
-
- Buttons, fields, pills, badges, cards, rows, timelines, tables, bars, tabs.
|
|
35
|
-
4. **States**
|
|
36
|
-
- Loading, empty, error, disabled, selected, streaming, paused, degraded.
|
|
37
|
-
5. **Domain modules**
|
|
38
|
-
- Chat, agents, memory, settings, metrics, approvals, kanban, drawers, modals.
|
|
39
|
-
|
|
40
|
-
Each component should be portable. If a component cannot be lifted from the library into React with minimal translation, it is too view-specific.
|
|
41
|
-
|
|
42
|
-
## Theming inventory
|
|
43
|
-
|
|
44
|
-
All theming items belong in the library. The package should always cover:
|
|
45
|
-
|
|
46
|
-
- Surfaces: `--bg`, `--bg-elev`, `--bg-elev-2`, `--bg-elev-3`
|
|
47
|
-
- Borders: `--border`, `--border-strong`
|
|
48
|
-
- Text: `--text-strong`, `--text`, `--text-dim`
|
|
49
|
-
- Accent: `--accent`, `--accent-2`, `--accent-3`, and derived soft/border/glow tokens
|
|
50
|
-
- Semantics: `--success`, `--warning`, `--error`, `--info`
|
|
51
|
-
- Type: sans, mono, display/title/body/meta sizes
|
|
52
|
-
- Layout: spacing scale, radii, shadows
|
|
53
|
-
- Motion: fast / base / slow durations and easing
|
|
54
|
-
|
|
55
|
-
Any future theme extension must keep token names stable across dark and light modes.
|
|
56
|
-
|
|
57
|
-
## Component coverage
|
|
58
|
-
|
|
59
|
-
The library should maintain examples and usage rules for:
|
|
60
|
-
|
|
61
|
-
- Topbar and expandable sidebar
|
|
62
|
-
- Search triggers and project/runtime pills
|
|
63
|
-
- Tabs and segmented controls
|
|
64
|
-
- Buttons and destructive/success variants
|
|
65
|
-
- Fields: text input, select, textarea
|
|
66
|
-
- Pills, badges, dots, and avatars
|
|
67
|
-
- Cards and nested surfaces
|
|
68
|
-
- Metric cards and progress bars
|
|
69
|
-
- Timelines, activity rows, and list rows
|
|
70
|
-
- Tables and comparison layouts
|
|
71
|
-
- Charts and sparkline shells
|
|
72
|
-
- Chat rail, thread, composer, info panel
|
|
73
|
-
- Memory rail, health hero, source blocks
|
|
74
|
-
- Settings nav, settings groups, field clusters
|
|
75
|
-
- Modals, drawers, inspectors, approval rows
|
|
76
|
-
- Loading, empty, error, drag preview, drop zone
|
|
77
|
-
|
|
78
|
-
## Interaction behavior rules
|
|
79
|
-
|
|
80
|
-
These are part of the design system, not implementation details.
|
|
81
|
-
|
|
82
|
-
### Scrolling
|
|
83
|
-
|
|
84
|
-
- Independent regions scroll independently when they contain long content.
|
|
85
|
-
- Preserve context with sticky headers or sticky section nav when content exceeds one screen.
|
|
86
|
-
- Avoid horizontal page scroll on desktop; prefer internal scroll regions for tables and rails.
|
|
87
|
-
- Mobile screens should stack modules vertically and scroll naturally; no tiny desktop canvases inside phones.
|
|
88
|
-
|
|
89
|
-
### Hover
|
|
90
|
-
|
|
91
|
-
- Hover indicates affordance, not surprise.
|
|
92
|
-
- Surfaces lift one visual tier at most.
|
|
93
|
-
- Border and text contrast may strengthen on hover.
|
|
94
|
-
- Critical actions must not appear only on hover if they are required to operate the screen.
|
|
95
|
-
|
|
96
|
-
### Focus
|
|
97
|
-
|
|
98
|
-
- Focus uses the shared accent glow or border contract.
|
|
99
|
-
- Keyboard focus must follow the same hierarchy as click targets.
|
|
100
|
-
- Active and focused are distinct: focus is temporary, active is stateful.
|
|
101
|
-
|
|
102
|
-
### Click
|
|
103
|
-
|
|
104
|
-
- Primary click selects or opens.
|
|
105
|
-
- Secondary actions live in explicit action buttons or menus.
|
|
106
|
-
- Clickable rows need large targets and visible active states.
|
|
107
|
-
- Do not overload one row with multiple hidden click targets.
|
|
108
|
-
|
|
109
|
-
### Drag
|
|
110
|
-
|
|
111
|
-
- Dragged items use accent-border outlines and elevated shadow states.
|
|
112
|
-
- Drop zones use dashed outlines and clearer copy.
|
|
113
|
-
- Reorder interactions must have keyboard or button alternatives when practical.
|
|
114
|
-
- Drag state should never rely on color alone.
|
|
115
|
-
|
|
116
|
-
### Loading
|
|
117
|
-
|
|
118
|
-
- Prefer inline loading bars, pulse rows, or local placeholders over blocking page spinners.
|
|
119
|
-
- Streaming states stay near the content being updated.
|
|
120
|
-
- Preserve layout during loading to reduce jump.
|
|
121
|
-
|
|
122
|
-
### Empty
|
|
123
|
-
|
|
124
|
-
- Empty states explain what is missing and what the operator can do next.
|
|
125
|
-
- Empty surfaces still need strong structure; they are not blank cards.
|
|
126
|
-
|
|
127
|
-
### Error
|
|
128
|
-
|
|
129
|
-
- Errors must preserve recovery context.
|
|
130
|
-
- Always provide the next action: retry, inspect, reconnect, or review.
|
|
131
|
-
- Use semantic error color sparingly and pair it with plain technical copy.
|
|
132
|
-
|
|
133
|
-
### Responsive
|
|
134
|
-
|
|
135
|
-
- Desktop is dense and multi-column.
|
|
136
|
-
- Tablet collapses secondary columns before it reduces core content width.
|
|
137
|
-
- Mobile rearranges modules into stacked flows with native-feeling spacing and clear hierarchy.
|
|
138
|
-
|
|
139
|
-
## Implementation workflow
|
|
140
|
-
|
|
141
|
-
1. Start from the closest existing primitive in `components.css`.
|
|
142
|
-
2. If you need a new component, add the primitive first.
|
|
143
|
-
3. Add or update the matching section in `components.html`.
|
|
144
|
-
4. Apply the component in product code.
|
|
145
|
-
5. Verify the new state still matches the shell, token, and behavior rules.
|
|
146
|
-
|
|
147
|
-
## Intent
|
|
148
|
-
|
|
149
|
-
This package is meant to be exhaustive enough that UI work in the dashboard can be implemented from it without guessing how things should look or behave. The screens show concrete usage, but the shared component and behavior contracts are the real deliverable.
|