@pellux/goodvibes-agent 0.1.106 → 0.1.107
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/CHANGELOG.md +6 -0
- package/README.md +4 -1
- package/docs/getting-started.md +4 -1
- package/package.json +1 -1
- package/src/cli/completion.ts +2 -0
- package/src/cli/help.ts +4 -3
- package/src/cli/parser.ts +2 -0
- package/src/cli/tui-startup.ts +3 -1
- package/src/version.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to GoodVibes Agent will be recorded here.
|
|
4
4
|
|
|
5
|
+
## 0.1.107 - Unreleased
|
|
6
|
+
|
|
7
|
+
- Add `goodvibes-agent launch` and `goodvibes-agent start` as explicit aliases for starting the Agent TUI.
|
|
8
|
+
- Open the Agent operator workspace automatically on normal TUI launch after first-run setup has been shown.
|
|
9
|
+
- Document the Bun global install path with `goodvibes-agent launch` as the first interactive smoke.
|
|
10
|
+
|
|
5
11
|
## 0.1.106 - 2026-06-01
|
|
6
12
|
|
|
7
13
|
- b67a2fe Polish Agent setup entrypoint
|
package/README.md
CHANGED
|
@@ -14,6 +14,7 @@ Install the public alpha package with Bun:
|
|
|
14
14
|
```sh
|
|
15
15
|
bun add -g --trust @pellux/goodvibes-agent
|
|
16
16
|
goodvibes-agent --help
|
|
17
|
+
goodvibes-agent launch
|
|
17
18
|
goodvibes-agent status
|
|
18
19
|
goodvibes-agent profiles templates
|
|
19
20
|
goodvibes-agent personas list
|
|
@@ -31,6 +32,8 @@ export PATH="$(bun pm bin -g):$PATH"
|
|
|
31
32
|
goodvibes-agent --help
|
|
32
33
|
```
|
|
33
34
|
|
|
35
|
+
`goodvibes-agent` and `goodvibes-agent launch` both start the interactive Agent TUI. On a fresh Agent home, the TUI opens Agent setup first.
|
|
36
|
+
|
|
34
37
|
`--trust` lets Bun run the package lifecycle scripts required by the shipped SDK and parser dependencies during global install. A healthy install should report no pending lifecycle scripts:
|
|
35
38
|
|
|
36
39
|
```sh
|
|
@@ -62,7 +65,7 @@ bun run package:install-check
|
|
|
62
65
|
bun run publish:check
|
|
63
66
|
```
|
|
64
67
|
|
|
65
|
-
|
|
68
|
+
After setup has been shown once, the Agent TUI opens directly into the operator workspace. You can also reopen it with `/agent`, `/home`, or `/operator`. It is the Agent-first fullscreen workspace for setup, status, knowledge, local memory/skills, work-plan/approval review, automation observability, and explicit build delegation to GoodVibes TUI.
|
|
66
69
|
|
|
67
70
|
Inside the workspace, use `/agent-profile guide` to author custom profile starters without leaving the Agent TUI. The guided flow lists starters, exports starter JSON, imports edited local starters, and creates isolated Agent profiles from them.
|
|
68
71
|
|
package/docs/getting-started.md
CHANGED
|
@@ -15,6 +15,7 @@ Agent does not launch the runtime for you.
|
|
|
15
15
|
```sh
|
|
16
16
|
bun add -g --trust @pellux/goodvibes-agent
|
|
17
17
|
goodvibes-agent --help
|
|
18
|
+
goodvibes-agent launch
|
|
18
19
|
goodvibes-agent status
|
|
19
20
|
goodvibes-agent personas list
|
|
20
21
|
goodvibes-agent skills list
|
|
@@ -52,7 +53,9 @@ bun run dev
|
|
|
52
53
|
|
|
53
54
|
`bun run dev` starts the Agent TUI. The same entrypoint backs the installed `goodvibes-agent` command.
|
|
54
55
|
|
|
55
|
-
|
|
56
|
+
`goodvibes-agent` and `goodvibes-agent launch` both start the interactive Agent TUI. On a fresh Agent home, the TUI opens Agent setup first.
|
|
57
|
+
|
|
58
|
+
After setup has been shown once, the TUI opens directly into the Agent operator workspace. You can also reopen it with `/agent`, `/home`, or `/operator`. That fullscreen workspace is the current front door for setup/config, knowledge status, local memory and skills, read-only work/approval/automation views, and explicit GoodVibes TUI build delegation.
|
|
56
59
|
|
|
57
60
|
Use `/agent-profile guide` inside that workspace to walk through starter-profile authoring. It lists built-in and local starters, exports a JSON starter for editing, imports the edited starter back into this Agent home, and creates isolated profiles from the result.
|
|
58
61
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pellux/goodvibes-agent",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.107",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "GoodVibes personal operator assistant TUI with a proactive Agent product brain, isolated Agent Knowledge, local profiles, routines, skills, personas, and explicit build delegation.",
|
|
6
6
|
"type": "module",
|
package/src/cli/completion.ts
CHANGED
package/src/cli/help.ts
CHANGED
|
@@ -29,7 +29,7 @@ export function renderGoodVibesHelp(binary = 'goodvibes-agent'): string {
|
|
|
29
29
|
` ${binary} [OPTIONS] <COMMAND> [ARGS]`,
|
|
30
30
|
'',
|
|
31
31
|
'Commands:',
|
|
32
|
-
' tui [path]
|
|
32
|
+
' tui|launch [path] Start the interactive Agent terminal UI (default)',
|
|
33
33
|
' run|exec [prompt] Run non-interactively with text/json/stream-json output',
|
|
34
34
|
' status Print config, provider, auth, and setup posture',
|
|
35
35
|
' doctor Print status plus setup warnings',
|
|
@@ -81,6 +81,7 @@ export function renderGoodVibesHelp(binary = 'goodvibes-agent'): string {
|
|
|
81
81
|
'',
|
|
82
82
|
'Examples:',
|
|
83
83
|
` ${binary}`,
|
|
84
|
+
` ${binary} launch`,
|
|
84
85
|
` ${binary} --no-alt-screen`,
|
|
85
86
|
` ${binary} --cd ~/work/project --model openai:gpt-5.2`,
|
|
86
87
|
` ${binary} setup`,
|
|
@@ -119,9 +120,9 @@ type CommandHelp = {
|
|
|
119
120
|
|
|
120
121
|
const COMMAND_HELP: Record<string, CommandHelp> = {
|
|
121
122
|
tui: {
|
|
122
|
-
usage: ['tui [path]', '[prompt]'],
|
|
123
|
+
usage: ['tui [path]', 'launch [path]', '[prompt]'],
|
|
123
124
|
summary: 'Start the interactive Agent terminal UI. A prompt starts Agent with that prompt seeded.',
|
|
124
|
-
examples: ['', 'tui ~/work/project', '"summarize current tasks"'],
|
|
125
|
+
examples: ['', 'launch', 'tui ~/work/project', '"summarize current tasks"'],
|
|
125
126
|
},
|
|
126
127
|
run: {
|
|
127
128
|
usage: ['run [prompt] [--output text|json|stream-json]', 'exec [prompt]'],
|
package/src/cli/parser.ts
CHANGED
package/src/cli/tui-startup.ts
CHANGED
|
@@ -100,6 +100,7 @@ export function applyInitialTuiCliState(options: {
|
|
|
100
100
|
}): void {
|
|
101
101
|
const { cli, input, commandRegistry, commandContext, shellPaths, render } = options;
|
|
102
102
|
const globalOnboardingMarker = readOnboardingCheckMarker(shellPaths, 'user');
|
|
103
|
+
const seededPrompt = cli.flags.prompt ?? (cli.rawCommand === undefined && cli.positionals.length > 0 ? cli.positionals.join(' ') : undefined);
|
|
103
104
|
if (cli.command === 'onboarding') {
|
|
104
105
|
input.openOnboardingWizard({ mode: 'edit', reset: true });
|
|
105
106
|
} else if (cli.command === 'sessions' && cli.commandArgs[0] === 'resume') {
|
|
@@ -109,9 +110,10 @@ export function applyInitialTuiCliState(options: {
|
|
|
109
110
|
}
|
|
110
111
|
} else if (!globalOnboardingMarker.exists) {
|
|
111
112
|
input.openOnboardingWizard({ mode: 'new', reset: true });
|
|
113
|
+
} else if (cli.command === 'tui' && seededPrompt === undefined) {
|
|
114
|
+
input.openAgentWorkspace(commandContext);
|
|
112
115
|
}
|
|
113
116
|
|
|
114
|
-
const seededPrompt = cli.flags.prompt ?? (cli.rawCommand === undefined && cli.positionals.length > 0 ? cli.positionals.join(' ') : undefined);
|
|
115
117
|
if (seededPrompt) {
|
|
116
118
|
input.prompt = seededPrompt;
|
|
117
119
|
input.cursorPos = seededPrompt.length;
|
package/src/version.ts
CHANGED
|
@@ -6,7 +6,7 @@ import { join } from 'node:path';
|
|
|
6
6
|
// The prebuild script updates the fallback value before compilation.
|
|
7
7
|
// Uses import.meta.dir (Bun) to locate package.json relative to this file,
|
|
8
8
|
// which is correct regardless of the process working directory.
|
|
9
|
-
let _version = '0.1.
|
|
9
|
+
let _version = '0.1.107';
|
|
10
10
|
let _sdkVersion = '0.33.35';
|
|
11
11
|
try {
|
|
12
12
|
const pkg = JSON.parse(readFileSync(join(import.meta.dir, '..', 'package.json'), 'utf-8')) as {
|