autoforge-ai 0.1.18 → 0.1.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -4
- package/auth.py +16 -6
- package/autonomous_agent_demo.py +2 -2
- package/package.json +1 -1
- package/start.py +2 -2
- package/ui/dist/assets/{index-DXm5cuJA.js → index-CLjNgHA6.js} +11 -11
- package/ui/dist/index.html +1 -1
package/README.md
CHANGED
|
@@ -4,6 +4,12 @@
|
|
|
4
4
|
|
|
5
5
|
A long-running autonomous coding agent powered by the Claude Agent SDK. This tool can build complete applications over multiple sessions using a two-agent pattern (initializer + coding agent). Includes a React-based UI for monitoring progress in real-time.
|
|
6
6
|
|
|
7
|
+
> [!WARNING]
|
|
8
|
+
> **Authentication:** Anthropic's policy states that third-party developers may not offer `claude.ai` login or subscription-based rate limits for their products (including agents built on the Claude Agent SDK) unless previously approved. Using your Claude subscription with AutoForge may risk account suspension. We recommend using an API key from [console.anthropic.com](https://console.anthropic.com/) instead.
|
|
9
|
+
|
|
10
|
+
> [!NOTE]
|
|
11
|
+
> **This repository is no longer actively maintained.** Most agent coding tools now ship their own long-running harnesses, making this project less necessary. Feel free to fork and continue development on your own!
|
|
12
|
+
|
|
7
13
|
## Video Tutorial
|
|
8
14
|
|
|
9
15
|
[](https://youtu.be/nKiPOxDpcJY)
|
|
@@ -34,8 +40,8 @@ irm https://claude.ai/install.ps1 | iex
|
|
|
34
40
|
|
|
35
41
|
You need one of the following:
|
|
36
42
|
|
|
37
|
-
- **
|
|
38
|
-
- **
|
|
43
|
+
- **Anthropic API Key** (recommended) - Pay-per-use from https://console.anthropic.com/
|
|
44
|
+
- **Claude Pro/Max Subscription** - Use `claude login` to authenticate (see warning above)
|
|
39
45
|
|
|
40
46
|
---
|
|
41
47
|
|
|
@@ -101,7 +107,7 @@ This launches the React-based web UI at `http://localhost:5173` with:
|
|
|
101
107
|
|
|
102
108
|
The start script will:
|
|
103
109
|
1. Check if Claude CLI is installed
|
|
104
|
-
2. Check if you're authenticated (prompt to
|
|
110
|
+
2. Check if you're authenticated (prompt to configure authentication if not)
|
|
105
111
|
3. Create a Python virtual environment
|
|
106
112
|
4. Install dependencies
|
|
107
113
|
5. Launch the main menu
|
|
@@ -371,7 +377,7 @@ Edit `security.py` to add or remove commands from `ALLOWED_COMMANDS`.
|
|
|
371
377
|
Install the Claude Code CLI using the instructions in the Prerequisites section.
|
|
372
378
|
|
|
373
379
|
**"Not authenticated with Claude"**
|
|
374
|
-
|
|
380
|
+
Set your API key via `ANTHROPIC_API_KEY` environment variable or the Settings UI. Alternatively, run `claude login` to use subscription credentials, but note that Anthropic's policy may not permit subscription-based auth for third-party agents.
|
|
375
381
|
|
|
376
382
|
**"Appears to hang on first run"**
|
|
377
383
|
This is normal. The initializer agent is generating detailed test cases, which takes significant time. Watch for `[Tool: ...]` output to confirm the agent is working.
|
package/auth.py
CHANGED
|
@@ -53,11 +53,16 @@ AUTH_ERROR_HELP_CLI = """
|
|
|
53
53
|
|
|
54
54
|
Claude CLI requires authentication to work.
|
|
55
55
|
|
|
56
|
-
|
|
56
|
+
Option 1 (Recommended): Set an API key
|
|
57
|
+
export ANTHROPIC_API_KEY=your-key-here
|
|
58
|
+
Get a key at: https://console.anthropic.com/
|
|
59
|
+
|
|
60
|
+
Option 2: Use subscription login
|
|
57
61
|
claude login
|
|
58
62
|
|
|
59
|
-
|
|
60
|
-
|
|
63
|
+
Note: Anthropic's policy may not permit using
|
|
64
|
+
subscription auth with third-party agents.
|
|
65
|
+
API key authentication is recommended.
|
|
61
66
|
==================================================
|
|
62
67
|
"""
|
|
63
68
|
|
|
@@ -69,11 +74,16 @@ AUTH_ERROR_HELP_SERVER = """
|
|
|
69
74
|
|
|
70
75
|
Claude CLI requires authentication to work.
|
|
71
76
|
|
|
72
|
-
|
|
77
|
+
Option 1 (Recommended): Set an API key
|
|
78
|
+
export ANTHROPIC_API_KEY=your-key-here
|
|
79
|
+
Get a key at: https://console.anthropic.com/
|
|
80
|
+
|
|
81
|
+
Option 2: Use subscription login
|
|
73
82
|
claude login
|
|
74
83
|
|
|
75
|
-
|
|
76
|
-
|
|
84
|
+
Note: Anthropic's policy may not permit using
|
|
85
|
+
subscription auth with third-party agents.
|
|
86
|
+
API key authentication is recommended.
|
|
77
87
|
================================================================================
|
|
78
88
|
"""
|
|
79
89
|
|
package/autonomous_agent_demo.py
CHANGED
|
@@ -76,8 +76,8 @@ Examples:
|
|
|
76
76
|
python autonomous_agent_demo.py --project-dir my-app --testing-ratio 0
|
|
77
77
|
|
|
78
78
|
Authentication:
|
|
79
|
-
Uses Claude CLI authentication
|
|
80
|
-
|
|
79
|
+
Uses Claude CLI authentication. API key (ANTHROPIC_API_KEY) is recommended.
|
|
80
|
+
Alternatively run 'claude login', but note Anthropic's policy may restrict subscription auth.
|
|
81
81
|
""",
|
|
82
82
|
)
|
|
83
83
|
|
package/package.json
CHANGED
package/start.py
CHANGED
|
@@ -255,7 +255,7 @@ def run_spec_creation(project_dir: Path) -> bool:
|
|
|
255
255
|
print(f"Please ensure app_spec.txt exists in: {get_project_prompts_dir(project_dir)}")
|
|
256
256
|
# If failed with non-zero exit and no spec, might be auth issue
|
|
257
257
|
if result.returncode != 0:
|
|
258
|
-
print("\nIf you're having authentication issues, try
|
|
258
|
+
print("\nIf you're having authentication issues, set ANTHROPIC_API_KEY or try: claude login")
|
|
259
259
|
return False
|
|
260
260
|
|
|
261
261
|
except FileNotFoundError:
|
|
@@ -416,7 +416,7 @@ def run_agent(project_name: str, project_dir: Path) -> None:
|
|
|
416
416
|
print(f"\nAgent error:\n{stderr_output.strip()}")
|
|
417
417
|
# Still hint about auth if exit was unexpected
|
|
418
418
|
if "error" in stderr_output.lower() or "exception" in stderr_output.lower():
|
|
419
|
-
print("\nIf this is an authentication issue, try
|
|
419
|
+
print("\nIf this is an authentication issue, set ANTHROPIC_API_KEY or try: claude login")
|
|
420
420
|
|
|
421
421
|
except KeyboardInterrupt:
|
|
422
422
|
print("\n\nAgent interrupted. Run again to resume.")
|