vibe64 0.1.39 → 0.1.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.
- package/bin/run.js +1955 -1855
- package/bin/server.js +136 -112
- package/bin/upgrade-state.js +5514 -5343
- package/dist/assets/GithubBrowserTabs-YvIe2BdE.js +1 -0
- package/dist/assets/LocalDatabaseServer-BWAvRlUl.css +1 -0
- package/dist/assets/LocalDatabaseServer-CVsGChHh.js +2 -0
- package/dist/assets/StudioErrorNotice-C_jbvp9V.js +1 -0
- package/dist/assets/VAlert-gwuhYlYb.js +1 -0
- package/dist/assets/VAutocomplete-D7Vk5wq_.js +1 -0
- package/dist/assets/VAvatar-DvRBcmqv.js +1 -0
- package/dist/assets/VBtn-BhVEwXLX.js +1 -0
- package/dist/assets/VCard-C3Hx769y.js +1 -0
- package/dist/assets/VCheckbox-DyCGSN0H.js +1 -0
- package/dist/assets/VCheckboxBtn-DCyuVH7W.css +1 -0
- package/dist/assets/VCheckboxBtn-DYcQU2Pn.js +1 -0
- package/dist/assets/VChip-VVdtjfq-.js +1 -0
- package/dist/assets/VDialog-CQDhjRiV.js +1 -0
- package/dist/assets/VDivider-Dq25WsKu.js +1 -0
- package/dist/assets/VExpansionPanels-C1y-myl5.js +1 -0
- package/dist/assets/VMenu-CDcBLYWR.js +1 -0
- package/dist/assets/VOverlay-Cp4rFk6g.js +1 -0
- package/dist/assets/VRadioGroup-CAjNZwF7.js +1 -0
- package/dist/assets/VRow-BskP28jR.js +1 -0
- package/dist/assets/VSelect-D3oLvCcB.js +2 -0
- package/dist/assets/VSheet-DxYEFfnM.js +1 -0
- package/dist/assets/VSkeletonLoader-Cync3lZZ.js +1 -0
- package/dist/assets/VSpacer-CgWOWvBh.js +1 -0
- package/dist/assets/VSwitch-BxGuGypi.js +1 -0
- package/dist/assets/VTextField-C0b_0cSa.js +1 -0
- package/dist/assets/VTextField-F6unyhrS.css +1 -0
- package/dist/assets/VTextarea-B7sZd1JY.js +1 -0
- package/dist/assets/{Vibe64AsyncModuleState-Do9EqX3S.js → Vibe64AsyncModuleState-syuPcpGx.js} +1 -1
- package/dist/assets/{Vibe64AuthSettingsButton-M44SSmZ9.css → Vibe64AuthSettingsButton-D2lltUhi.css} +1 -1
- package/dist/assets/Vibe64AuthSettingsButton-DLdfT68V.js +5 -0
- package/dist/assets/Vibe64CopyCommand-CYiZcy0d.js +1 -0
- package/dist/assets/Vibe64CopyCommand-ClbQLYZi.css +1 -0
- package/dist/assets/{Vibe64DashboardBackButton-BH_8j_VR.js → Vibe64DashboardBackButton-Go_MJuIK.js} +1 -1
- package/dist/assets/{Vibe64DashboardPageHeader-BXQR00HK.js → Vibe64DashboardPageHeader-BMrdRph6.js} +1 -1
- package/dist/assets/Vibe64DashboardPageHeader-CdlzsyKQ.css +1 -0
- package/dist/assets/Vibe64DashboardShell-DMPz6fIx.js +1 -0
- package/dist/assets/{Vibe64DatabaseWorkspace-CEml9BWn.js → Vibe64DatabaseWorkspace-BCEIOlSg.js} +3 -3
- package/dist/assets/{Vibe64DatabaseWorkspace-DPDMxhAW.css → Vibe64DatabaseWorkspace-DePBDUMy.css} +1 -1
- package/dist/assets/{Vibe64OutputControls-Co5YzwcK.css → Vibe64OutputControls-CeBzZPUT.css} +1 -1
- package/dist/assets/Vibe64OutputControls-DMoqL0VD.js +8 -0
- package/dist/assets/{Vibe64RepositoryWorkspace-obZFXkoG.js → Vibe64RepositoryWorkspace-BdwRwbxp.js} +2 -2
- package/dist/assets/{Vibe64RepositoryWorkspace-Agyt4O-V.css → Vibe64RepositoryWorkspace-Bw9W691N.css} +1 -1
- package/dist/assets/{Vibe64SessionFiles-CQzs6fee.js → Vibe64SessionFiles-ChJWUOqm.js} +4 -4
- package/dist/assets/Vibe64SessionFiles-DsPb8hOe.css +1 -0
- package/dist/assets/{Vibe64TemporaryAiFixAction-BiuIE9mC.js → Vibe64TemporaryAiFixAction-CIePbdW8.js} +1 -1
- package/dist/assets/{Vibe64UiStoryboardView-BhKRpL0N.js → Vibe64UiStoryboardView-Bp9STItF.js} +1 -1
- package/dist/assets/{Vibe64UnavailableSessions-Ca5nC7KH.js → Vibe64UnavailableSessions-JBgHzM-j.js} +1 -1
- package/dist/assets/{_sessionId_-CKkGH3Rx.js → _sessionId_-Bw0KfJeR.js} +1 -1
- package/dist/assets/{_sessionTool_-1V-z6Pbp.js → _sessionTool_-BV1AwpUx.js} +1 -1
- package/dist/assets/_slug_-CAmuBm-M.css +1 -0
- package/dist/assets/_slug_-q9prK_gX.js +25 -0
- package/dist/assets/{access-WlhPvPgy.js → access-C05Nkq6r.js} +1 -1
- package/dist/assets/app-D1CGY9Xm.js +1 -0
- package/dist/assets/assistantRouting-DeE8jvtE.js +3 -0
- package/dist/assets/{changes-CHJjrZAc.js → changes-D17XpgGz.js} +1 -1
- package/dist/assets/client-BxGiylrJ.js +2 -0
- package/dist/assets/client-C8jwAMY9.css +1 -0
- package/dist/assets/{conversation-B90ERX9h.js → conversation-DZW4-Wck.js} +2 -2
- package/dist/assets/{conversation-vxJGwmtW.css → conversation-TK6EmDk4.css} +1 -1
- package/dist/assets/{createSimpleFunctional-CZTGuNuR.js → createSimpleFunctional-zlXZooQW.js} +1 -1
- package/dist/assets/{dashboard-CuutW8iv.js → dashboard-BXXgeQ0Q.js} +1 -1
- package/dist/assets/definitions-SNvFDEFS.js +1 -0
- package/dist/assets/dialog-transition-D2vqGksQ.js +1 -0
- package/dist/assets/env-B5V1EC4M.css +1 -0
- package/dist/assets/env-sXAQqKWk.js +1 -0
- package/dist/assets/health-92hh8xXh.css +1 -0
- package/dist/assets/health-Cr34pf2p.js +1 -0
- package/dist/assets/{history-1_NU8azF.js → history-N1iRZaab.js} +1 -1
- package/dist/assets/incoming-Bdqo8z25.css +1 -0
- package/dist/assets/incoming-CNwZa_yD.js +2 -0
- package/dist/assets/{index-irlMYzLh.css → index-B17d4wpZ.css} +1 -1
- package/dist/assets/index-Mxalhei8.js +138 -0
- package/dist/assets/{integrations-BMzWQQpa.js → integrations-BmwFvHgZ.js} +10 -10
- package/dist/assets/integrations-Co8WvCiD.css +1 -0
- package/dist/assets/issues-BbiG7dCV.js +1 -0
- package/dist/assets/layout-B2Ap07aa.js +1 -0
- package/dist/assets/{lazy-NHSwD9FS.js → lazy-BjyT2XvW.js} +1 -1
- package/dist/assets/{learning-Bdi3XRS7.js → learning-CUCuuoHM.js} +1 -1
- package/dist/assets/mdi-Bt90Ns76.js +1 -0
- package/dist/assets/placement-CQy46H3H.js +1 -0
- package/dist/assets/publish-4r_4K5IY.js +3 -0
- package/dist/assets/publish-BFTsAMCF.css +1 -0
- package/dist/assets/pull-requests-BjwokcU0.css +1 -0
- package/dist/assets/pull-requests-DY9jg3cE.js +1 -0
- package/dist/assets/{repository-BL_2bgzC.js → repository-DhXdoMP6.js} +1 -1
- package/dist/assets/ripple-EFNA8EBu.js +11 -0
- package/dist/assets/rolldown-runtime-DBalRfVu.js +1 -0
- package/dist/assets/{session-BdhKrcX4.js → session-BGpiZThC.js} +1 -1
- package/dist/assets/{settings-1rpuL7eR.js → settings-Cj4u-76p.js} +1 -1
- package/dist/assets/settings-D8x4KUqV.css +1 -0
- package/dist/assets/shared-DZETtWRH.js +2 -0
- package/dist/assets/studioGateApi-BXHVBVEc.js +1 -0
- package/dist/assets/studioUrls-DpSS-0z1.js +1 -0
- package/dist/assets/useArchivedVibe64Sessions-BXNg8oES.js +1 -0
- package/dist/assets/useCommand-nWFczmJy.js +1 -0
- package/dist/assets/useEndpointResource-Ds8EDBZ2.js +1 -0
- package/dist/assets/useRealtimeEvent-DrOiU8lJ.js +1 -0
- package/dist/assets/{useUiFeedback-BPBF_0bp.js → useUiFeedback-CMwE4MLs.js} +1 -1
- package/dist/assets/useVibe64ConversationLog-C1xjhFtS.js +1 -0
- package/dist/assets/{useVibe64DatabaseTools-4o6S8eXq.js → useVibe64DatabaseTools-H6H-YJQX.js} +1 -1
- package/dist/assets/useVibe64ProjectScope-B5ogg6jd.js +1 -0
- package/dist/assets/useVibe64SessionData-CnDOFFHb.js +1 -0
- package/dist/assets/{useVibe64SessionSelection-BzL1y_Vq.js → useVibe64SessionSelection-J87nJ9p5.js} +1 -1
- package/dist/assets/{useVibe64SystemGraph-B4RmsC9Y.js → useVibe64SystemGraph-DbSfrYF8.js} +1 -1
- package/dist/assets/{useVibe64Terminal-Cg3idMcy.js → useVibe64Terminal-I7Sf6xMW.js} +1 -1
- package/dist/assets/vibe64ProjectScope.local-B06ABkhI.js +1 -0
- package/dist/assets/vibe64SavedEnvValues-B_QE9aAj.js +1 -0
- package/dist/assets/vibe64SessionFocus-CA-sk8Ri.css +1 -0
- package/dist/assets/vibe64SessionFocus-DlN8NwcE.js +1 -0
- package/dist/assets/{vibe64SessionInfo-BuBUdL-e.js → vibe64SessionInfo-B0uItVOK.js} +1 -1
- package/dist/assets/{vibe64SessionToolDefinitions-BJaJH5LR.js → vibe64SessionToolDefinitions-Dsn8WYmO.js} +1 -1
- package/dist/index.html +56 -46
- package/docs/colleague-usage/account-profile-and-appearance.md +1 -1
- package/docs/colleague-usage/{ai-accounts-and-routing.md → ai-accounts.md} +41 -114
- package/docs/colleague-usage/ai-model-setups.md +159 -0
- package/docs/colleague-usage/ai-onboarding.md +97 -22
- package/docs/colleague-usage/ai-personal-use.md +41 -0
- package/docs/colleague-usage/auto-workflow.md +8 -3
- package/docs/colleague-usage/codex-context-recovery.md +2 -1
- package/docs/colleague-usage/coding-agent-goals.md +7 -4
- package/docs/colleague-usage/coding-agents.md +8 -5
- package/docs/colleague-usage/colleague-watches.md +15 -4
- package/docs/colleague-usage/colleague.md +21 -5
- package/docs/colleague-usage/connected-contributions.md +13 -13
- package/docs/colleague-usage/connected-projects.md +2 -2
- package/docs/colleague-usage/conversation-context.md +1 -1
- package/docs/colleague-usage/dashboard-navigation.md +5 -3
- package/docs/colleague-usage/development-env.md +21 -4
- package/docs/colleague-usage/file-interfaces.md +1 -1
- package/docs/colleague-usage/github-work.md +8 -8
- package/docs/colleague-usage/health-checks.md +52 -18
- package/docs/colleague-usage/incoming-changes.md +3 -3
- package/docs/colleague-usage/integrations.md +5 -3
- package/docs/colleague-usage/learning-course-catalogue.md +3 -3
- package/docs/colleague-usage/learning-environment.md +78 -56
- package/docs/colleague-usage/learning-mode-ui.md +31 -19
- package/docs/colleague-usage/learning-practice-projects.md +15 -4
- package/docs/colleague-usage/learning-teacher-guide.md +10 -4
- package/docs/colleague-usage/learning-with-colleague.md +12 -8
- package/docs/colleague-usage/lesson-authoring.md +13 -13
- package/docs/colleague-usage/lesson-step-bar.md +47 -33
- package/docs/colleague-usage/main-chat-approvals.md +150 -0
- package/docs/colleague-usage/preview-browser-checks.md +5 -1
- package/docs/colleague-usage/preview-starting-application.md +10 -1
- package/docs/colleague-usage/project-language-tools.md +16 -2
- package/docs/colleague-usage/project-settings.md +1 -1
- package/docs/colleague-usage/project-setup.md +17 -7
- package/docs/colleague-usage/publishing.md +187 -0
- package/docs/colleague-usage/running-vibe64-on-your-computer.md +54 -6
- package/docs/colleague-usage/sessions.md +18 -10
- package/docs/colleague-usage/set-up-linux.md +254 -0
- package/docs/colleague-usage/set-up-macos.md +199 -0
- package/docs/colleague-usage/set-up-windows.md +76 -0
- package/docs/colleague-usage/starter-apps.md +23 -6
- package/docs/colleague-usage/teaching-content.md +2 -2
- package/docs/colleague-usage/team-ai-access.md +108 -0
- package/docs/colleague-usage/temporary-chats.md +9 -7
- package/docs/colleague-usage/workspace-preparation.md +50 -1
- package/docs/templates/learn-topic/README.md +3 -3
- package/docs/templates/learn-topic/training/lessons/TOPIC-01/lesson.json +2 -1
- package/docs/training-content.md +37 -15
- package/node_modules/@jskit-ai/assistant-core/package.json +1 -1
- package/node_modules/@jskit-ai/assistant-runtime/package.json +1 -1
- package/node_modules/@jskit-ai/assistant-voice/package.json +1 -1
- package/node_modules/@jskit-ai/connector-google-calendar/package.json +1 -1
- package/node_modules/@jskit-ai/connectors-catalog/package.json +1 -1
- package/node_modules/@jskit-ai/connectors-catalog/patterns/oauth-connection/PATTERN.md +25 -0
- package/node_modules/@jskit-ai/connectors-core/package.json +1 -1
- package/node_modules/@jskit-ai/http-runtime/package.json +1 -1
- package/node_modules/@jskit-ai/kernel/package.json +1 -1
- package/node_modules/@jskit-ai/realtime/package.json +1 -1
- package/node_modules/@jskit-ai/resource-core/package.json +1 -1
- package/node_modules/@jskit-ai/resource-crud-core/package.json +1 -1
- package/node_modules/@jskit-ai/uploads-runtime/package.json +1 -1
- package/node_modules/@local/vibe64-accounts/package.json +2 -1
- package/node_modules/@local/vibe64-core/package.json +4 -1
- package/node_modules/@local/vibe64-execution/src/host/execHelper.js +82 -81
- package/node_modules/@local/vibe64-genesis/bin/vibe64-genesis-host-context +83 -82
- package/node_modules/@local/vibe64-genesis/package.json +1 -0
- package/node_modules/@local/vibe64-genesis/src/server/agentSpecs.js +118 -68
- package/node_modules/@local/vibe64-genesis/src/server/index.js +536 -449
- package/node_modules/@local/vibe64-genesis/src/server/packaging.js +105 -0
- package/node_modules/@local/vibe64-genesis/src/server/promptContext.js +144 -145
- package/node_modules/@local/vibe64-packaging/package.json +26 -0
- package/node_modules/@local/vibe64-packaging/src/server/packers/capacitor/ShellIcons.java +112 -0
- package/node_modules/@local/vibe64-project/package.json +3 -1
- package/node_modules/@local/vibe64-publishing/package.json +12 -0
- package/node_modules/@local/vibe64-runtime/src/server/codexAppServerProcess.js +7 -7
- package/node_modules/@local/vibe64-runtime/src/shared/assistantRoutingScores.json +25 -22
- package/node_modules/@local/vibe64-terminals/package.json +2 -1
- package/node_modules/@local/vibe64-terminals/src/server/sessionWorkOperationCommand.js +1341 -1300
- package/node_modules/@local/vibe64-training/package.json +2 -1
- package/package.json +19 -15
- package/server.bundle.mjs +43109 -41089
- package/dist/assets/GithubBrowserTabs-C2NO5l8g.js +0 -1
- package/dist/assets/StudioErrorNotice-CSrUw1QV.js +0 -1
- package/dist/assets/VAlert-P256xaE0.js +0 -1
- package/dist/assets/VAutocomplete-BDb95qJX.js +0 -1
- package/dist/assets/VAvatar-DPzqDH4r.js +0 -1
- package/dist/assets/VBtn-B2MBK2DL.js +0 -1
- package/dist/assets/VCard-mXy0k4aS.js +0 -1
- package/dist/assets/VCheckbox-C7A1ZW4D.js +0 -1
- package/dist/assets/VChip-CcI-Oo2J.js +0 -1
- package/dist/assets/VDialog-Bu3EfKb1.js +0 -1
- package/dist/assets/VDivider-BMEqUoAB.js +0 -1
- package/dist/assets/VExpansionPanels-Dgjrop0V.js +0 -1
- package/dist/assets/VMenu-C_x18lwb.js +0 -1
- package/dist/assets/VOverlay-CeMZurIN.js +0 -1
- package/dist/assets/VRadioGroup-CUu2-KIP.js +0 -1
- package/dist/assets/VRow-Cpw7OHQV.js +0 -1
- package/dist/assets/VSelect-DL3HaA5m.js +0 -2
- package/dist/assets/VSheet-DZWsu0kL.js +0 -1
- package/dist/assets/VSkeletonLoader-CttxM1tw.js +0 -1
- package/dist/assets/VSpacer-Dhmsvk4t.js +0 -1
- package/dist/assets/VSwitch-BRHeDJkH.js +0 -1
- package/dist/assets/VTextField-BR2eZeFT.js +0 -1
- package/dist/assets/VTextField-BiatYyd3.css +0 -1
- package/dist/assets/VTextarea-DbqamXJd.js +0 -1
- package/dist/assets/Vibe64AuthSettingsButton-fY4ZiIFF.js +0 -5
- package/dist/assets/Vibe64DashboardPageHeader-Gm1IvlHx.css +0 -1
- package/dist/assets/Vibe64DashboardShell-BSq7uXEW.js +0 -1
- package/dist/assets/Vibe64OutputControls-_zhGX9ne.js +0 -8
- package/dist/assets/Vibe64SessionFiles-Bl8wJ5Sk.css +0 -1
- package/dist/assets/_slug_-BclonbST.js +0 -24
- package/dist/assets/_slug_-CZ1bxO9C.css +0 -1
- package/dist/assets/app-BNP_n_Tt.js +0 -1
- package/dist/assets/assistantRouting-D4XpXcEf.js +0 -3
- package/dist/assets/client-BWV84wi2.js +0 -2
- package/dist/assets/client-DGrP-2AJ.css +0 -1
- package/dist/assets/definitions-BrMvu6yV.js +0 -1
- package/dist/assets/env-BzRtyO0w.css +0 -1
- package/dist/assets/env-D3KQGvRe.js +0 -1
- package/dist/assets/health-BJvooRnJ.css +0 -1
- package/dist/assets/health-BhoO1d4h.js +0 -1
- package/dist/assets/incoming-DWDrmxyH.css +0 -1
- package/dist/assets/incoming-DzADFGqp.js +0 -2
- package/dist/assets/index-dNxr4Lg9.js +0 -138
- package/dist/assets/integrations-Cq1x-Di9.css +0 -1
- package/dist/assets/issues-Bywux4s7.js +0 -1
- package/dist/assets/mdi-CG9pWOSj.js +0 -1
- package/dist/assets/placement-BF-zIEhA.js +0 -1
- package/dist/assets/pull-requests-CdbhyFOv.css +0 -1
- package/dist/assets/pull-requests-ncmKT3sS.js +0 -1
- package/dist/assets/ripple-BVltMmyV.js +0 -11
- package/dist/assets/settings-BopLnpB0.css +0 -1
- package/dist/assets/shared-DpMvYJO3.js +0 -2
- package/dist/assets/studioGateApi-DcCqiD9V.js +0 -1
- package/dist/assets/studioUrls-DmMMIScP.js +0 -1
- package/dist/assets/useArchivedVibe64Sessions-_LB2XxEa.js +0 -1
- package/dist/assets/useCommand-Bqxb-naz.js +0 -1
- package/dist/assets/useEndpointResource-DWoQ2keu.js +0 -1
- package/dist/assets/useRealtimeEvent-Bwapstla.js +0 -1
- package/dist/assets/useVibe64ConversationLog-BqUI0S5n.js +0 -1
- package/dist/assets/useVibe64Learning-DyqXkpLw.js +0 -1
- package/dist/assets/useVibe64ProjectScope-Bp1ImZlz.js +0 -1
- package/dist/assets/useVibe64SessionData-B686lToN.js +0 -1
- package/dist/assets/vibe64SessionFocus-CqZNTvYF.js +0 -1
- package/dist/assets/vibe64SessionFocus-OJ2toBd9.css +0 -1
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
# Set up a Mac for Vibe64
|
|
2
|
+
|
|
3
|
+
A step-by-step setup for running Vibe64 on your own Mac. Do the steps up to
|
|
4
|
+
**An AI tool** once. The project steps only matter when a project needs them, and
|
|
5
|
+
Vibe64 tells you when: a row with the exact command appears where the work
|
|
6
|
+
needs the tool.
|
|
7
|
+
|
|
8
|
+
Paste each command into **Terminal** (in Applications → Utilities) and press
|
|
9
|
+
Enter. A command that asks for your Mac password shows nothing while you type;
|
|
10
|
+
press Enter when done.
|
|
11
|
+
|
|
12
|
+
## Basic tools
|
|
13
|
+
|
|
14
|
+
Apple's command line tools give you Git, a compiler and Make:
|
|
15
|
+
|
|
16
|
+
```sh
|
|
17
|
+
xcode-select --install
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
A window opens; choose **Install** and wait for it to finish. Check:
|
|
21
|
+
`git --version` prints a version. Until they are installed, `git`, `python3`
|
|
22
|
+
and `cc` on a Mac only open that install window, so Vibe64 shows this one row
|
|
23
|
+
first and checks nothing else that depends on it.
|
|
24
|
+
|
|
25
|
+
## Homebrew
|
|
26
|
+
|
|
27
|
+
[Homebrew](https://brew.sh/) installs the programs that need more than your
|
|
28
|
+
home folder, such as database servers. Its first install asks for your Mac
|
|
29
|
+
password, so use an administrator account:
|
|
30
|
+
|
|
31
|
+
```sh
|
|
32
|
+
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
When it finishes, make it available in every terminal:
|
|
36
|
+
|
|
37
|
+
```sh
|
|
38
|
+
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
That is the folder on Apple silicon Macs; Homebrew prints the right line for
|
|
42
|
+
your Mac at the end of its install, so you can copy it from there. After this
|
|
43
|
+
first install, `brew install …` needs no password. Homebrew supports macOS 15
|
|
44
|
+
(Sequoia) and newer.
|
|
45
|
+
|
|
46
|
+
## Node.js and mise
|
|
47
|
+
|
|
48
|
+
Vibe64 needs **Node.js 26**. Install it with [mise](https://mise.jdx.dev/),
|
|
49
|
+
which installs languages into your home folder without a password:
|
|
50
|
+
|
|
51
|
+
```sh
|
|
52
|
+
curl -fsSL https://mise.run | sh
|
|
53
|
+
echo 'eval "$(~/.local/bin/mise activate zsh)"' >> ~/.zshrc
|
|
54
|
+
echo 'eval "$(~/.local/bin/mise activate zsh --shims)"' >> ~/.zprofile
|
|
55
|
+
~/.local/bin/mise use -g node@26
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
These lines are for zsh, the Mac's standard shell. If you use bash, write
|
|
59
|
+
`activate bash` into `~/.bashrc` and `activate bash --shims` into
|
|
60
|
+
`~/.bash_profile` instead.
|
|
61
|
+
|
|
62
|
+
Close Terminal and open it again. Check: `node --version` prints `v26…`. Always
|
|
63
|
+
keep the `-g`: without it, mise writes a `mise.toml` file into whatever folder
|
|
64
|
+
you are in.
|
|
65
|
+
|
|
66
|
+
## Start Vibe64
|
|
67
|
+
|
|
68
|
+
In the folder you want to work on, run `npx vibe64`. See
|
|
69
|
+
[Running Vibe64 on your computer](running-vibe64-on-your-computer.md) for the
|
|
70
|
+
options and where Vibe64 keeps its data.
|
|
71
|
+
|
|
72
|
+
## Git
|
|
73
|
+
|
|
74
|
+
Tell Git who you are, once, so your commits carry your name:
|
|
75
|
+
|
|
76
|
+
```sh
|
|
77
|
+
git config --global user.name "Your Name"
|
|
78
|
+
git config --global user.email "you@example.com"
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Without them Vibe64 still saves your work, using a stand-in name ending in
|
|
82
|
+
“via Vibe64”, and **Health** reminds you. To work with GitHub, connect it in
|
|
83
|
+
**Account settings → GitHub**; signing in fills in your name and email only
|
|
84
|
+
when Git has none.
|
|
85
|
+
|
|
86
|
+
## An AI tool
|
|
87
|
+
|
|
88
|
+
Vibe64 works through one AI tool on this computer. One is enough; each installs
|
|
89
|
+
into your home folder:
|
|
90
|
+
|
|
91
|
+
| AI | Command |
|
|
92
|
+
|---|---|
|
|
93
|
+
| Claude Code | `curl -fsSL https://claude.ai/install.sh \| bash` |
|
|
94
|
+
| Codex (ChatGPT and OpenAI keys) | `curl -fsSL https://chatgpt.com/codex/install.sh \| sh` |
|
|
95
|
+
| opencode (providers connected through OpenCode) | `curl -fsSL https://opencode.ai/install \| bash` |
|
|
96
|
+
|
|
97
|
+
Then choose **Set up your AI** in Vibe64 and sign in. See
|
|
98
|
+
[AI accounts](ai-accounts.md).
|
|
99
|
+
|
|
100
|
+
## Project languages
|
|
101
|
+
|
|
102
|
+
Only when a project needs one. When **Preparing workspace** fails because a
|
|
103
|
+
language is missing, the panel shows its row with the command for this Mac.
|
|
104
|
+
These install with mise, without a password:
|
|
105
|
+
|
|
106
|
+
| Language | Command |
|
|
107
|
+
|---|---|
|
|
108
|
+
| Python | `mise use -g python@3.13` |
|
|
109
|
+
| Ruby | `mise use -g ruby@3.4` |
|
|
110
|
+
| Java | `mise use -g java@temurin-25` |
|
|
111
|
+
| Go | `mise use -g go` |
|
|
112
|
+
| Rust | `curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs \| sh` |
|
|
113
|
+
| PHP and Composer | `/bin/bash -c "$(curl -fsSL https://php.new/install/mac)"` |
|
|
114
|
+
|
|
115
|
+
After installing, choose **Check again** on the row; no restart is needed.
|
|
116
|
+
|
|
117
|
+
The Mac's own Ruby and Python are old, and `/usr/bin/java` only says that no
|
|
118
|
+
Java is installed. Vibe64 looks in mise's folders before the system ones, so
|
|
119
|
+
the versions you install with mise win; each row shows the version and folder it
|
|
120
|
+
found. `brew install ruby` or `brew install python` also work, if you prefer
|
|
121
|
+
Homebrew.
|
|
122
|
+
|
|
123
|
+
## Build tools
|
|
124
|
+
|
|
125
|
+
Some packages compile native code (Rails gems such as `psych` and `mysql2`,
|
|
126
|
+
Python's `mysqlclient`), so they need Apple's command line tools (step one)
|
|
127
|
+
and a few libraries. The row is called **Build tools**:
|
|
128
|
+
|
|
129
|
+
```sh
|
|
130
|
+
brew install pkg-config libyaml openssl@3 gmp
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
For MySQL drivers, also run `brew install mariadb`: the drivers build against
|
|
134
|
+
it. Don't install `mysql-client` for this; its newer versions can't sign in to
|
|
135
|
+
MariaDB users. Vibe64 adds Homebrew's PostgreSQL folder to the PATH of the commands it
|
|
136
|
+
runs, so PostgreSQL drivers find what they need in the server you install
|
|
137
|
+
below.
|
|
138
|
+
|
|
139
|
+
## Databases
|
|
140
|
+
|
|
141
|
+
Only when a project uses MySQL or PostgreSQL. SQLite needs nothing. You run the
|
|
142
|
+
database server yourself; one you already have is fine. Vibe64 never starts it
|
|
143
|
+
for you.
|
|
144
|
+
|
|
145
|
+
**Install and start it**, once:
|
|
146
|
+
|
|
147
|
+
| Database | Command |
|
|
148
|
+
|---|---|
|
|
149
|
+
| MySQL-compatible (MariaDB) | `brew install mariadb && brew services start mariadb` |
|
|
150
|
+
| PostgreSQL | `brew install postgresql@18 && brew services start postgresql@18` |
|
|
151
|
+
|
|
152
|
+
`brew services` starts the server now and every time you log in. To stop it:
|
|
153
|
+
`brew services stop mariadb` (or `postgresql@18`).
|
|
154
|
+
|
|
155
|
+
**Give the project its own login.** In the failed step's **database server**
|
|
156
|
+
panel, choose **Suggest a user and password**, open **Create a login and
|
|
157
|
+
database**, copy the command and paste it into Terminal. Then choose **Save
|
|
158
|
+
and check**. When the panel says connected, choose **Retry**. See
|
|
159
|
+
[Workspace preparation](workspace-preparation.md).
|
|
160
|
+
|
|
161
|
+
If you already run Oracle MySQL, keep it: put its host, port, user and password
|
|
162
|
+
in the panel or in **Env**. Don't install Homebrew's MariaDB next to it; the two
|
|
163
|
+
conflict.
|
|
164
|
+
|
|
165
|
+
## Extras
|
|
166
|
+
|
|
167
|
+
Nice to have; nothing depends on them.
|
|
168
|
+
|
|
169
|
+
| Tool | Command |
|
|
170
|
+
|---|---|
|
|
171
|
+
| GitHub CLI | `brew install gh` |
|
|
172
|
+
| ripgrep (faster search) | `brew install ripgrep` |
|
|
173
|
+
| Browser for automated checks | `npx playwright install chromium` |
|
|
174
|
+
|
|
175
|
+
## Check your setup
|
|
176
|
+
|
|
177
|
+
Open **Dashboard → Health**. The top line says **Vibe64 has what it needs.**
|
|
178
|
+
when Node.js, Git and an AI tool all run. Each missing tool shows its command
|
|
179
|
+
with a copy button and **Check again**. A tool counts only when it actually
|
|
180
|
+
starts, so a broken install shows as **didn't start**, not as ready.
|
|
181
|
+
|
|
182
|
+
If a tool works in Terminal but Vibe64 can't find it, it is probably installed
|
|
183
|
+
somewhere only your interactive shell knows. Check the `mise` and Homebrew
|
|
184
|
+
lines above, then start Vibe64 again from a new Terminal window.
|
|
185
|
+
|
|
186
|
+
## Ask Colleague
|
|
187
|
+
|
|
188
|
+
Colleague can walk you through any step here and explain what a row or message
|
|
189
|
+
means. It can also do the safe parts for you, when you ask:
|
|
190
|
+
|
|
191
|
+
- check whether a tool runs now (“is Ruby installed?”), or run all of
|
|
192
|
+
**Health**;
|
|
193
|
+
- check the project's database server with the current values, and save the
|
|
194
|
+
host, port, database name and user name you tell it into **Env**;
|
|
195
|
+
- retry the session's **Preparing workspace**, and open **Health** or **Env**.
|
|
196
|
+
|
|
197
|
+
You run the install commands yourself, in Terminal: Colleague never uses
|
|
198
|
+
`sudo`, never edits your shell files and never installs anything. Never type a
|
|
199
|
+
password into chat; enter it in the panel's password field or in **Env**.
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# Set up Windows for Vibe64 (WSL)
|
|
2
|
+
|
|
3
|
+
Vibe64 runs on Windows inside **WSL**, Windows' built-in Linux, with Ubuntu.
|
|
4
|
+
It doesn't run in PowerShell or Command Prompt: there, `npx vibe64` stops and
|
|
5
|
+
points here. Once Ubuntu is set up, everything else is the same as on Linux.
|
|
6
|
+
|
|
7
|
+
You need Windows 11, or Windows 10 version 2004 or newer.
|
|
8
|
+
|
|
9
|
+
## Install WSL and Ubuntu
|
|
10
|
+
|
|
11
|
+
1. Right-click **Start**, choose **Terminal (Admin)** or **Windows PowerShell
|
|
12
|
+
(Admin)**, and run:
|
|
13
|
+
|
|
14
|
+
```powershell
|
|
15
|
+
wsl --install
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
2. Restart Windows when it asks.
|
|
19
|
+
3. Open **Ubuntu** from the Start menu. The first start takes a minute, then
|
|
20
|
+
asks for a **username and password**. They are for Ubuntu only and don't
|
|
21
|
+
have to match your Windows ones. Remember the password: Ubuntu asks for it
|
|
22
|
+
whenever a command starts with `sudo`. Nothing shows while you type it.
|
|
23
|
+
|
|
24
|
+
If `wsl --install` only prints help text, WSL is already there: run
|
|
25
|
+
`wsl --install -d Ubuntu` instead. Microsoft's
|
|
26
|
+
[install page](https://learn.microsoft.com/en-us/windows/wsl/install) has the
|
|
27
|
+
details.
|
|
28
|
+
|
|
29
|
+
## Set up Ubuntu
|
|
30
|
+
|
|
31
|
+
From now on, type every command in the **Ubuntu** window, not in PowerShell.
|
|
32
|
+
Follow [Set up Linux](set-up-linux.md) from the start, using the lines for
|
|
33
|
+
**Ubuntu, Debian, WSL**: the basic tools, Node.js with mise, Git, an AI tool,
|
|
34
|
+
and later whatever your projects need. Install the AI tools inside Ubuntu too;
|
|
35
|
+
copies installed on the Windows side don't work from Ubuntu.
|
|
36
|
+
|
|
37
|
+
Two checks after the Node.js step, in a new Ubuntu window:
|
|
38
|
+
|
|
39
|
+
- `which node npx` must print paths that start with `/home/`. A path starting
|
|
40
|
+
with `/mnt/c/` is the Windows Node.js leaking in; it doesn't work with
|
|
41
|
+
Vibe64. Make sure the mise lines are in `~/.bashrc` and `~/.profile`, then
|
|
42
|
+
open a new Ubuntu window.
|
|
43
|
+
- `node --version` prints `v26…`.
|
|
44
|
+
|
|
45
|
+
## Keep projects inside Ubuntu
|
|
46
|
+
|
|
47
|
+
Put your projects in your Ubuntu home folder (for example `~/Vibe64`, where
|
|
48
|
+
Vibe64 creates new ones), not under `/mnt/c/`:
|
|
49
|
+
|
|
50
|
+
- **Clone inside Ubuntu.** A project cloned with Git for Windows has Windows
|
|
51
|
+
line endings, and its scripts then fail with errors like
|
|
52
|
+
`/usr/bin/env: 'ruby\r': No such file or directory`.
|
|
53
|
+
- **Speed.** Files under `/mnt/c/` are much slower for Linux programs.
|
|
54
|
+
|
|
55
|
+
To see a project's files in Windows, run `explorer.exe .` in its folder.
|
|
56
|
+
|
|
57
|
+
## Start Vibe64
|
|
58
|
+
|
|
59
|
+
In the Ubuntu window, go to your project folder and run `npx vibe64`. Open the
|
|
60
|
+
address it shows in your normal Windows browser: WSL passes `localhost` through
|
|
61
|
+
to Windows. See [Running Vibe64 on your computer](running-vibe64-on-your-computer.md).
|
|
62
|
+
|
|
63
|
+
## Databases
|
|
64
|
+
|
|
65
|
+
Install and start them inside Ubuntu, with the Ubuntu lines in
|
|
66
|
+
[Set up Linux](set-up-linux.md#databases). A database server installed on the
|
|
67
|
+
Windows side also works: put its address in the project's **Env** (from inside
|
|
68
|
+
WSL, Windows is not always reachable at `localhost`, so this is the harder
|
|
69
|
+
route).
|
|
70
|
+
|
|
71
|
+
## Ask Colleague
|
|
72
|
+
|
|
73
|
+
Colleague can explain each step and check what is installed inside Ubuntu (it
|
|
74
|
+
runs **Health** and checks single tools when you ask). Installing WSL, Ubuntu
|
|
75
|
+
and the tools happens in your own terminal; Colleague never runs commands with
|
|
76
|
+
`sudo` or in PowerShell. Never type a password into chat.
|
|
@@ -1,16 +1,33 @@
|
|
|
1
1
|
# Choose a starter with ready tests
|
|
2
2
|
|
|
3
|
-
In an empty project's onboarding,
|
|
3
|
+
In an empty project's onboarding, starters are grouped by technology. Choose
|
|
4
|
+
the JSKIT starter that matches the app:
|
|
4
5
|
|
|
5
6
|
- **Basic app**: responsive shell, server/client/browser tests, no database or login.
|
|
6
|
-
- **
|
|
7
|
+
- **App with no users, but a database**: the same shell plus MySQL migrations and isolated database
|
|
7
8
|
tests, without accounts.
|
|
8
|
-
- **
|
|
9
|
+
- **App with users**: sign-up, login, private pages and persisted profiles, plus
|
|
9
10
|
account-persistence and browser tests.
|
|
10
11
|
|
|
12
|
+
For another framework, each of Django, Rails, Spring Boot, Express and Next.js
|
|
13
|
+
offers one **Basic app**: a home page whose notes form saves to SQLite
|
|
14
|
+
(MySQL/MariaDB for Spring Boot), with unit and HTTP tests and the starter's own
|
|
15
|
+
`docs/colleague-usage/starting-app.md`. Only Rails has sign-in, with the seeded
|
|
16
|
+
development account `developer@example.com` / `developer`; for the others, ask
|
|
17
|
+
the coding agent to add accounts. These starters do not declare **Browser test
|
|
18
|
+
app**.
|
|
19
|
+
|
|
20
|
+
When the installation does not supply their database itself, Preview stops at
|
|
21
|
+
**Set up your project's environment** and names the missing value: `DB_NAME`
|
|
22
|
+
for Django and Next.js, `DB_DATABASE` for Rails and Express, the `DB_*` server
|
|
23
|
+
values for Spring Boot. Choose **Open Env**, enter an absolute SQLite file path
|
|
24
|
+
outside the project (or the MySQL/MariaDB details) and **Save**; preparation
|
|
25
|
+
then continues and the app starts.
|
|
26
|
+
|
|
11
27
|
The same choices appear on desktop and mobile. Applying a starter imports its
|
|
12
|
-
source
|
|
13
|
-
declared resources
|
|
28
|
+
source and starts **Prepare workspace** at once: it installs dependencies,
|
|
29
|
+
provisions the declared resources (an installation that supplies the database
|
|
30
|
+
does so here) and runs migrations; a failed preparation offers **Retry**.
|
|
14
31
|
The coding agent can then follow the first feature request using the existing
|
|
15
32
|
test commands documented in the starter's `docs/colleague-usage/testing.md`.
|
|
16
33
|
|
|
@@ -25,6 +42,6 @@ managed projects use the provided browser rather than installing another one.
|
|
|
25
42
|
Colleague can explain the choices and offer coding-agent help. A how-to question
|
|
26
43
|
alone does not authorize starter import, resource preparation or fixture reset.
|
|
27
44
|
Applying to an existing application is unavailable; it does not replace authored
|
|
28
|
-
source. These are
|
|
45
|
+
source. These are complete starters; optional packs are not part of this flow.
|
|
29
46
|
OpenCode's generated, ignored plugin-install files alone do not make a blank
|
|
30
47
|
project an existing application. Custom OpenCode files still prevent import.
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
This topic explains verified lesson content, private progress and owner recovery.
|
|
4
4
|
For host-registered learner controls and assessment, read **Learn with Colleague**
|
|
5
5
|
(`learning-with-colleague`). For authoring and Git publication, read **Author a
|
|
6
|
-
lesson and
|
|
6
|
+
lesson and save its source** (`lesson-authoring`). The underlying facilities
|
|
7
7
|
below do not by themselves add learner controls or grant Colleague source access;
|
|
8
8
|
available operations depend on the host registrations described in those topics.
|
|
9
9
|
|
|
@@ -49,7 +49,7 @@ The application also has a server-side verified-snapshot installation facility.
|
|
|
49
49
|
For official catalogue courses it is reached through **Install** and **Update**
|
|
50
50
|
in Learning's **Courses** pane, or Colleague's `course.install` on a direct
|
|
51
51
|
request (see [Installing and updating Learning courses](learning-course-catalogue.md)).
|
|
52
|
-
For other content, the local operator commands in **Author a lesson and
|
|
52
|
+
For other content, the local operator commands in **Author a lesson and save its source**
|
|
53
53
|
invoke the original installation owner.
|
|
54
54
|
An admitted owner operation must select the canonical local source and exact
|
|
55
55
|
course pin. Colleague can explain this boundary and offer to help contact the
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
# Team AI access: when team members can open projects
|
|
2
|
+
|
|
3
|
+
A workspace can have one owner and other people (team members). Team members
|
|
4
|
+
never use the owner's AI directly: main chat runs on the owner's setup (a team
|
|
5
|
+
member's messages wait for approval), and everything else a team member does
|
|
6
|
+
with AI (their Colleague, Fix it with AI, Explain & check and the quick
|
|
7
|
+
helpers) runs on the **team setup**, the second setup in AI setup. A team
|
|
8
|
+
member's own lesson is the one place where main chat runs on the team setup
|
|
9
|
+
too; see **Lessons** below. The team setup may use only **Workspace-use** models,
|
|
10
|
+
never a personal plan such as the owner's Claude or ChatGPT subscription (see
|
|
11
|
+
[Personal-use AI subscriptions](ai-personal-use.md)).
|
|
12
|
+
|
|
13
|
+
So that a team member is never dropped into a project whose AI cannot work for
|
|
14
|
+
them, Vibe64 checks one thing when they open a project: **does the team setup
|
|
15
|
+
have at least one Workspace-use model?** Until it does, team members cannot
|
|
16
|
+
open any project in the workspace.
|
|
17
|
+
|
|
18
|
+
## Who is checked
|
|
19
|
+
|
|
20
|
+
- **Team members** are checked every time they open a project, including
|
|
21
|
+
practice (Learning) projects.
|
|
22
|
+
- **The workspace owner is never checked.** The owner can always open every
|
|
23
|
+
project, whatever the team setup holds.
|
|
24
|
+
- On Vibe64 running on your own computer there is only you, the owner, so the
|
|
25
|
+
check never applies.
|
|
26
|
+
- Work that runs without a person (an AI turn already running, scheduled
|
|
27
|
+
checks) is not checked.
|
|
28
|
+
|
|
29
|
+
## What counts as ready
|
|
30
|
+
|
|
31
|
+
The team setup is ready when at least one of its roles (Colleague, Fix it with
|
|
32
|
+
AI, Explain & check, Quick helper) uses a model whose connection is Workspace
|
|
33
|
+
use and currently connected, for example DeepSeek through an API key. A role set
|
|
34
|
+
to **Same as** another role counts as the model of the role it follows. A role
|
|
35
|
+
that is off, a role that follows an empty role, a personal plan, or a
|
|
36
|
+
disconnected connection does not count.
|
|
37
|
+
|
|
38
|
+
The fastest way to get there is the team card in AI setup: **Let your team use
|
|
39
|
+
this workspace: add a DeepSeek key (runs inside Claude Code)**. One key fills
|
|
40
|
+
the team setup with the recommended DeepSeek models.
|
|
41
|
+
|
|
42
|
+
## What a team member sees
|
|
43
|
+
|
|
44
|
+
Opening a project before the team setup is ready shows **Team AI isn't set up
|
|
45
|
+
yet** instead of the project:
|
|
46
|
+
|
|
47
|
+
- "*Owner* needs to set up AI for team members before you can open projects
|
|
48
|
+
here." (*Owner* is the owner's name, or "The workspace owner" when the
|
|
49
|
+
workspace has no name for them.)
|
|
50
|
+
- A highlighted line to pass on: **Ask *owner* to set up AI for team members.**
|
|
51
|
+
- **Check again** re-reads the project once the owner says it is done. It opens
|
|
52
|
+
the project as soon as the team setup is ready.
|
|
53
|
+
- **Back to projects** returns to the project list, where the workspace has one.
|
|
54
|
+
|
|
55
|
+
The screen is the same on a phone, with the buttons full width and stacked.
|
|
56
|
+
Nothing about the project changes while a team member waits, and their Account
|
|
57
|
+
and AI Accounts pages stay open to them.
|
|
58
|
+
|
|
59
|
+
## What the owner sees
|
|
60
|
+
|
|
61
|
+
While the workspace has team members and the team setup is not ready, the
|
|
62
|
+
owner's project list (where the workspace has one) shows **Team members can't
|
|
63
|
+
open projects yet — Set up AI for team members so they can work here.** with
|
|
64
|
+
**Set up team AI**, which opens AI setup at the team setup. The prompt disappears once the team setup has a
|
|
65
|
+
Workspace-use model, or when the workspace has no team members.
|
|
66
|
+
|
|
67
|
+
Project rows in the list can also show **N waiting**: messages team members
|
|
68
|
+
sent to main chat that wait for the owner's approval.
|
|
69
|
+
|
|
70
|
+
## Inside a project
|
|
71
|
+
|
|
72
|
+
Once a team member is in, their AI work uses the team setup, and their messages
|
|
73
|
+
to main chat wait for the owner's approval before they are sent (see
|
|
74
|
+
[Main chat messages that wait for the owner's approval](main-chat-approvals.md)). If the owner
|
|
75
|
+
later removes the last Workspace-use model, the team member's next project
|
|
76
|
+
open shows the waiting screen again.
|
|
77
|
+
|
|
78
|
+
## Lessons
|
|
79
|
+
|
|
80
|
+
A lesson's practice project is private to its learner, so a team member's
|
|
81
|
+
lesson does not wait for the owner. In their own practice project, a team
|
|
82
|
+
member's main chat runs on the team setup and their messages go straight to it:
|
|
83
|
+
|
|
84
|
+
- **Senior** and **Junior** use the team **Colleague** model, and Auto's Router
|
|
85
|
+
uses the team **Quick helper** model. **Custom** in **Chat mode** lists only
|
|
86
|
+
Workspace-use models, so the member may choose any of them for the lesson.
|
|
87
|
+
- The composer says which AI it is: the placeholder "Message your lesson's AI —
|
|
88
|
+
*model* (team AI)" and, in **Chat mode**, "This lesson runs on the team AI:
|
|
89
|
+
*model*. Only you see this chat."
|
|
90
|
+
- **Do it for me** (which sends a line's prompt to the lesson's main chat),
|
|
91
|
+
Check my work reviews and the lesson's Colleague use the same team setup.
|
|
92
|
+
- A personal plan, such as the owner's Claude or ChatGPT subscription, is never
|
|
93
|
+
used, even when the team setup has no Colleague model. Then main chat says
|
|
94
|
+
"The workspace owner hasn't chosen a Colleague model for team members yet."
|
|
95
|
+
and the owner adds one in AI setup.
|
|
96
|
+
- The owner's own lessons run on the owner's setup as before. Main chat in
|
|
97
|
+
every ordinary project still waits for the owner's approval.
|
|
98
|
+
|
|
99
|
+
## What Colleague can do
|
|
100
|
+
|
|
101
|
+
Colleague can explain this screen and the team setup. It cannot change the team
|
|
102
|
+
setup for a team member: only the owner edits AI setup. A team member's Colleague
|
|
103
|
+
itself needs the team setup, so Colleague can answer only once the team setup is
|
|
104
|
+
ready; until then, ask the owner directly.
|
|
105
|
+
|
|
106
|
+
Related topics: [AI model setups](ai-model-setups.md),
|
|
107
|
+
[Personal-use AI subscriptions](ai-personal-use.md),
|
|
108
|
+
[AI onboarding](ai-onboarding.md) and [Colleague](colleague.md).
|
|
@@ -9,9 +9,11 @@ first chat. If another temporary or host conversation was selected, it stays
|
|
|
9
9
|
selected with its draft intact. Dismissing the dialog has the same effect; no
|
|
10
10
|
chat is created and no message is sent. This applies on desktop and narrow screens.
|
|
11
11
|
|
|
12
|
-
Ordinary temporary chats offer **Custom**, **Senior** and
|
|
13
|
-
**
|
|
14
|
-
|
|
12
|
+
Ordinary temporary chats offer **Fix it with AI**, **Custom**, **Senior** and
|
|
13
|
+
**Junior**; a team member's offer **Fix it with AI** and **Custom**. **Fix it with
|
|
14
|
+
AI** uses the model AI setup chose for fixes, which may run in a different tool
|
|
15
|
+
from Main chat. Choose **Custom** to open the **Orchestrator**, **Model** and
|
|
16
|
+
**Thinking** fields. Select an available connection and model, then **Apply**. The next message uses that
|
|
15
17
|
choice and the existing conversation history. Main chat's selection is unchanged.
|
|
16
18
|
|
|
17
19
|
## Rename a temporary chat
|
|
@@ -70,10 +72,10 @@ message; uncertain delivery is checked before any resend.
|
|
|
70
72
|
|
|
71
73
|
## Hand a merge repair to another model
|
|
72
74
|
|
|
73
|
-
**Fix it with AI** for an Update conflict opens a temporary repair
|
|
74
|
-
and sends the repair instructions once. Its reply appears in that
|
|
75
|
-
chat; Main chat's history is unchanged.
|
|
76
|
-
Merge repair
|
|
75
|
+
**Fix it with AI** for an Update conflict opens a temporary repair on the Fix it
|
|
76
|
+
with AI model and sends the repair instructions once. Its reply appears in that
|
|
77
|
+
temporary chat; Main chat's history is unchanged.
|
|
78
|
+
Merge repair stays in Fix it with AI mode or on a model you choose. To hand it to Codex:
|
|
77
79
|
|
|
78
80
|
1. If it is still working, press **Stop** and wait for it to stop.
|
|
79
81
|
2. Open its **Chat mode** icon and choose **Choose model**.
|
|
@@ -7,7 +7,7 @@ steps come from the project's setup contract.
|
|
|
7
7
|
|
|
8
8
|
Select **Prepare workspace**. The notice shows progress while those steps run.
|
|
9
9
|
Use **Expand** to inspect output, or **Dismiss** to hide an inactive notice.
|
|
10
|
-
Preparation does not
|
|
10
|
+
Preparation does not save or push the project.
|
|
11
11
|
|
|
12
12
|
To rerun preparation after success, select **Prepare workspace** (the wrench)
|
|
13
13
|
in the session header. On narrow screens, open **Session actions** (three dots)
|
|
@@ -99,6 +99,55 @@ Colleague can explain this recovery; installing a local tool and restarting the
|
|
|
99
99
|
local editor require the person to use their terminal.
|
|
100
100
|
|
|
101
101
|
|
|
102
|
+
## A tool the step needs
|
|
103
|
+
|
|
104
|
+
When a step fails because a program it runs isn't installed, the failed step
|
|
105
|
+
says so in one sentence ("Vibe64 couldn't find bundle on this computer, so this
|
|
106
|
+
step couldn't run.") and **This step needs a tool that isn't working** lists the
|
|
107
|
+
missing runtime with its install command, **Check again** and **Other ways**.
|
|
108
|
+
A long failure (a stack trace) shows as three lines; **Expand** shows all of it.
|
|
109
|
+
The database server panel below waits until no tool is missing, so there is one
|
|
110
|
+
thing to fix at a time.
|
|
111
|
+
|
|
112
|
+
## A database server you run
|
|
113
|
+
|
|
114
|
+
When the project's Stack declares a MySQL/MariaDB or PostgreSQL database and
|
|
115
|
+
this computer supplies none itself, the person runs that server: one they
|
|
116
|
+
already have, or one they install. After a preparation step fails, a
|
|
117
|
+
**database server** panel appears under the failed step. It says whether
|
|
118
|
+
Vibe64 could sign in, in one sentence: nothing answering at the host and port,
|
|
119
|
+
a wrong user or password, a user that can only sign in from the computer's
|
|
120
|
+
administrator account (such as `root` on a fresh MariaDB, or `postgres`), a
|
|
121
|
+
missing database, or no access to it.
|
|
122
|
+
|
|
123
|
+
The panel's fields are the project's Env values under the exact names the
|
|
124
|
+
Stack declares (for example `DB_HOST`, `DB_PORT`, `DB_NAME` or `DB_DATABASE`,
|
|
125
|
+
`DB_USER` or `DB_USERNAME`, `DB_PASSWORD`). **Save and check** saves them in
|
|
126
|
+
Env and signs in for real with the drivers Vibe64 bundles; **Check again**
|
|
127
|
+
repeats the sign-in. A saved password is never shown or sent back; an empty
|
|
128
|
+
password field keeps it. Env values always win over the Stack's defaults, and a
|
|
129
|
+
variable exported in the shell that started Vibe64 does not count.
|
|
130
|
+
|
|
131
|
+
**Install or start** shows the command for this computer (Debian, Ubuntu and
|
|
132
|
+
WSL, or macOS with Homebrew); its link opens the Databases step of the setup
|
|
133
|
+
guide, which also has the Fedora and Arch lines ([Linux](set-up-linux.md#databases),
|
|
134
|
+
[macOS](set-up-macos.md#databases)). **Create a login and
|
|
135
|
+
database** shows one command that creates a project user, its database and,
|
|
136
|
+
for PostgreSQL, the right to create test databases. **Suggest a user and
|
|
137
|
+
password** fills in a project user and a strong password first; the command
|
|
138
|
+
shows the password as dots but copies the real one. The person runs these
|
|
139
|
+
commands in their own terminal; Vibe64 never starts a database server or runs
|
|
140
|
+
them. While nothing answers, the panel leads with **Install or start** and
|
|
141
|
+
folds the settings into one line, "Looking for it at host:port · database ·
|
|
142
|
+
user", with **Change** to edit them. When the panel says connected, choose
|
|
143
|
+
**Finish preparing** on it (or **Retry** on the failed step).
|
|
144
|
+
|
|
145
|
+
Colleague can explain the panel and each message. When asked, it can check the
|
|
146
|
+
server again with the current values and save the non-secret ones the person
|
|
147
|
+
gives (host, port, database name, user name) in Env. It must not ask for,
|
|
148
|
+
repeat or save a password, and it never runs `sudo` or creates databases
|
|
149
|
+
itself; the password goes in the panel's password field.
|
|
150
|
+
|
|
102
151
|
## Resource recovery after a daemon restart
|
|
103
152
|
|
|
104
153
|
When the host supports database preservation checks, reopening a previously
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Copyable teaching topic template
|
|
2
2
|
|
|
3
|
-
This is a complete directory template for an **incomplete draft topic**. It has one draft lesson in lesson format
|
|
3
|
+
This is a complete directory template for an **incomplete draft topic**. It has one draft lesson in lesson format v3 (schemaVersion `3`, stage `studio`: taught outside any project, since it has no exercise): optional notes and three steps — a reading step (`none`), a multiple-choice step (`choice`) and a learner-ticked step (`self`) — with no exercise, automatic check or visual. Do not teach it or mark it published before human review. Check verdicts are final and come from each step's declared check (a lesson with an exercise may also use a `review` check, the learner's own AI judging their work against a rubric); Colleague never passes a step.
|
|
4
4
|
|
|
5
5
|
## Copy and adapt
|
|
6
6
|
|
|
@@ -11,7 +11,7 @@ This is a complete directory template for an **incomplete draft topic**. It has
|
|
|
11
11
|
```
|
|
12
12
|
|
|
13
13
|
Work in the copy. No dependency install or new application framework is needed for these content files.
|
|
14
|
-
2. In the copied `package.json`, replace `name` with your `learn-` repository name, `vibe64Training.topicId` with a permanent topic ID, `domainId` with the intended domain ID, and `title` with the topic title. Keep version `0.1.0`, the topic manifest's schemaVersion `1` and status `preview` while drafting (lessons declare their own schemaVersion `
|
|
14
|
+
2. In the copied `package.json`, replace `name` with your `learn-` repository name, `vibe64Training.topicId` with a permanent topic ID, `domainId` with the intended domain ID, and `title` with the topic title. Keep version `0.1.0`, the topic manifest's schemaVersion `1` and status `preview` while drafting (lessons declare their own schemaVersion `3` and `stage`). IDs start with a letter, contain only letters, digits or hyphens, and have at most 64 characters.
|
|
15
15
|
3. Replace `TOPIC-01` with your permanent first lesson code: rename its directory and update the root manifest's `lessons[0].code` and `descriptor`, the lesson descriptor's `code`, the notes title and outline row. Keep the root entry `draft` and `required:true`.
|
|
16
16
|
4. Write the outline's learner, prerequisites, final ability and lesson outcomes. Replace `notes.md` and each `steps/*.md` body with real text a learner can follow without AI. Edit `steps` in `lesson.json`: each step has a unique `id`, `title`, `body`, `check` and `required`. Use `choice` (`question`, 2–8 `options`, `answer` as 0-based option indexes), `self` (learner ticks **Done**), `none` (reading only, never required) or `auto` (a declared check; needs an exercise). At least one step must be required. Optional `guide` points at a real Vibe64 place and optional `visual` plays declared commands. Instead of a guide, a step body may end with a fenced `beats` block that the lesson step bar plays one line at a time (for example `show lesson-bar: This bar walks you through each step.`); see "Beats" in `docs/training-content.md`.
|
|
17
17
|
5. To add lessons, copy the lesson directory to a new permanent code, update its code, title and steps, and append a `draft` entry with the correct descriptor path to the root manifest and outline. Declare earlier lesson prerequisites as `{ "code": "YOUR-01" }` and topic prerequisites as `{ "topicId": "another-topic" }`. Referenced lessons must exist, precede their dependants and have no cycles. A published lesson cannot require a draft lesson.
|
|
@@ -28,7 +28,7 @@ This is a complete directory template for an **incomplete draft topic**. It has
|
|
|
28
28
|
```
|
|
29
29
|
|
|
30
30
|
Validation and bundling do not execute content, publish Git, install a topic or make drafts teachable. In a public Vibe64 development checkout, `node bin/run.js training ...` accepts the same arguments; run it from that checkout with the copied topic's absolute path.
|
|
31
|
-
7. Add an exercise, an `auto` step or a visual only when you have a real source and a working check. Follow the installed `docs/training-content.md` reference (
|
|
31
|
+
7. Add an exercise (then set the lesson's `stage` to `project`), an `auto` step or a visual only when you have a real source and a working check. Follow the installed `docs/training-content.md` reference (sections **Lesson format v3: stage and facts** and **Lesson format v2: steps**) for exercise/check/visual descriptors, exact relative paths and declared auxiliary `assets`. Never point a step body, notes, visual or exercise at `lesson.json`: it holds the choice answers and is refused. Do not add fake readiness or capabilities to make a draft appear runnable.
|
|
32
32
|
8. Trial and review the lesson with a human learner, including mistakes, assistance, recovery and relevant desktop/mobile controls. Only then change its root entry to `published`. Keep the topic `preview` until every required lesson is reviewed and published. A `released` topic cannot contain required draft lessons.
|
|
33
33
|
|
|
34
34
|
Before generating a course lock, add the real source repository as root `repository.url` in the format `https://github.com/<owner>/learn-<topic>.git`, commit the intended topic and leave it clean. Use the installed publishing guide for `vibe64 training publish-manifest`; local lock generation does not create or publish a remote repository. A course chooses this whole topic, not a subset of its lessons.
|