diff --git a/CLAUDE.md b/CLAUDE.md index 9af2700..2142076 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -10,6 +10,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co Key features: - Generate modular LangGraph project structures via `act new` - Add new graph components ("Casts") via `act cast` +- Upgrade skills to the latest version via `act upgrade` - Multi-language template support (English/Korean) - Built-in Claude Code skills for architecture, development, and testing @@ -25,6 +26,7 @@ uv sync # Run CLI directly uv run act new # Create new Act project uv run act cast # Add Cast to existing project +uv run act upgrade # Upgrade skills in existing project # Run tests (ignores scaffold templates) uv run pytest @@ -51,7 +53,7 @@ act-operator/ │ └── act_operator/ # Source code │ ├── __init__.py # Version: __version__ │ ├── __main__.py # Entry point -│ ├── cli.py # Typer CLI commands (new, cast) +│ ├── cli.py # Typer CLI commands (new, cast, upgrade) │ ├── utils.py # Name normalization, cookiecutter rendering │ ├── version.py # Version utilities │ ├── scaffold/ # Cookiecutter template diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c2d8534..7bb7066 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -50,6 +50,9 @@ uv sync # Run CLI locally uv run act new --path ./test-act --act-name "Test" --cast-name "Main" +# Upgrade skills in an existing project +uv run act upgrade --path ./test-act + # Run tests (when available) uv run pytest ``` @@ -96,7 +99,7 @@ The Act Operator project consists of several components. **Location**: `act_operator/` **Includes**: -- CLI commands (`act new`, `act cast`) +- CLI commands (`act new`, `act cast`, `act upgrade`) - cookiecutter scaffold generation logic - Build/deployment processes diff --git a/CONTRIBUTING_KR.md b/CONTRIBUTING_KR.md index e8eb303..6b2991a 100644 --- a/CONTRIBUTING_KR.md +++ b/CONTRIBUTING_KR.md @@ -50,6 +50,9 @@ uv sync # 로컬에서 CLI 실행 uv run act new --path ./test-act --act-name "Test" --cast-name "Main" +# 기존 프로젝트의 스킬 업그레이드 +uv run act upgrade --path ./test-act + # 테스트 실행 시 uv run pytest ``` @@ -96,7 +99,7 @@ Act Operator 프로젝트는 여러 컴포넌트로 구성되어 있습니다. **위치**: `act_operator/` **포함 내용**: -- CLI 명령어 (`act new`, `act cast`) +- CLI 명령어 (`act new`, `act cast`, `act upgrade`) - cookiecutter 스캐폴드 생성 로직 - 빌드/배포 프로세스 diff --git a/README.md b/README.md index e0177ad..a6649de 100644 --- a/README.md +++ b/README.md @@ -378,11 +378,33 @@ act new [OPTIONS] --act-name TEXT Project name --cast-name TEXT Initial cast name --path PATH Target directory + --lang TEXT Language for scaffolded docs (en|kr) # Add cast to existing project act cast [OPTIONS] --cast-name TEXT Cast name --path PATH Act project directory + --lang TEXT Language for scaffolded cast docs (en|kr) + +# Upgrade skills in an existing Act project +act upgrade [OPTIONS] + --path PATH Act project directory (default: current directory) +``` + +### `act upgrade` + +Updates `.claude/skills/` in an existing Act project to the latest version bundled with Act Operator. This is useful when a new version of Act Operator ships improved or additional skills. + +- Auto-detects the project language (English/Korean) from `README.md` +- Auto-detects the first Cast from `langgraph.json` +- Backs up existing skills to `.claude/skills.bak/` before replacing + +```bash +# Upgrade skills in the current directory +act upgrade + +# Upgrade skills in a specific project +act upgrade --path ./my-act-project ``` After scaffolding, see `TEMPLATE_README.md` in your generated project for detailed usage — dependency management, development server, graph registry configuration, and more. diff --git a/README_KR.md b/README_KR.md index 9328218..01f6136 100644 --- a/README_KR.md +++ b/README_KR.md @@ -378,11 +378,33 @@ act new [OPTIONS] --act-name TEXT 프로젝트 이름 --cast-name TEXT 초기 Cast 이름 --path PATH 대상 디렉토리 + --lang TEXT 스캐폴드 문서 언어 (en|kr) # 기존 프로젝트에 Cast 추가 act cast [OPTIONS] --cast-name TEXT Cast 이름 --path PATH Act 프로젝트 디렉토리 + --lang TEXT 스캐폴드 Cast 문서 언어 (en|kr) + +# 기존 Act 프로젝트의 스킬 업그레이드 +act upgrade [OPTIONS] + --path PATH Act 프로젝트 디렉토리 (기본값: 현재 디렉토리) +``` + +### `act upgrade` + +기존 Act 프로젝트의 `.claude/skills/`를 Act Operator에 번들된 최신 버전으로 업데이트합니다. Act Operator의 새 버전에 개선된 스킬이나 추가 스킬이 포함될 때 유용합니다. + +- `README.md`에서 프로젝트 언어(영어/한국어)를 자동 감지 +- `langgraph.json`에서 첫 번째 Cast를 자동 감지 +- 교체 전 기존 스킬을 `.claude/skills.bak/`에 백업 + +```bash +# 현재 디렉토리의 스킬 업그레이드 +act upgrade + +# 특정 프로젝트의 스킬 업그레이드 +act upgrade --path ./my-act-project ``` 스캐폴딩 후 자세한 사용법 — 의존성 관리, 개발 서버, 그래프 레지스트리 설정 등 — 은 생성된 프로젝트 내 `TEMPLATE_README.md`를 참조하세요. diff --git a/act_operator/act_operator/__init__.py b/act_operator/act_operator/__init__.py index 906d362..43c4ab0 100644 --- a/act_operator/act_operator/__init__.py +++ b/act_operator/act_operator/__init__.py @@ -1 +1 @@ -__version__ = "0.6.0" +__version__ = "0.6.1" diff --git a/act_operator/act_operator/scaffold/{{ cookiecutter.act_slug }}/pyproject.toml b/act_operator/act_operator/scaffold/{{ cookiecutter.act_slug }}/pyproject.toml index cafd63c..a350c60 100644 --- a/act_operator/act_operator/scaffold/{{ cookiecutter.act_slug }}/pyproject.toml +++ b/act_operator/act_operator/scaffold/{{ cookiecutter.act_slug }}/pyproject.toml @@ -19,7 +19,7 @@ lint = [ "ruff", ] dev = [ - "act-operator>=0.3.0", + "act-operator>=0.6.0", {include-group = "test"}, {include-group = "lint"}, ]