Skip to content

refactor(cli): streamline onboarding to single 'tinyagi' command#244

Merged
jlia0 merged 9 commits intomainfrom
jlia0/streamline-onboarding
Mar 20, 2026
Merged

refactor(cli): streamline onboarding to single 'tinyagi' command#244
jlia0 merged 9 commits intomainfrom
jlia0/streamline-onboarding

Conversation

@jlia0
Copy link
Copy Markdown
Collaborator

@jlia0 jlia0 commented Mar 20, 2026

Summary

Eliminate the setup wizard and make TinyAGI work out of the box. User runs tinyagi and gets a fully functional daemon with sensible defaults (workspace: ~/tinyagi-workspace, agent: tinyagi, no channels initially).

Changes

  • Dependency checks: Added validation for tmux, jq, and warnings if neither claude nor codex CLI is installed
  • Auto-defaults: Skip wizard entirely—if no settings exist, auto-write defaults and start daemon
  • Agent rename: Changed default agent ID from "default" to "tinyagi" throughout codebase
  • Agent bootstrap: New agent directories are populated with .claude/, heartbeat.md, SOUL.md, and empty AGENTS.md for user customization
  • Optional channels: Daemon now starts even with zero channels configured; users add channels via web UI later
  • Simplified CLI: Removed setup wizard and portal auto-open from tinyagi run command

Testing

  • Tested dependency checks (missing tmux/jq, missing claude/codex)
  • Verified auto-defaults creation and agent directory bootstrap
  • Confirmed daemon starts with no channels configured
  • Checked agent routing uses 'tinyagi' as fallback

🤖 Generated with Claude Code

jlia0 and others added 9 commits March 20, 2026 21:02
Simplify initial setup to eliminate the setup wizard and optional channels. User runs 'tinyagi' and everything just works:
- Auto-create default settings if none exist (workspace: tinyagi-workspace, agent: tinyagi, no channels)
- Add dependency checks for tmux, jq, and soft-warn if neither claude nor codex CLI is available
- Rename default agent from 'default' to 'tinyagi' across all routing and config
- Bootstrap agent working directories with .claude/, heartbeat.md, SOUL.md templates
- Support starting daemon without channels configured (users can add channels later via web UI)
- Remove setup wizard flow and --skip-setup flag from daemon startup

Changes:
- lib/daemon.sh: Add check_dependencies(), auto-write defaults, support no-channel startup
- lib/common.sh: Allow empty channels array (channels are optional)
- packages/cli/bin/tinyagi.mjs: Remove setup wizard and portal opening from run()
- packages/cli/lib/defaults.mjs: Bootstrap agent directories, rename agent to tinyagi
- packages/core: Update config and router to use 'tinyagi' as default agent ID
- packages/main/src/index.ts: Use 'tinyagi' as fallback agent
- tinyoffice: Skip setup if agents/models exist (don't require channels)

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
When settings.json exists and tinyagi is installed, `tinyagi` (no args)
now delegates directly to `tinyagi start` instead of going through the
onboarding flow. First-time users still see the Quick Start banner.

Also removes --skip-setup and setup wizard references from help text.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
When running from the source repo (dev workflow), delegateToBash and
isInstalled now detect the local lib/tinyagi.sh instead of always using
the potentially stale installed copy at ~/.tinyagi/.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Extract openOffice() helper and call it after tinyagi, tinyagi start,
and tinyagi restart so the web UI always opens automatically.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Remove setup-wizard.ts and the /setup web page. Add focused
`tinyagi channel setup` command for interactive channel configuration
(token collection). `tinyagi setup` is kept as a legacy alias.

- packages/cli/src/setup-wizard.ts: deleted
- tinyoffice/src/app/setup/page.tsx: deleted
- packages/cli/src/messaging.ts: add channelSetup() with token prompts
- lib/tinyagi.sh: route `channel setup` and legacy `setup` to new command
- lib/daemon.sh: update hint to use `tinyagi channel setup`
- tinyoffice settings page: remove setup wizard link, update copy

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Reflect the new zero-config first-run experience: just run `tinyagi`.
Remove setup wizard references, update commands table, and show the
new default agent name (tinyagi) in settings/directory examples.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@jlia0 jlia0 merged commit 8e5a1b9 into main Mar 20, 2026
@jlia0 jlia0 deleted the jlia0/streamline-onboarding branch March 20, 2026 19:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant