Compare commits

..

3 commits

Author SHA1 Message Date
Dan a63565a775 Sync beads 2026-01-02 14:46:35 -08:00
Dan 67bde45cf8 Update onboarding instructions for Claude Code workflow 2026-01-02 14:46:19 -08:00
Dan bd7bdda2b3 Add Claude Code CLI to dev environment
- Install claude binary to /usr/local/bin
- Symlink to ~/.local/bin for users (in PATH)
- Update learner-add.sh to set up symlink for new users
- Add /usr/local/bin to PATH via shellInit
2026-01-02 14:45:49 -08:00
3 changed files with 31 additions and 17 deletions

View file

@ -1 +1 @@
0.42.0 0.43.0

View file

@ -30,6 +30,12 @@
direnv direnv
]; ];
# Add ~/.local/bin and /usr/local/bin to PATH for manually installed tools
environment.localBinInPath = true;
environment.shellInit = ''
export PATH="/usr/local/bin:$PATH"
'';
# Enable Nix flakes # Enable Nix flakes
nix.settings.experimental-features = [ "nix-command" "flakes" ]; nix.settings.experimental-features = [ "nix-command" "flakes" ];

View file

@ -84,6 +84,12 @@ create_user() {
echo '# Slack bot development tokens' >> "/home/$username/.bashrc" echo '# Slack bot development tokens' >> "/home/$username/.bashrc"
echo 'source /etc/slack-learner.env' >> "/home/$username/.bashrc" echo 'source /etc/slack-learner.env' >> "/home/$username/.bashrc"
# Set up ~/.local/bin with claude symlink
local local_bin="/home/$username/.local/bin"
mkdir -p "$local_bin"
ln -sf /usr/local/bin/claude "$local_bin/claude"
chown -R "$username:users" "/home/$username/.local"
log_info "User created with SSH access" log_info "User created with SSH access"
} }
@ -257,31 +263,33 @@ print_onboarding() {
echo "" echo ""
echo "==========================================" echo "=========================================="
echo " Onboarding Instructions for $username" echo " Dev Environment Ready: $username"
echo "==========================================" echo "=========================================="
echo "" echo ""
echo "1. Install VS Code with Remote-SSH extension" echo "## SSH Config (~/.ssh/config on your laptop)"
echo "" echo ""
echo "2. Add this to your SSH config (~/.ssh/config):" echo " Host dev-server"
echo ""
echo " Host maubot-dev"
echo " HostName ${server_ip:-<server-ip>}" echo " HostName ${server_ip:-<server-ip>}"
echo " User $username" echo " User $username"
echo " LocalForward 29316 127.0.0.1:29316" echo " LocalForward 8080 127.0.0.1:8080"
echo "" echo ""
echo "3. Connect via VS Code:" echo "## Quick Start"
echo " - Press F1 -> 'Remote-SSH: Connect to Host'"
echo " - Select 'maubot-dev'"
echo "" echo ""
echo "4. Open your plugin folder:" echo "1. SSH in:"
echo " /home/$username/plugins/hello-$username" echo " ssh dev-server"
echo "" echo ""
echo "5. Build and test:" echo "2. Authenticate Claude (first time only):"
echo " make build # Build the plugin" echo " claude"
echo " make reload # Reload in maubot" echo " # Opens localhost URL - paste in your local browser"
echo " # Complete OAuth, token flows back automatically"
echo "" echo ""
echo "6. Test in Matrix:" echo "3. Start coding:"
echo " Join #learners-sandbox and try !hello" echo " mkdir mybot && cd mybot"
echo " claude 'create a slack bot that responds to hello'"
echo ""
echo "## Tools Available"
echo " python3, uv, go (nix profile install nixpkgs#go)"
echo " Slack tokens: \$SLACK_BOT_TOKEN, \$SLACK_APP_TOKEN"
echo "" echo ""
echo "==========================================" echo "=========================================="
} }