Skip to content

Commit fe091b0

Browse files
committed
the claw for comfyui has opened
0 parents  commit fe091b0

File tree

213 files changed

+32320
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

213 files changed

+32320
-0
lines changed

.detect-secrets.cfg

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# detect-secrets configuration
2+
# https://github.com/Yelp/detect-secrets
3+
4+
[detect-secrets]
5+
version = 1.4.0
6+
7+
# Plugins to use for scanning
8+
plugins_used:
9+
- name: AWSKeyDetector
10+
- name: AzureStorageKeyDetector
11+
- name: BasicAuthDetector
12+
- name: CloudantDetector
13+
- name: DiscordBotTokenDetector
14+
- name: GitHubTokenDetector
15+
- name: HighEntropyStrings
16+
limit: 4.5
17+
- name: IbmCloudIamDetector
18+
- name: IbmCosHmacDetector
19+
- name: JwtTokenDetector
20+
- name: KeywordDetector
21+
keyword_exclude: ""
22+
- name: MailchimpDetector
23+
- name: NpmDetector
24+
- name: OpenAIApiKeyDetector
25+
- name: PrivateKeyDetector
26+
- name: SendGridDetector
27+
- name: SlackDetector
28+
- name: SoftlayerDetector
29+
- name: SquareOAuthDetector
30+
- name: StripeDetector
31+
- name: TwilioKeyDetector
32+
33+
# Exclude patterns
34+
exclude_lines:
35+
- "^\\s*#"
36+
- "example.com"
37+
- "your-api-key"
38+
- "<token>"
39+
- "<your.*>"
40+
- "sk-xxx"
41+
42+
# Exclude files
43+
exclude_files:
44+
- ".*\\.secrets\\.baseline$"
45+
- ".*\\.lock$"
46+
- ".*\\.min\\.js$"
47+
- ".*\\.(png|jpg|gif|ico|svg|woff2?)$"
48+
- "^REFERENCE/"
49+
- "^tests/fixtures/"

.gitattributes

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Normalize line endings for cross-platform consistency (pre-commit safe on Windows).
2+
* text=auto eol=lf
3+
4+
# Windows scripts should remain CRLF.
5+
*.bat text eol=crlf
6+
*.cmd text eol=crlf
7+
*.ps1 text eol=crlf

.github/workflows/ci.yml

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
name: CI
2+
3+
on:
4+
pull_request:
5+
push:
6+
branches:
7+
- main
8+
- master
9+
10+
jobs:
11+
12+
import-smoke:
13+
name: Import Smoke Test (ComfyUI loader)
14+
strategy:
15+
fail-fast: false
16+
matrix:
17+
os: [ubuntu-latest, windows-latest]
18+
runs-on: ${{ matrix.os }}
19+
steps:
20+
- uses: actions/checkout@v4
21+
- uses: actions/setup-python@v5
22+
with:
23+
python-version: '3.10'
24+
- name: Install import deps
25+
run: |
26+
python -m pip install --upgrade pip
27+
python -m pip install numpy pillow
28+
- name: Import smoke test
29+
env:
30+
MOLTBOT_STATE_DIR: ${{ github.workspace }}/moltbot_state/_ci_smoke
31+
run: |
32+
python -m unittest tests.test_comfyui_loader_import -v
33+
34+
35+
frontend-e2e:
36+
name: Frontend E2E (Playwright)
37+
strategy:
38+
fail-fast: false
39+
matrix:
40+
os: [ubuntu-latest, windows-latest]
41+
runs-on: ${{ matrix.os }}
42+
steps:
43+
- uses: actions/checkout@v4
44+
- uses: actions/setup-python@v5
45+
with:
46+
python-version: '3.10'
47+
- uses: actions/setup-node@v4
48+
with:
49+
node-version: '20'
50+
- name: Install Node deps
51+
run: |
52+
npm install
53+
- name: Install Playwright browsers
54+
run: |
55+
npx playwright install chromium
56+
- name: Run E2E
57+
run: |
58+
npm test
59+
60+
61+
62+
unit-tests:
63+
runs-on: ubuntu-latest
64+
steps:
65+
- uses: actions/checkout@v4
66+
- uses: actions/setup-python@v5
67+
with:
68+
python-version: '3.10'
69+
- name: Install test deps
70+
run: |
71+
python -m pip install --upgrade pip
72+
python -m pip install numpy pillow
73+
- name: Run unit tests
74+
env:
75+
MOLTBOT_STATE_DIR: ${{ github.workspace }}/moltbot_state/_ci_unit
76+
run: |
77+
security-audit:
78+
name: Security Audit (S23)
79+
runs-on: ubuntu-latest
80+
steps:
81+
- uses: actions/checkout@v4
82+
- uses: actions/setup-node@v4
83+
with:
84+
node-version: '20'
85+
- name: Frontend Audit (npm)
86+
run: |
87+
# Audit only production dependencies, ignore dev
88+
npm audit --production || true
89+
# Note: || true because audit often fails on harmless things.
90+
# In strict mode, remove || true or configure exceptions.
91+
92+
- uses: actions/setup-python@v5
93+
with:
94+
python-version: '3.10'
95+
- name: Install pip-audit
96+
run: pip install pip-audit
97+
- name: Backend Audit (pip)
98+
run: |
99+
pip install -r requirements.txt || true
100+
# Scan environment
101+
pip-audit || true
102+
# Again, allowing failure for now to avoid blocking CI on minor findings.

