diff --git a/act_operator/act_operator/__init__.py b/act_operator/act_operator/__init__.py index 63af887..364e7ba 100644 --- a/act_operator/act_operator/__init__.py +++ b/act_operator/act_operator/__init__.py @@ -1 +1 @@ -__version__ = "0.6.3" +__version__ = "0.6.4" diff --git a/act_operator/act_operator/scaffold/{{ cookiecutter.act_slug }}/.claude/skills/architecting-act/scripts/validate_architecture.py b/act_operator/act_operator/scaffold/{{ cookiecutter.act_slug }}/.claude/skills/architecting-act/scripts/validate_architecture.py index 9d3e9da..870735e 100644 --- a/act_operator/act_operator/scaffold/{{ cookiecutter.act_slug }}/.claude/skills/architecting-act/scripts/validate_architecture.py +++ b/act_operator/act_operator/scaffold/{{ cookiecutter.act_slug }}/.claude/skills/architecting-act/scripts/validate_architecture.py @@ -176,7 +176,9 @@ def parse_act_claude_md(content: str) -> dict: r"\| ([A-Z][a-zA-Z0-9 ]+) \| .* \| \[.*?\]\((casts/[^/]+/CLAUDE\.md)\)" ) matches = re.findall(cast_table_pattern, content) - data["casts_in_table"] = [{"name": name.strip(), "path": path} for name, path in matches] + data["casts_in_table"] = [ + {"name": name.strip(), "path": path} for name, path in matches + ] return data @@ -579,12 +581,8 @@ def main(): parser = argparse.ArgumentParser( description="Validate distributed architecture specification completeness" ) - parser.add_argument( - "--quiet", "-q", action="store_true", help="Only output errors" - ) - parser.add_argument( - "--json", action="store_true", help="Output as JSON" - ) + parser.add_argument("--quiet", "-q", action="store_true", help="Only output errors") + parser.add_argument("--json", action="store_true", help="Output as JSON") args = parser.parse_args() @@ -597,6 +595,7 @@ def main(): # Output if args.json: import json + output = { "passed": report.passed, "error_count": len(report.errors), diff --git a/act_operator/act_operator/scaffold/{{ cookiecutter.act_slug }}/.github/workflows/pr_lint.yml b/act_operator/act_operator/scaffold/{{ cookiecutter.act_slug }}/.github/workflows/pr_lint.yml index f0214a3..b7a8127 100644 --- a/act_operator/act_operator/scaffold/{{ cookiecutter.act_slug }}/.github/workflows/pr_lint.yml +++ b/act_operator/act_operator/scaffold/{{ cookiecutter.act_slug }}/.github/workflows/pr_lint.yml @@ -39,6 +39,7 @@ jobs: agents state utils + deps docs tests requireScope: false diff --git a/act_operator/act_operator/scaffold/{{ cookiecutter.act_slug }}/.github/workflows/ruff.yml b/act_operator/act_operator/scaffold/{{ cookiecutter.act_slug }}/.github/workflows/ruff.yml index ff4391d..b59491f 100644 --- a/act_operator/act_operator/scaffold/{{ cookiecutter.act_slug }}/.github/workflows/ruff.yml +++ b/act_operator/act_operator/scaffold/{{ cookiecutter.act_slug }}/.github/workflows/ruff.yml @@ -16,7 +16,7 @@ jobs: cache-suffix: "ruff" - name: Install dependencies (dev) - run: uv sync --lint + run: uv sync --group lint - name: Ruff Lint Check run: uv run ruff check . diff --git a/act_operator/act_operator/scaffold/{{ cookiecutter.act_slug }}/.pre-commit-config.yaml b/act_operator/act_operator/scaffold/{{ cookiecutter.act_slug }}/.pre-commit-config.yaml index 4489b24..679f7c5 100644 --- a/act_operator/act_operator/scaffold/{{ cookiecutter.act_slug }}/.pre-commit-config.yaml +++ b/act_operator/act_operator/scaffold/{{ cookiecutter.act_slug }}/.pre-commit-config.yaml @@ -9,10 +9,10 @@ repos: - repo: https://github.com/astral-sh/ruff-pre-commit rev: v0.12.0 hooks: + - id: ruff-check + # 코드 품질 점검 및 임포트 정리 + types_or: [python, pyi] + args: [--fix] - id: ruff-format # 코드 포맷팅 types_or: [python, pyi] - - id: ruff - # 코드 품질 점검 및 임포트 정리 - types_or: [python, pyi] - args: [check, --fix] diff --git a/act_operator/act_operator/scaffold/{{ cookiecutter.act_slug }}/casts/{{ cookiecutter.cast_snake }}/graph.py b/act_operator/act_operator/scaffold/{{ cookiecutter.act_slug }}/casts/{{ cookiecutter.cast_snake }}/graph.py index c93d215..7d33897 100644 --- a/act_operator/act_operator/scaffold/{{ cookiecutter.act_slug }}/casts/{{ cookiecutter.cast_snake }}/graph.py +++ b/act_operator/act_operator/scaffold/{{ cookiecutter.act_slug }}/casts/{{ cookiecutter.cast_snake }}/graph.py @@ -10,7 +10,7 @@ 2. Connect nodes via ``builder.add_edge()`` or ``builder.add_conditional_edges()`` when branching. 3. Return the compiled graph to orchestrate LangGraph execution. -Official document URL: +Official document URL: - Graph API: https://docs.langchain.com/oss/python/langgraph/graph-api - StateGraph: https://docs.langchain.com/oss/python/langgraph/graph-api#stategraph - Nodes: https://docs.langchain.com/oss/python/langgraph/graph-api#nodes 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 a350c60..a55afb0 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.6.0", + "act-operator>=0.6.4", {include-group = "test"}, {include-group = "lint"}, ] @@ -42,17 +42,27 @@ exclude = [ ] [tool.ruff] -exclude = [ - "(^|/)(.venv|venv|node_modules|__pycache__|.pytest_cache|.ruff_cache|migrations|static|templates|.git|.github|.langgraph_api|media)(/|$)", - "^tests(/|$)", - "^unit_tests(/|$)", +extend-exclude = [ + ".git", + ".github", + ".langgraph_api", + ".pytest_cache", + ".ruff_cache", + ".venv", + "__pycache__", ".env", ".env.example", ".gitignore", "LICENSE", "README.md", "langgraph.json", - "uv.lock" + "media", + "migrations", + "node_modules", + "static", + "templates", + "uv.lock", + "venv", ] lint.select = [ "E", diff --git a/act_operator/act_operator/scaffold/{{ cookiecutter.act_slug }}/tests/node_tests/test_node.py b/act_operator/act_operator/scaffold/{{ cookiecutter.act_slug }}/tests/node_tests/test_node.py index 00b4b2f..0e1d40d 100644 --- a/act_operator/act_operator/scaffold/{{ cookiecutter.act_slug }}/tests/node_tests/test_node.py +++ b/act_operator/act_operator/scaffold/{{ cookiecutter.act_slug }}/tests/node_tests/test_node.py @@ -4,7 +4,7 @@ from __future__ import annotations -from casts.{{ cookiecutter.cast_snake }}.modules.nodes import SampleNode, AsyncSampleNode +from casts.{{ cookiecutter.cast_snake }}.modules.nodes import AsyncSampleNode, SampleNode def test_base_node_calls_execute() -> None: