diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index cf1e832..0ebe469 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -48,6 +48,7 @@ jobs: steps: - uses: actions/checkout@v4 + - name: Setup Rust uses: dtolnay/rust-toolchain@stable with: diff --git a/Cargo.toml b/Cargo.toml index 01296d2..87b1239 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ailog" -version = "0.3.2" +version = "0.3.3" edition = "2021" authors = ["syui"] description = "A static blog generator with AI features" diff --git a/oauth/package.json b/oauth/package.json index a6507b9..bc199ce 100644 --- a/oauth/package.json +++ b/oauth/package.json @@ -1,6 +1,6 @@ { "name": "ailog-oauth", - "version": "0.3.2", + "version": "0.3.3", "type": "module", "scripts": { "dev": "vite", diff --git a/pds/package.json b/pds/package.json index 199adbc..4827975 100644 --- a/pds/package.json +++ b/pds/package.json @@ -1,6 +1,6 @@ { "name": "pds-browser", - "version": "0.3.2", + "version": "0.3.3", "description": "AT Protocol browser for ai.log", "main": "index.js", "type": "module", diff --git a/scpt/run.zsh b/scpt/run.zsh index 78f3193..99c76aa 100755 --- a/scpt/run.zsh +++ b/scpt/run.zsh @@ -20,9 +20,49 @@ function _env() { function _deploy_ailog() { } +function _sync_versions() { + # Get version from Cargo.toml + local version=$(grep '^version = ' "$d/Cargo.toml" | cut -d'"' -f2) + if [[ -z "$version" ]]; then + echo "⚠️ Could not find version in Cargo.toml" + return 1 + fi + + echo "ℹ️ Syncing versions to $version" + + # Update oauth/package.json + if [[ -f "$d/oauth/package.json" ]]; then + if command -v jq >/dev/null 2>&1; then + local temp_file=$(mktemp) + jq --arg version "$version" '.version = $version' "$d/oauth/package.json" > "$temp_file" + mv "$temp_file" "$d/oauth/package.json" + echo "✅ Updated oauth/package.json to $version" + else + sed -i.bak "s/\"version\":[[:space:]]*\"[^\"]*\"/\"version\": \"$version\"/" "$d/oauth/package.json" + rm -f "$d/oauth/package.json.bak" + echo "✅ Updated oauth/package.json to $version (sed)" + fi + fi + + # Update pds/package.json + if [[ -f "$d/pds/package.json" ]]; then + if command -v jq >/dev/null 2>&1; then + local temp_file=$(mktemp) + jq --arg version "$version" '.version = $version' "$d/pds/package.json" > "$temp_file" + mv "$temp_file" "$d/pds/package.json" + echo "✅ Updated pds/package.json to $version" + else + sed -i.bak "s/\"version\":[[:space:]]*\"[^\"]*\"/\"version\": \"$version\"/" "$d/pds/package.json" + rm -f "$d/pds/package.json.bak" + echo "✅ Updated pds/package.json to $version (sed)" + fi + fi +} + function _server() { lsof -ti:$port | xargs kill -9 2>/dev/null || true cd $d/my-blog + _sync_versions cargo build --release cp -rf $ailog $CARGO_HOME/bin/ $ailog build diff --git a/src/mcp/claude_proxy.rs b/src/mcp/claude_proxy.rs index 30d6081..30d7a44 100644 --- a/src/mcp/claude_proxy.rs +++ b/src/mcp/claude_proxy.rs @@ -70,10 +70,10 @@ async fn communicate_with_claude_mcp( // Claude Code MCPプロセスを起動 // Use the full path to avoid shell function and don't use --continue let claude_executable = if claude_code_path == "claude" { - // Use $HOME environment variable instead of hardcoded path - match std::env::var("HOME") { - Ok(home) => format!("{}/.claude/local/claude", home), - Err(_) => "/Users/syui/.claude/local/claude".to_string(), // fallback + // Use dirs crate for cross-platform home directory detection + match dirs::home_dir() { + Some(home) => home.join(".claude/local/claude").to_string_lossy().to_string(), + None => "/Users/syui/.claude/local/claude".to_string(), // fallback } } else { claude_code_path.to_string()