.github/workflows/pre-commit.yml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# Pre-commit CI Workflow
2+
# Runs all pre-commit hooks on PRs for consistent code quality
3+
4+
name: Pre-commit
5+
6+
on:
7+
pull_request:
8+
branches: [main, master]
9+
push:
10+
branches: [main, master]
11+
12+
jobs:
13+
pre-commit:
14+
name: Run Pre-commit Hooks
15+
runs-on: ubuntu-latest
16+
17+
steps:
18+
- name: Checkout code
19+
uses: actions/checkout@v4
20+
21+
- name: Set up Python
22+
uses: actions/setup-python@v5
23+
with:
24+
python-version: "3.11"
25+
26+
- name: Install pre-commit
27+
run: pip install pre-commit
28+
29+
- name: Run all pre-commit hooks
30+
run: pre-commit run --all-files --show-diff-on-failure

.github/workflows/publish.yml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: Publish to Comfy registry
2+
on:
3+
workflow_dispatch:
4+
push:
5+
branches:
6+
- main
7+
- master
8+
paths:
9+
- "pyproject.toml"
10+
11+
permissions:
12+
issues: write
13+
14+
jobs:
15+
publish-node:
16+
name: Publish Custom Node to registry
17+
runs-on: ubuntu-latest
18+
if: ${{ github.repository_owner == 'rookiestar28' }}
19+
steps:
20+
- name: Check out code
21+
uses: actions/checkout@v4
22+
with:
23+
submodules: true
24+
- name: Publish Custom Node
25+
uses: Comfy-Org/publish-node-action@v1
26+
with:
27+
## Add your own personal access token to your Github Repository secrets and reference it here.
28+
personal_access_token: ${{ secrets.REGISTRY_ACCESS_TOKEN }}

.github/workflows/secret-scan.yml

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# Secret Scanning CI Workflow (S10)
2+
# Runs detect-secrets on pull requests to prevent accidental secret commits
3+
4+
name: Secret Scan
5+
6+
on:
7+
pull_request:
8+
branches: [main, master]
9+
push:
10+
branches: [main, master]
11+
12+
jobs:
13+
secret-scan:
14+
name: Detect Secrets
15+
runs-on: ubuntu-latest
16+
17+
steps:
18+
- name: Checkout code
19+
uses: actions/checkout@v4
20+
21+
- name: Set up Python
22+
uses: actions/setup-python@v5
23+
with:
24+
python-version: "3.11"
25+
26+
- name: Install detect-secrets and pre-commit
27+
run: pip install detect-secrets==1.4.0 pre-commit
28+
29+
- name: Run pre-commit detect-secrets hook
30+
run: |
31+
# Run detect-secrets via pre-commit for consistent behavior
32+
pre-commit run detect-secrets --all-files || {
33+
echo "::error::Secrets detected! Run 'detect-secrets audit .secrets.baseline' locally to review."
34+
exit 1
35+
}

.gitignore

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
__pycache__/
2+
*.py[cod]
3+
*.pyd
4+
.planning/
5+
.env
6+
.venv/
7+
venv/
8+
env/
9+
.pytest_cache/
10+
.mypy_cache/
11+
.ruff_cache/
12+
.tox/
13+
htmlcov/
14+
.coverage
15+
.coverage.*
16+
coverage.xml
17+
*.cover
18+
node_modules/
19+
playwright-report/
20+
test-results/
21+
playwright/.cache/
22+
openclaw_state/
23+
.tmp/
24+
*.log
25+
test_output.txt
26+
test_auth_out.txt
27+
.DS_Store
28+
.vscode/
29+
.idea/
30+
*.swp
31+
REFERENCE/
32+
AGENT_CONTEXT.md

