vibe64 0.1.35 → 0.1.37
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 +1984 -1685
- package/bin/server.js +158 -111
- package/bin/upgrade-state.js +5754 -5522
- package/dist/assets/GithubBrowserTabs-BykoCFfz.js +1 -0
- package/dist/assets/{StudioErrorNotice-sQfmeR-z.js → StudioErrorNotice-CSrUw1QV.js} +1 -1
- package/dist/assets/{Vibe64AsyncModuleState-Dx7YKRPp.js → Vibe64AsyncModuleState-Do9EqX3S.js} +1 -1
- package/dist/assets/Vibe64AuthSettingsButton-CIwtchKm.js +5 -0
- package/dist/assets/Vibe64AuthSettingsButton-M44SSmZ9.css +1 -0
- package/dist/assets/{Vibe64DashboardBackButton-yE6cyYg2.js → Vibe64DashboardBackButton-BH_8j_VR.js} +1 -1
- package/dist/assets/Vibe64DashboardShell-DXVDJUAY.js +1 -0
- package/dist/assets/{Vibe64DashboardShell-MBkUHjs-.css → Vibe64DashboardShell-De2mbdpI.css} +1 -1
- package/dist/assets/{Vibe64DatabaseWorkspace-BONJdxBS.js → Vibe64DatabaseWorkspace-Ca8IHSRq.js} +3 -3
- package/dist/assets/{Vibe64DatabaseWorkspace-CR4pzzcf.css → Vibe64DatabaseWorkspace-DPDMxhAW.css} +1 -1
- package/dist/assets/Vibe64OutputControls-Co5YzwcK.css +1 -0
- package/dist/assets/Vibe64OutputControls-DngQNTTt.js +8 -0
- package/dist/assets/{Vibe64RepositoryWorkspace-CVHcT93M.css → Vibe64RepositoryWorkspace-Agyt4O-V.css} +1 -1
- package/dist/assets/{Vibe64RepositoryWorkspace-ByQlZbyO.js → Vibe64RepositoryWorkspace-BfsZozSJ.js} +2 -2
- package/dist/assets/Vibe64SessionFiles-Bl8wJ5Sk.css +1 -0
- package/dist/assets/Vibe64SessionFiles-n87RqqY6.js +41 -0
- package/dist/assets/{Vibe64TemporaryAiFixAction-BGlcrq4d.js → Vibe64TemporaryAiFixAction-BiuIE9mC.js} +1 -1
- package/dist/assets/{Vibe64UiStoryboardView-Brlwdvqi.js → Vibe64UiStoryboardView-BhKRpL0N.js} +1 -1
- package/dist/assets/{Vibe64UnavailableSessions-zwlWlcZD.js → Vibe64UnavailableSessions-Ca5nC7KH.js} +1 -1
- package/dist/assets/{_sessionId_-CvOkQbVy.js → _sessionId_-B_TTRB4c.js} +1 -1
- package/dist/assets/{_sessionTool_-Dwod5ns9.js → _sessionTool_-1V-z6Pbp.js} +1 -1
- package/dist/assets/_slug_-Buxpw0T4.css +1 -0
- package/dist/assets/_slug_-DsqilUs_.js +24 -0
- package/dist/assets/{access-BVu5XYm2.js → access-tl4ht_d8.js} +1 -1
- package/dist/assets/app-CZu7oxUO.css +1 -0
- package/dist/assets/app-DT4_MliP.js +1 -0
- package/dist/assets/{assistantRouting-CwbwfkwB.js → assistantRouting-D4XpXcEf.js} +1 -1
- package/dist/assets/{changes-olY8cnFK.js → changes-DZWHZguL.js} +1 -1
- package/dist/assets/client-BWV84wi2.js +2 -0
- package/dist/assets/client-DGrP-2AJ.css +1 -0
- package/dist/assets/conversation-B90ERX9h.js +17 -0
- package/dist/assets/conversation-vxJGwmtW.css +1 -0
- package/dist/assets/{dashboard-BnXD-H4R.js → dashboard-iREwhGqv.js} +1 -1
- package/dist/assets/definitions-CNu5E87y.js +1 -0
- package/dist/assets/{env-DJhnLOH7.css → env-BzRtyO0w.css} +1 -1
- package/dist/assets/env-D5KpTEw7.js +1 -0
- package/dist/assets/health-BJvooRnJ.css +1 -0
- package/dist/assets/health-BhoO1d4h.js +1 -0
- package/dist/assets/{history-BxlpB-YH.js → history-DVURy45X.js} +1 -1
- package/dist/assets/{incoming-BOxRVlOM.js → incoming-DzADFGqp.js} +1 -1
- package/dist/assets/index-GBRpNZLy.js +138 -0
- package/dist/assets/index-irlMYzLh.css +1 -0
- package/dist/assets/{integrations-BFltGDVI.js → integrations-Dy5jIiJ5.js} +2 -2
- package/dist/assets/issues-lh7R775d.js +1 -0
- package/dist/assets/learning-_O1PEaam.js +1 -0
- package/dist/assets/mdi-CG9pWOSj.js +1 -0
- package/dist/assets/placement-BF-zIEhA.js +1 -0
- package/dist/assets/pull-requests-ByE-Dvk7.js +1 -0
- package/dist/assets/{repository-JWLVST3D.js → repository-BUfUAyS9.js} +1 -1
- package/dist/assets/roboto-latin-wght-normal-ccAYIvAh.woff2 +0 -0
- package/dist/assets/{session-C5Nj8Dlq.js → session-BdhKrcX4.js} +1 -1
- package/dist/assets/settings-CzhIcn9K.js +1 -0
- package/dist/assets/shared-DpMvYJO3.js +2 -0
- package/dist/assets/studioGateApi-DcCqiD9V.js +1 -0
- package/dist/assets/studioUrls-DmMMIScP.js +1 -0
- package/dist/assets/useArchivedVibe64Sessions-CLHJOyeW.js +1 -0
- package/dist/assets/useCommand-Bqxb-naz.js +1 -0
- package/dist/assets/useEndpointResource-DWoQ2keu.js +1 -0
- package/dist/assets/useRealtimeEvent-Bwapstla.js +1 -0
- package/dist/assets/{useUiFeedback-0FqKuZRP.js → useUiFeedback-BPBF_0bp.js} +1 -1
- package/dist/assets/useVibe64ConversationLog-B4JgmxUf.js +1 -0
- package/dist/assets/useVibe64DatabaseTools-4o6S8eXq.js +1 -0
- package/dist/assets/useVibe64Learning-DyqXkpLw.js +1 -0
- package/dist/assets/useVibe64ProjectScope-Bp1ImZlz.js +1 -0
- package/dist/assets/useVibe64SessionData-YhhE_5pC.js +1 -0
- package/dist/assets/useVibe64SessionSelection-CuZCzAcY.js +1 -0
- package/dist/assets/useVibe64SystemGraph-B4RmsC9Y.js +1 -0
- package/dist/assets/{useVibe64Terminal-BPnN25WH.js → useVibe64Terminal-Cg3idMcy.js} +1 -1
- package/dist/assets/vibe64AssistantHost-CP6oxv5b.js +1 -0
- package/dist/assets/{vibe64SessionFocus-kqPOPaOH.js → vibe64SessionFocus-Cz5Vq1re.js} +1 -1
- package/dist/assets/{vibe64SessionInfo-BHxtTrLX.js → vibe64SessionInfo-BuBUdL-e.js} +1 -1
- package/dist/assets/{vibe64SessionPanelModel-BMf64fv7.js → vibe64SessionPanelModel-DDorOuiL.js} +1 -1
- package/dist/assets/{vibe64SessionToolDefinitions-NfLd1HZI.js → vibe64SessionToolDefinitions-BJaJH5LR.js} +1 -1
- package/dist/index.html +21 -20
- package/docs/colleague-usage/account-profile-and-appearance.md +8 -2
- package/docs/colleague-usage/ai-accounts-and-routing.md +127 -16
- package/docs/colleague-usage/ai-onboarding.md +229 -0
- package/docs/colleague-usage/coding-agent-goal-pause.md +5 -5
- package/docs/colleague-usage/coding-agents.md +21 -0
- package/docs/colleague-usage/colleague-watches.md +4 -23
- package/docs/colleague-usage/colleague.md +10 -2
- package/docs/colleague-usage/connected-projects.md +10 -2
- package/docs/colleague-usage/conversation-context.md +2 -0
- package/docs/colleague-usage/dashboard-navigation.md +19 -27
- package/docs/colleague-usage/database.md +6 -11
- package/docs/colleague-usage/development-copies.md +2 -1
- package/docs/colleague-usage/development-env.md +6 -0
- package/docs/colleague-usage/github-work.md +9 -0
- package/docs/colleague-usage/health-checks.md +11 -5
- package/docs/colleague-usage/integrations.md +3 -1
- package/docs/colleague-usage/learning-code-questions.md +23 -51
- package/docs/colleague-usage/learning-course-catalogue.md +8 -6
- package/docs/colleague-usage/learning-environment.md +337 -0
- package/docs/colleague-usage/learning-history.md +70 -101
- package/docs/colleague-usage/learning-mode-ui.md +129 -214
- package/docs/colleague-usage/learning-practice-projects.md +178 -78
- package/docs/colleague-usage/learning-teacher-guide.md +48 -26
- package/docs/colleague-usage/learning-with-colleague.md +195 -216
- package/docs/colleague-usage/lesson-authoring.md +41 -24
- package/docs/colleague-usage/lesson-step-bar.md +99 -0
- package/docs/colleague-usage/managed-app-access.md +7 -0
- package/docs/colleague-usage/message-delivery-recovery.md +7 -6
- package/docs/colleague-usage/preview-browser-checks.md +9 -1
- package/docs/colleague-usage/preview-starting-application.md +0 -1
- package/docs/colleague-usage/preview.md +12 -1
- package/docs/colleague-usage/project-messages.md +2 -2
- package/docs/colleague-usage/project-setup.md +9 -2
- package/docs/colleague-usage/running-vibe64-on-your-computer.md +61 -0
- package/docs/colleague-usage/sessions.md +25 -33
- package/docs/colleague-usage/teaching-content.md +14 -40
- package/docs/colleague-usage/temporary-chats.md +23 -2
- package/docs/colleague-usage/voice-chat.md +5 -10
- package/docs/colleague-usage/voice-face-and-speaking-voice.md +6 -8
- package/docs/colleague-usage/voice-recovery.md +3 -2
- package/docs/templates/learn-topic/README.md +6 -6
- package/docs/templates/learn-topic/training/lessons/TOPIC-01/lesson.json +28 -7
- package/docs/templates/learn-topic/training/lessons/TOPIC-01/notes.md +19 -0
- package/docs/templates/learn-topic/training/lessons/TOPIC-01/steps/check-understanding.md +3 -0
- package/docs/templates/learn-topic/training/lessons/TOPIC-01/steps/explain-idea.md +3 -0
- package/docs/templates/learn-topic/training/lessons/TOPIC-01/steps/try-it.md +3 -0
- package/docs/templates/learn-topic/training/outline.md +1 -1
- package/docs/training-content.md +319 -66
- 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-runtime/patterns/assistant-surface/PATTERN.md +3 -2
- package/node_modules/@jskit-ai/assistant-runtime/patterns/assistant-surface/example/integrations.json +3 -2
- package/node_modules/@jskit-ai/assistant-voice/package.json +1 -1
- package/node_modules/@jskit-ai/connectors-catalog/package.json +1 -1
- package/node_modules/@jskit-ai/connectors-catalog/patterns/ai-connections/PATTERN.md +4 -3
- package/node_modules/@jskit-ai/connectors-catalog/src/shared/ai-models.json +0 -1
- package/node_modules/@local/vibe64-accounts/package.json +1 -0
- package/node_modules/@local/vibe64-colleague/package.json +2 -1
- package/node_modules/@local/vibe64-core/package.json +3 -0
- package/node_modules/@local/vibe64-execution/package.json +1 -0
- package/node_modules/@local/vibe64-execution/src/host/execHelper.js +171 -174
- package/node_modules/@local/vibe64-execution/src/server/engines/stdioBridge.js +9 -9
- package/node_modules/@local/vibe64-execution/src/server/hostProfile.js +12 -0
- package/node_modules/@local/vibe64-genesis/README.md +10 -37
- package/node_modules/@local/vibe64-genesis/bin/vibe64-genesis-host-context +790 -779
- package/node_modules/@local/vibe64-genesis/package.json +1 -0
- package/node_modules/@local/vibe64-genesis/src/server/agentSpecs.js +255 -0
- package/node_modules/@local/vibe64-genesis/src/server/index.js +473 -450
- package/node_modules/@local/vibe64-genesis/src/server/promptContext.js +148 -148
- package/node_modules/@local/vibe64-project/package.json +2 -1
- package/node_modules/@local/vibe64-runtime/package.json +1 -2
- package/node_modules/@local/vibe64-runtime/src/server/codexAppServerProcess.js +526 -512
- package/node_modules/@local/vibe64-runtime/src/shared/assistantRoutingScores.json +0 -1
- package/node_modules/@local/vibe64-source-editor/package.json +1 -0
- package/node_modules/@local/vibe64-terminals/package.json +2 -0
- package/node_modules/@local/vibe64-terminals/src/server/opencodeSessionEnvironmentPlugin.js +129 -131
- package/node_modules/@local/vibe64-terminals/src/server/sessionWorkOperationCommand.js +1508 -1456
- package/node_modules/@local/vibe64-training/package.json +16 -27
- package/package.json +7 -7
- package/server.bundle.mjs +41339 -41635
- package/dist/assets/GithubBrowserTabs-DO5PHon-.js +0 -1
- package/dist/assets/GithubMarkdown-BQ6MfCDJ.js +0 -3
- package/dist/assets/GithubMarkdown-U7-j-qNI.css +0 -1
- package/dist/assets/Vibe64DashboardShell-CuCVMhOc.js +0 -1
- package/dist/assets/Vibe64OutputControls-DAAmA09l.js +0 -8
- package/dist/assets/Vibe64OutputControls-DPBsyDZM.css +0 -1
- package/dist/assets/Vibe64SessionFiles-B0u9HKdF.js +0 -107
- package/dist/assets/Vibe64SessionFiles-NjOMVwPR.css +0 -1
- package/dist/assets/_slug_-B31c15cc.css +0 -1
- package/dist/assets/_slug_-Dy35qLo1.js +0 -1
- package/dist/assets/app-DRXCcv05.css +0 -1
- package/dist/assets/app-zt7HwQKT.js +0 -1
- package/dist/assets/client-BrV4QPwG.js +0 -2
- package/dist/assets/client-C1bwIlu6.css +0 -1
- package/dist/assets/definitions-DaOPIkyB.js +0 -1
- package/dist/assets/env-DN0vW4EI.js +0 -1
- package/dist/assets/health-7oIQODer.css +0 -1
- package/dist/assets/health-Z6m96GDr.js +0 -1
- package/dist/assets/index-BUq-MczL.js +0 -86
- package/dist/assets/index-DtmBqE3h.css +0 -1
- package/dist/assets/issues-1iS5zoed.js +0 -1
- package/dist/assets/layout-BkWVNT37.js +0 -1
- package/dist/assets/mdi-C54lQ0i_.js +0 -1
- package/dist/assets/placement-DLsU3pCW.js +0 -1
- package/dist/assets/pull-requests-BJOwNL4k.js +0 -1
- package/dist/assets/settings-c273Ikrm.js +0 -1
- package/dist/assets/shared-YZb7ocaK.js +0 -2
- package/dist/assets/studioGateApi-DhA9IJGZ.js +0 -1
- package/dist/assets/studioUrls-Dj8rXeXO.js +0 -1
- package/dist/assets/useArchivedVibe64Sessions-CVZx2Rtm.js +0 -1
- package/dist/assets/useCommand-DWuxfAV0.js +0 -1
- package/dist/assets/useEndpointResource-MWVNfmMa.js +0 -1
- package/dist/assets/useVibe64ConversationLog-8cKh1eDm.js +0 -1
- package/dist/assets/useVibe64DatabaseTools-BcRG1s3i.js +0 -1
- package/dist/assets/useVibe64LearningMode-Bl0dGdCh.js +0 -28
- package/dist/assets/useVibe64LearningMode-C3PcXdVg.css +0 -1
- package/dist/assets/useVibe64ProjectScope-DOEVkBqX.js +0 -1
- package/dist/assets/useVibe64SessionData-DFTyLzci.js +0 -1
- package/dist/assets/useVibe64SessionSelection-j9lsllx4.js +0 -1
- package/dist/assets/useVibe64SystemGraph-tNkIwSBQ.js +0 -1
- package/dist/assets/vibe64AssistantHost-DdE_-lZF.js +0 -1
- package/dist/assets/vibe64LessonDashboard-DlKYjisq.js +0 -1
- package/dist/assets/vibe64ProjectScope.local-DqT6e5un.js +0 -1
- package/docs/colleague-usage/learning-chat-retention.md +0 -74
- package/docs/colleague-usage/learning-diagrams-and-voice.md +0 -97
- package/docs/colleague-usage/learning-lesson-watch.md +0 -95
- package/docs/colleague-usage/learning-native-session.md +0 -206
- package/docs/colleague-usage/learning-practical-exercises.md +0 -71
- package/docs/colleague-usage/learning-practical-gestures.md +0 -48
- package/docs/colleague-usage/learning-session-creation.md +0 -95
- package/docs/colleague-usage/lesson-practical-assessment.md +0 -54
- package/docs/colleague-usage/preview-lesson-presentation.md +0 -56
- package/docs/templates/learn-topic/training/lessons/TOPIC-01/lesson.md +0 -44
|
@@ -1,78 +1,178 @@
|
|
|
1
|
-
#
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
the
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
the
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
1
|
+
# Lessons in progress, practice projects and archives
|
|
2
|
+
|
|
3
|
+
Vibe64 has two modes: **Develop**, for your own projects, and **Learn**, for
|
|
4
|
+
lessons. **L** switches between them (see
|
|
5
|
+
[The Learning environment (L)](learning-environment.md)). This guide covers
|
|
6
|
+
what a lesson keeps while it is in progress, and what happens when you finish,
|
|
7
|
+
restart or delete it.
|
|
8
|
+
|
|
9
|
+
## One lesson in progress
|
|
10
|
+
|
|
11
|
+
Starting a lesson (**Courses**, then **Start**) begins one run of it, called an
|
|
12
|
+
attempt. The attempt owns:
|
|
13
|
+
|
|
14
|
+
- its step results,
|
|
15
|
+
- its teacher conversation with Colleague,
|
|
16
|
+
- its practice project, when the lesson needs a practice application.
|
|
17
|
+
A lesson without one has no project.
|
|
18
|
+
|
|
19
|
+
You have at most one lesson in progress. It stays in progress until you finish,
|
|
20
|
+
restart or delete it. Switching to Develop, or opening another page, only
|
|
21
|
+
pauses it: its project, results and conversation are all kept, for as long as
|
|
22
|
+
you like. Press **L** to come back to it.
|
|
23
|
+
|
|
24
|
+
If you start a different lesson while one is in progress, Vibe64 asks once
|
|
25
|
+
whether to archive the current lesson first. Confirming archives it (see
|
|
26
|
+
below) and starts the new lesson. Cancelling changes nothing and keeps the
|
|
27
|
+
current lesson in progress. Starting the lesson that is already in progress
|
|
28
|
+
just opens it.
|
|
29
|
+
|
|
30
|
+
## Practice projects
|
|
31
|
+
|
|
32
|
+
Some lessons need a practice application. Starting such a lesson creates a
|
|
33
|
+
practice project for it. If the installation reports that exercise preparation
|
|
34
|
+
is unavailable, ask the owner to provide preparation support before retrying.
|
|
35
|
+
That refusal means preparation did not start.
|
|
36
|
+
|
|
37
|
+
Preparation uses the exercise bundled with the lesson. Workspace setup may
|
|
38
|
+
continue after the start request finishes; when it succeeds the lesson becomes
|
|
39
|
+
ready on its own. Failed setup needs its existing recovery; then ask Colleague
|
|
40
|
+
to resume the lesson's preparation. Setup success does not mean Preview is running or a step has
|
|
41
|
+
passed. Standalone setup uses the installation's actual resources; it does not
|
|
42
|
+
create a hosted development database by default.
|
|
43
|
+
|
|
44
|
+
Practice projects live in your own learning space, apart from your projects.
|
|
45
|
+
In Develop mode they never appear in the project lists, the project switcher or
|
|
46
|
+
Management → **Projects**, and opening one says
|
|
47
|
+
"This is a practice project. Press L to switch to Learn." In Learn mode only
|
|
48
|
+
your practice projects open; opening one of your own projects says
|
|
49
|
+
"You're in Learn mode. Press L to go back to your projects." Only you see your
|
|
50
|
+
practice projects; the workspace owner does not.
|
|
51
|
+
|
|
52
|
+
This separation is part of Vibe64, not of the computer. Vibe64 keeps the two
|
|
53
|
+
apart in where it stores them, what it lists and what it opens. It is not a
|
|
54
|
+
security boundary: agents and the practice application run on the same machine,
|
|
55
|
+
with the same system access, as your other projects. Treat a practice project
|
|
56
|
+
like any of your projects and do not put secrets in it.
|
|
57
|
+
|
|
58
|
+
Before an agent turn, Vibe64 writes its agent guidance (the `.agents`,
|
|
59
|
+
`.claude`, `.codex` and `.opencode` folders) into the project. In a practice
|
|
60
|
+
project these folders stay out of **Current changes** and out of what **Save**
|
|
61
|
+
commits, so you see and save only your own changes; every lesson gets this
|
|
62
|
+
without anything in its exercise. In your own projects they appear as changes
|
|
63
|
+
to save, as before.
|
|
64
|
+
|
|
65
|
+
A practice project is a complete project. Its chat, **Preview**, **Dashboard**
|
|
66
|
+
and sessions work as in any project. The session that lesson preparation
|
|
67
|
+
creates in it is an ordinary session.
|
|
68
|
+
|
|
69
|
+
## In progress and Archived
|
|
70
|
+
|
|
71
|
+
In Learn mode, **Courses** (on the lesson step bar, or in the project menu beside **L**) has an **In progress** list and an
|
|
72
|
+
**Archived** list. Until your lessons are read, each list shows **Loading your
|
|
73
|
+
lesson…** or **Loading archived lessons…** instead of staying blank.
|
|
74
|
+
|
|
75
|
+
**In progress** shows the lesson in progress, if any: its title and its
|
|
76
|
+
practice project's name (or **No practice project**). Without one it says
|
|
77
|
+
**No lesson in progress. Start one from Courses.** The row has three buttons:
|
|
78
|
+
|
|
79
|
+
- **Open** closes Courses and opens the lesson in the **Lesson** tab of its
|
|
80
|
+
practice project (or, for a lesson without one, of the page with no project
|
|
81
|
+
selected).
|
|
82
|
+
- **Restart** turns into **Archive and restart**; press that to archive this
|
|
83
|
+
attempt and start the same lesson again with a new practice project, a new
|
|
84
|
+
teacher conversation and no step results.
|
|
85
|
+
- **Delete** turns into **Delete for good**; press that to delete the lesson
|
|
86
|
+
in progress for good: its practice project (files, sessions and Preview) and
|
|
87
|
+
its teacher conversation go, with no archive. A lesson you completed before
|
|
88
|
+
stays completed.
|
|
89
|
+
|
|
90
|
+
**Archived** lists your archived lessons, newest first, with the lesson title,
|
|
91
|
+
whether it was finished or archived, and the date. Each row has a delete
|
|
92
|
+
icon, then **Delete for good**, which removes that archive for good. You can keep at most 20 archived lessons;
|
|
93
|
+
finishing, restarting or archiving another lesson is refused until you delete
|
|
94
|
+
one. Archived lessons cannot be reopened from Vibe64; use **Start lesson** again to
|
|
95
|
+
redo a lesson.
|
|
96
|
+
|
|
97
|
+
An archive keeps the attempt's record and step results, its teacher
|
|
98
|
+
conversation and its practice project's source, sessions and state, but leaves
|
|
99
|
+
out dependencies that can be rebuilt, such as `node_modules`. A lesson without
|
|
100
|
+
a practice project keeps only its record and conversation.
|
|
101
|
+
|
|
102
|
+
To limit disk use, only your 3 newest archived lessons with a practice project
|
|
103
|
+
keep it (they show **with practice project** in the list). When archiving
|
|
104
|
+
another lesson's project would make 4, the oldest of them loses its practice
|
|
105
|
+
project, on its own; it keeps its record, step results and teacher
|
|
106
|
+
conversation. Lessons without a practice project do not count. This never
|
|
107
|
+
touches the lesson in progress, however long it stays paused, or your own
|
|
108
|
+
projects.
|
|
109
|
+
|
|
110
|
+
## Finishing a lesson
|
|
111
|
+
|
|
112
|
+
When every required step has passed, the lesson's **Lesson finished** screen,
|
|
113
|
+
in the page's **Lesson** tab, finishes it: the lesson counts as completed for good, and the attempt is
|
|
114
|
+
archived as one bundle (its record, practice project and conversation). The
|
|
115
|
+
screen then offers **Next lesson** and **Back to courses**. **Start lesson** on
|
|
116
|
+
the course page starts a new attempt with a fresh project, teacher and results; the
|
|
117
|
+
course list still shows the lesson as completed.
|
|
118
|
+
|
|
119
|
+
## When something refuses or stops
|
|
120
|
+
|
|
121
|
+
If a session in the practice project is pinned, finishing, restarting,
|
|
122
|
+
archiving or deleting refuses with a message that names the session. Nothing
|
|
123
|
+
was changed. Open the session, choose **Unpin session**, and try again. A full
|
|
124
|
+
archive (20 lessons) or too little storage also refuses with nothing changed.
|
|
125
|
+
|
|
126
|
+
If archiving or deleting stops part-way, the lesson stays in progress (a
|
|
127
|
+
stopped removal shows **Being deleted**). Press the same button again; it
|
|
128
|
+
continues from the step that failed. **Delete** also finishes a stopped archive.
|
|
129
|
+
If it keeps failing, the error says why; ask the person who runs this Vibe64
|
|
130
|
+
to inspect it.
|
|
131
|
+
|
|
132
|
+
## What Colleague can do
|
|
133
|
+
|
|
134
|
+
Colleague can list the lesson in progress and the archived lessons, and switch
|
|
135
|
+
between Learn and Develop when you ask. It restarts or finishes a lesson only
|
|
136
|
+
when you ask, and deletes the lesson in progress or an archive only when you
|
|
137
|
+
ask and then confirm that exact deletion; an offer is not a request. Starting a
|
|
138
|
+
different lesson while one is in progress needs your confirmation to archive
|
|
139
|
+
the current one first.
|
|
140
|
+
|
|
141
|
+
## A practice project open elsewhere
|
|
142
|
+
|
|
143
|
+
If a practice project that was archived or deleted is still open in another tab
|
|
144
|
+
or window, that page switches by itself (no reload needed) to **This practice
|
|
145
|
+
project is gone** instead of an error. The page's requests answer not found with
|
|
146
|
+
the code `vibe64_practice_project_deleted`. Colleague can explain this.
|
|
147
|
+
|
|
148
|
+
## How a practice project is named
|
|
149
|
+
|
|
150
|
+
A practice project keeps its address (`/app/project/training-…`), but Vibe64
|
|
151
|
+
names it after its lesson: in the project header, in **Courses** and by
|
|
152
|
+
Colleague. The name is **Practice:** followed by the lesson title, otherwise the
|
|
153
|
+
lesson code, for example **Practice: V64-START-02**. Hover the header name on a
|
|
154
|
+
computer to see the address too.
|
|
155
|
+
|
|
156
|
+
On a phone the header name shortens with **…** so it never covers the other
|
|
157
|
+
header buttons. While Preview's controls are showing on a very narrow phone, or
|
|
158
|
+
beside a local project's Git branch and GitHub controls on a phone narrower than
|
|
159
|
+
about 540px, there may be no room for it at all; the name is then hidden rather
|
|
160
|
+
than squeezed. With Preview shown, **Show chat** brings it back; otherwise turn
|
|
161
|
+
the phone sideways or use a wider screen. On phones narrower than about 480px the button that switches
|
|
162
|
+
between **Preview** and **Dashboard** shows that pane's icon instead of the word
|
|
163
|
+
(its name is still **Go to dashboard** or **Go to preview**).
|
|
164
|
+
|
|
165
|
+
## Working in the practice project
|
|
166
|
+
|
|
167
|
+
The practice project's session has an ordinary Vibe64 agent, without lesson
|
|
168
|
+
instructions. Ask it to make a change and it works in the practice project, as
|
|
169
|
+
in any project; Colleague teaches you to instruct it well (say the goal, where
|
|
170
|
+
the change belongs and how you will check it). Then check the result yourself in
|
|
171
|
+
**Preview** and the **Dashboard** sections.
|
|
172
|
+
|
|
173
|
+
Work an agent does for you never counts as your own work. While a code step is
|
|
174
|
+
open, make the edits to its files yourself in
|
|
175
|
+
**Dashboard → Files**: your saves there are recorded for the lesson, and any
|
|
176
|
+
other writer's edit in those files means the step's **Check now** asks for an
|
|
177
|
+
independent attempt (see [Answering a code question in a lesson](learning-code-questions.md)).
|
|
178
|
+
Hosted workspaces record these saves the same way.
|
|
@@ -1,52 +1,74 @@
|
|
|
1
1
|
# Learning teacher guide
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
You then click it yourself.
|
|
3
|
+
Colleague teaches your lessons and shows you where things are in the real
|
|
4
|
+
Vibe64 app. By default it *points*: it rings the real control you should click
|
|
5
|
+
next, with a short caption such as **Dashboard → Database → ERD** or the
|
|
6
|
+
lesson's own caption. You then click it yourself.
|
|
7
7
|
|
|
8
8
|
## What you see
|
|
9
9
|
|
|
10
10
|
- The rest of the screen dims slightly, and a ring with a gentle ripple sits on
|
|
11
|
-
one real tab, Dashboard section or button. A caption
|
|
12
|
-
|
|
11
|
+
one real tab, Dashboard section or button. A caption points at it; a thin bar
|
|
12
|
+
on the caption shows the time left.
|
|
13
13
|
- The ring is on the next step from where you are. On **Preview**, a path to the
|
|
14
14
|
ERD rings the **Dashboard** tab; once you are in **Dashboard → Database**, it
|
|
15
|
-
rings the **ERD** button.
|
|
15
|
+
rings the **ERD** button. When you are already at the place (for example
|
|
16
|
+
Preview or **Dashboard → Files** is open), the ring goes around that open
|
|
17
|
+
pane, with the caption inside its top edge when the pane fills the screen.
|
|
16
18
|
- The ring lasts about 8 seconds, or until you click or press a key. It never
|
|
17
19
|
blocks your click, and it holds still when your device asks for reduced motion.
|
|
20
|
+
- If Learning is open above the app when Colleague points at an app place,
|
|
21
|
+
Learning is minimised first (your lesson and step are kept) so you can see it.
|
|
18
22
|
|
|
19
|
-
## Places
|
|
23
|
+
## Places Colleague can point at
|
|
20
24
|
|
|
21
25
|
**Preview**, **Dashboard**, **Dashboard → Database → ERD** or **Data**,
|
|
22
26
|
**Dashboard → Files** (and one file in it), **Current changes**, **Git log**,
|
|
23
|
-
**Session info**, **Architecture**, and the
|
|
24
|
-
the
|
|
27
|
+
**Session info**, **Architecture**, and the **L** (Learning) button. A Dashboard
|
|
28
|
+
section the project does not show cannot be ringed.
|
|
25
29
|
|
|
26
30
|
## On a phone
|
|
27
31
|
|
|
28
|
-
A phone shows the chat or one pane at a time, so the
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
A phone shows the chat or one pane at a time, so the Preview/Dashboard tabs and
|
|
33
|
+
the Dashboard menu are hidden. Colleague's full-screen chat minimises itself
|
|
34
|
+
first so the ring is visible. Then:
|
|
35
|
+
|
|
36
|
+
- If the place's pane is already showing (for example Preview, or Files in the
|
|
37
|
+
Dashboard), the ring goes around that pane.
|
|
38
|
+
- In the Dashboard, a Dashboard section that is not open rings the
|
|
39
|
+
**Dashboard section** select at the top; choose the section there.
|
|
40
|
+
- When Files, Database, Architecture or Current changes fills the Dashboard
|
|
41
|
+
and the place is another Dashboard section, the ring goes around that pane's
|
|
42
|
+
**Back to dashboard** button (in Files or Database it may read **Back to
|
|
43
|
+
Architecture**). Tap it, then follow the next ring.
|
|
44
|
+
- Only when the place is in the other pane (Preview instead of Dashboard, or
|
|
45
|
+
the reverse), or the chat is showing, does the ring sit on the header's pane
|
|
46
|
+
switch: the arrow button that shows the project
|
|
47
|
+
panes from the chat, or the next-pane button (for example **Dashboard ›**;
|
|
48
|
+
on phones narrower than about 480px it shows only the Dashboard or Preview
|
|
49
|
+
icon).
|
|
50
|
+
Tap it; when the next step becomes visible, Colleague can ring it directly.
|
|
51
|
+
|
|
52
|
+
The caption always shows the whole path. Reopen Colleague with its avatar
|
|
53
|
+
button.
|
|
34
54
|
|
|
35
55
|
## When nothing is ringed
|
|
36
56
|
|
|
37
57
|
If neither a step on the path nor the pane switch is visible, nothing is drawn.
|
|
38
|
-
|
|
39
|
-
visible controls.
|
|
58
|
+
Colleague is told so, never claims a highlight, and gives you the path in words
|
|
59
|
+
instead; follow it with the visible controls.
|
|
40
60
|
|
|
41
61
|
## "Show me"
|
|
42
62
|
|
|
43
|
-
Ask
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
63
|
+
Ask Colleague to "show me" and it opens the place itself in your project (for a
|
|
64
|
+
file, in **Dashboard → Files**) and rings it there. For the Learning place it
|
|
65
|
+
opens Learning. A view Colleague opens is a demonstration, not your step: it never
|
|
66
|
+
passes a lesson step. When a lesson asks you to find a place, click it yourself.
|
|
47
67
|
|
|
48
|
-
##
|
|
68
|
+
## Opening your lesson
|
|
49
69
|
|
|
50
|
-
Colleague can
|
|
51
|
-
|
|
52
|
-
|
|
70
|
+
Colleague can show your current lesson step in the Learn page's **Lesson** tab,
|
|
71
|
+
and open the **Courses** catalogue or close it so you can see the app, without
|
|
72
|
+
ending the lesson. While the lesson is going, the **Step N/M** button in
|
|
73
|
+
Colleague's header shows the current step in the Lesson tab (on a phone,
|
|
74
|
+
Colleague's chat minimises so the step is visible).
|