mirror of
https://github.com/AutoMaker-Org/automaker.git
synced 2026-01-30 22:32:04 +00:00
- Introduced a new markdown file summarizing various attempts to install the Cursor CLI in Docker, detailing approaches, results, and key learnings. - Updated Dockerfile to ensure proper installation of Cursor CLI for the non-root user, including necessary PATH adjustments for interactive shells. - Enhanced entrypoint script to manage OAuth tokens for both Claude and Cursor CLIs, ensuring correct permissions and directory setups. - Added scripts for extracting OAuth tokens from macOS Keychain and Linux JSON files for seamless integration with Docker. - Updated docker-compose files to support persistent storage for CLI configurations and authentication tokens. These changes improve the development workflow and provide clear guidance on CLI installation and authentication processes.
35 lines
1.0 KiB
Bash
Executable File
35 lines
1.0 KiB
Bash
Executable File
#!/bin/bash
|
|
# Extract Claude OAuth token from macOS Keychain for use in Docker container
|
|
# Usage: ./scripts/get-claude-token.sh
|
|
# or: export CLAUDE_OAUTH_TOKEN=$(./scripts/get-claude-token.sh)
|
|
|
|
set -e
|
|
|
|
# Only works on macOS (uses security command for Keychain access)
|
|
if [[ "$OSTYPE" != "darwin"* ]]; then
|
|
echo "Error: This script only works on macOS." >&2
|
|
echo "On Linux, mount ~/.claude directory directly instead." >&2
|
|
exit 1
|
|
fi
|
|
|
|
# Check if security command exists
|
|
if ! command -v security &> /dev/null; then
|
|
echo "Error: 'security' command not found." >&2
|
|
exit 1
|
|
fi
|
|
|
|
# Get the current username
|
|
USERNAME=$(whoami)
|
|
|
|
# Extract credentials from Keychain
|
|
CREDS=$(security find-generic-password -s "Claude Code-credentials" -a "$USERNAME" -w 2>/dev/null)
|
|
|
|
if [ -z "$CREDS" ]; then
|
|
echo "Error: No Claude credentials found in Keychain." >&2
|
|
echo "Make sure you've logged in with 'claude login' first." >&2
|
|
exit 1
|
|
fi
|
|
|
|
# Output the full credentials JSON (contains accessToken and refreshToken)
|
|
echo "$CREDS"
|