.pre-commit-config.yaml

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# Pre-commit hooks configuration
2+
# https://pre-commit.com/
3+
#
4+
# Install: pip install pre-commit && pre-commit install
5+
# Update baseline: detect-secrets scan --baseline .secrets.baseline
6+
7+
repos:
8+
# Secret detection
9+
- repo: https://github.com/Yelp/detect-secrets
10+
rev: v1.4.0
11+
hooks:
12+
- id: detect-secrets
13+
args:
14+
- --baseline
15+
- .secrets.baseline
16+
exclude: |
17+
(?x)^(
18+
REFERENCE/.*|
19+
.*\.lock$|
20+
.*\.min\.js$
21+
)$
22+
23+
# Python code quality
24+
- repo: https://github.com/pre-commit/pre-commit-hooks
25+
rev: v4.5.0
26+
hooks:
27+
- id: trailing-whitespace
28+
- id: end-of-file-fixer
29+
- id: check-yaml
30+
- id: check-json
31+
- id: check-added-large-files
32+
args: ['--maxkb=500']
33+
34+
# Python formatting (optional but recommended)
35+
- repo: https://github.com/psf/black
36+
rev: 24.1.1
37+
hooks:
38+
- id: black
39+
language_version: python3
40+
args: ['--check', '--diff']
41+
# Remove --check --diff to auto-format
42+
43+
# Python import sorting
44+
- repo: https://github.com/pycqa/isort
45+
rev: 5.13.2
46+
hooks:
47+
- id: isort
48+
args: ['--check-only', '--diff']
49+
# Remove --check-only --diff to auto-sort

.secrets.baseline

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
{
2+
"version": "1.4.0",
3+
"plugins_used": [
4+
{"name": "AWSKeyDetector"},
5+
{"name": "AzureStorageKeyDetector"},
6+
{"name": "BasicAuthDetector"},
7+
{"name": "CloudantDetector"},
8+
{"name": "DiscordBotTokenDetector"},
9+
{"name": "GitHubTokenDetector"},
10+
{"name": "HighEntropyStrings", "limit": 4.5},
11+
{"name": "IbmCloudIamDetector"},
12+
{"name": "IbmCosHmacDetector"},
13+
{"name": "JwtTokenDetector"},
14+
{"name": "KeywordDetector"},
15+
{"name": "MailchimpDetector"},
16+
{"name": "NpmDetector"},
17+
{"name": "OpenAIApiKeyDetector"},
18+
{"name": "PrivateKeyDetector"},
19+
{"name": "SendGridDetector"},
20+
{"name": "SlackDetector"},
21+
{"name": "SoftlayerDetector"},
22+
{"name": "SquareOAuthDetector"},
23+
{"name": "StripeDetector"},
24+
{"name": "TwilioKeyDetector"}
25+
],
26+
"filters_used": [
27+
{"path": "detect_secrets.filters.allowlist.is_line_allowlisted"},
28+
{"path": "detect_secrets.filters.common.is_baseline_file", "filename": ".secrets.baseline"},
29+
{"path": "detect_secrets.filters.common.is_ignored_due_to_verification_policies", "min_level": 2},
30+
{"path": "detect_secrets.filters.heuristic.is_indirect_reference"},
31+
{"path": "detect_secrets.filters.heuristic.is_likely_id_string"},
32+
{"path": "detect_secrets.filters.heuristic.is_lock_file"},
33+
{"path": "detect_secrets.filters.heuristic.is_not_alphanumeric_string"},
34+
{"path": "detect_secrets.filters.heuristic.is_potential_uuid"},
35+
{"path": "detect_secrets.filters.heuristic.is_prefixed_with_dollar_sign"},
36+
{"path": "detect_secrets.filters.heuristic.is_sequential_string"},
37+
{"path": "detect_secrets.filters.heuristic.is_swagger_file"},
38+
{"path": "detect_secrets.filters.heuristic.is_templated_secret"}
39+
],
40+
"results": {},
41+
"generated_at": "2026-01-28T11:35:00Z"
42+
}

0 commit comments

Comments
 (0)