forgexa-cli 1.0.2__tar.gz → 1.0.4__tar.gz

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.
@@ -1,13 +1,13 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: forgexa-cli
3
- Version: 1.0.2
4
- Summary: Forgexa CLI — command-line client for managing workspaces, projects, requirements, and agent runtimes
3
+ Version: 1.0.4
4
+ Summary: Forgexa CLI — command-line client and AI agent runtime for the Forgexa platform
5
5
  Author-email: Shinetech <dev@shinetechsoftware.com>
6
6
  License: MIT
7
7
  Project-URL: Homepage, https://forgexa.net
8
8
  Project-URL: Documentation, https://docs.forgexa.net
9
- Project-URL: Repository, https://github.com/anthropics/ai-software-factory
10
- Project-URL: Issues, https://github.com/anthropics/ai-software-factory/issues
9
+ Project-URL: Repository, https://github.com/forgexa/forgexa
10
+ Project-URL: Issues, https://github.com/forgexa/forgexa/issues
11
11
  Keywords: forgexa,ai,software-factory,cli,devops,agent
12
12
  Classifier: Development Status :: 4 - Beta
13
13
  Classifier: Environment :: Console
@@ -24,12 +24,15 @@ Classifier: Topic :: Software Development :: Build Tools
24
24
  Classifier: Topic :: Software Development :: Quality Assurance
25
25
  Requires-Python: >=3.9
26
26
  Description-Content-Type: text/markdown
27
+ Provides-Extra: daemon
28
+ Requires-Dist: httpx>=0.24; extra == "daemon"
27
29
 
28
30
  # Forgexa CLI
29
31
 
30
- Command-line client for the [[Forgexa](https://forgexa.net) platform.
32
+ Command-line client and agent runtime for the [Forgexa](https://forgexa.net) platform.
31
33
 
32
- Lightweight, zero-dependency — communicates with the Forgexa server via REST API using only Python stdlib.
34
+ Lightweight — communicates with the Forgexa server via REST API using only Python stdlib.
35
+ Includes a built-in **daemon** that discovers local AI agents (Claude Code, Codex, Gemini CLI, OpenCode, Kimi Code, etc.) and executes tasks on behalf of the server.
33
36
 
34
37
  ## Installation
35
38
 
@@ -48,7 +51,7 @@ forgexa version
48
51
 
49
52
  ```bash
50
53
  # Install from source (editable mode)
51
- git clone https://github.com/anthropics/ai-software-factory.git
54
+ git clone https://github.com/forgexa/forgexa.git
52
55
  cd ai-software-factory/cli
53
56
  pip install -e .
54
57
  ```
@@ -60,16 +63,16 @@ pip install -e .
60
63
  export FORGEXA_SERVER_URL=https://your-server.example.com
61
64
 
62
65
  # Login (saves token to ~/.forgexa/token)
63
- asf login
66
+ forgexa login
64
67
 
65
68
  # List workspaces
66
- asf workspace list
69
+ forgexa workspace list
67
70
 
68
71
  # List projects
69
- asf project list --workspace <workspace-id>
72
+ forgexa project list --workspace <workspace-id>
70
73
 
71
74
  # Show kanban board
72
- asf board --project <project-id>
75
+ forgexa board --project <project-id>
73
76
  ```
74
77
 
75
78
  ## Commands
@@ -94,6 +97,8 @@ asf board --project <project-id>
94
97
  | `forgexa workflow show --project <id>` | Show workflow policy |
95
98
  | `forgexa workflow reload --project <id>` | Reload workflow |
96
99
  | `forgexa budget --workspace <id>` | Budget overview |
100
+ | `forgexa daemon start` | Start local daemon (discover agents, run tasks) |
101
+ | `forgexa daemon start -d` | Start daemon in background |
97
102
  | `forgexa daemon status` | Show daemon statuses |
98
103
  | `forgexa daemon stop` | Stop local daemon |
99
104
  | `forgexa runtimes list` | List runtimes |
@@ -109,21 +114,63 @@ asf board --project <project-id>
109
114
  ## Output Format
110
115
 
111
116
  ```bash
112
- asf workspace list # Table (default)
113
- asf workspace list --format json # JSON
114
- asf workspace list --format quiet # IDs only
117
+ forgexa workspace list # Table (default)
118
+ forgexa workspace list --format json # JSON
119
+ forgexa workspace list --format quiet # IDs only
115
120
  ```
116
121
 
117
122
  ## Daemon Management
118
123
 
119
- The `forgexa` CLI handles remote daemon queries. To **start** a daemon locally,
120
- use the `forgexa-daemon` command from the backend package:
124
+ The daemon discovers locally installed AI agents and registers them with the Forgexa server.
125
+ It then polls for tasks and executes them using your local agents.
126
+
127
+ ### Start Daemon
128
+
129
+ ```bash
130
+ # Foreground (default — see logs, Ctrl+C to stop)
131
+ forgexa daemon start
132
+
133
+ # Background (detached)
134
+ forgexa daemon start -d
135
+
136
+ # Connect to a specific server
137
+ forgexa daemon start --server-url https://your-server.example.com
138
+
139
+ # Or via the standalone entry point
140
+ forgexa-daemon
141
+ ```
142
+
143
+ ### Other Daemon Commands
121
144
 
122
145
  ```bash
123
- pip install ./backend
124
- forgexa-daemon # starts the runtime daemon
146
+ # Check daemon status (from server)
147
+ forgexa daemon status
148
+
149
+ # Stop background daemon
150
+ forgexa daemon stop
125
151
  ```
126
152
 
153
+ ### Supported AI Agents
154
+
155
+ The daemon automatically discovers these agents if installed on your system:
156
+
157
+ | Agent | Command |
158
+ |-------|---------|
159
+ | Claude Code | `claude` |
160
+ | OpenAI Codex | `codex` |
161
+ | Gemini CLI | `gemini` |
162
+ | OpenCode | `opencode` |
163
+ | Kimi Code | `kimi` |
164
+
165
+ ### Environment Variables (Daemon)
166
+
167
+ | Variable | Default | Description |
168
+ |----------|---------|-------------|
169
+ | `DAEMON_SERVER_URL` | `http://localhost:8000` | Server to connect to |
170
+ | `DAEMON_API_TOKEN` | — | Auth token (auto-read from `~/.forgexa/token`) |
171
+ | `DAEMON_MAX_CONCURRENT` | `5` | Max parallel tasks |
172
+ | `DAEMON_POLL_INTERVAL` | `3` | Poll interval (seconds) |
173
+
127
174
  ## Publishing to PyPI
128
175
 
129
176
  ### Prerequisites
@@ -151,11 +198,11 @@ cd cli/
151
198
 
152
199
  ```bash
153
200
  # Bump version (updates pyproject.toml + __init__.py)
154
- ./scripts/bump-version.sh 0.3.0
201
+ ./scripts/bump-version.sh 1.1.0
155
202
 
156
203
  # Then commit, tag, and publish
157
- git add -A && git commit -m "release(cli): v0.3.0"
158
- git tag cli-v0.3.0
204
+ git add -A && git commit -m "release(cli): v1.1.0"
205
+ git tag cli-v1.1.0
159
206
  ./scripts/publish.sh
160
207
  ```
161
208
 
@@ -1,8 +1,9 @@
1
1
  # Forgexa CLI
2
2
 
3
- Command-line client for the [[Forgexa](https://forgexa.net) platform.
3
+ Command-line client and agent runtime for the [Forgexa](https://forgexa.net) platform.
4
4
 
5
- Lightweight, zero-dependency — communicates with the Forgexa server via REST API using only Python stdlib.
5
+ Lightweight — communicates with the Forgexa server via REST API using only Python stdlib.
6
+ Includes a built-in **daemon** that discovers local AI agents (Claude Code, Codex, Gemini CLI, OpenCode, Kimi Code, etc.) and executes tasks on behalf of the server.
6
7
 
7
8
  ## Installation
8
9
 
@@ -21,7 +22,7 @@ forgexa version
21
22
 
22
23
  ```bash
23
24
  # Install from source (editable mode)
24
- git clone https://github.com/anthropics/ai-software-factory.git
25
+ git clone https://github.com/forgexa/forgexa.git
25
26
  cd ai-software-factory/cli
26
27
  pip install -e .
27
28
  ```
@@ -33,16 +34,16 @@ pip install -e .
33
34
  export FORGEXA_SERVER_URL=https://your-server.example.com
34
35
 
35
36
  # Login (saves token to ~/.forgexa/token)
36
- asf login
37
+ forgexa login
37
38
 
38
39
  # List workspaces
39
- asf workspace list
40
+ forgexa workspace list
40
41
 
41
42
  # List projects
42
- asf project list --workspace <workspace-id>
43
+ forgexa project list --workspace <workspace-id>
43
44
 
44
45
  # Show kanban board
45
- asf board --project <project-id>
46
+ forgexa board --project <project-id>
46
47
  ```
47
48
 
48
49
  ## Commands
@@ -67,6 +68,8 @@ asf board --project <project-id>
67
68
  | `forgexa workflow show --project <id>` | Show workflow policy |
68
69
  | `forgexa workflow reload --project <id>` | Reload workflow |
69
70
  | `forgexa budget --workspace <id>` | Budget overview |
71
+ | `forgexa daemon start` | Start local daemon (discover agents, run tasks) |
72
+ | `forgexa daemon start -d` | Start daemon in background |
70
73
  | `forgexa daemon status` | Show daemon statuses |
71
74
  | `forgexa daemon stop` | Stop local daemon |
72
75
  | `forgexa runtimes list` | List runtimes |
@@ -82,21 +85,63 @@ asf board --project <project-id>
82
85
  ## Output Format
83
86
 
84
87
  ```bash
85
- asf workspace list # Table (default)
86
- asf workspace list --format json # JSON
87
- asf workspace list --format quiet # IDs only
88
+ forgexa workspace list # Table (default)
89
+ forgexa workspace list --format json # JSON
90
+ forgexa workspace list --format quiet # IDs only
88
91
  ```
89
92
 
90
93
  ## Daemon Management
91
94
 
92
- The `forgexa` CLI handles remote daemon queries. To **start** a daemon locally,
93
- use the `forgexa-daemon` command from the backend package:
95
+ The daemon discovers locally installed AI agents and registers them with the Forgexa server.
96
+ It then polls for tasks and executes them using your local agents.
97
+
98
+ ### Start Daemon
99
+
100
+ ```bash
101
+ # Foreground (default — see logs, Ctrl+C to stop)
102
+ forgexa daemon start
103
+
104
+ # Background (detached)
105
+ forgexa daemon start -d
106
+
107
+ # Connect to a specific server
108
+ forgexa daemon start --server-url https://your-server.example.com
109
+
110
+ # Or via the standalone entry point
111
+ forgexa-daemon
112
+ ```
113
+
114
+ ### Other Daemon Commands
94
115
 
95
116
  ```bash
96
- pip install ./backend
97
- forgexa-daemon # starts the runtime daemon
117
+ # Check daemon status (from server)
118
+ forgexa daemon status
119
+
120
+ # Stop background daemon
121
+ forgexa daemon stop
98
122
  ```
99
123
 
124
+ ### Supported AI Agents
125
+
126
+ The daemon automatically discovers these agents if installed on your system:
127
+
128
+ | Agent | Command |
129
+ |-------|---------|
130
+ | Claude Code | `claude` |
131
+ | OpenAI Codex | `codex` |
132
+ | Gemini CLI | `gemini` |
133
+ | OpenCode | `opencode` |
134
+ | Kimi Code | `kimi` |
135
+
136
+ ### Environment Variables (Daemon)
137
+
138
+ | Variable | Default | Description |
139
+ |----------|---------|-------------|
140
+ | `DAEMON_SERVER_URL` | `http://localhost:8000` | Server to connect to |
141
+ | `DAEMON_API_TOKEN` | — | Auth token (auto-read from `~/.forgexa/token`) |
142
+ | `DAEMON_MAX_CONCURRENT` | `5` | Max parallel tasks |
143
+ | `DAEMON_POLL_INTERVAL` | `3` | Poll interval (seconds) |
144
+
100
145
  ## Publishing to PyPI
101
146
 
102
147
  ### Prerequisites
@@ -124,11 +169,11 @@ cd cli/
124
169
 
125
170
  ```bash
126
171
  # Bump version (updates pyproject.toml + __init__.py)
127
- ./scripts/bump-version.sh 0.3.0
172
+ ./scripts/bump-version.sh 1.1.0
128
173
 
129
174
  # Then commit, tag, and publish
130
- git add -A && git commit -m "release(cli): v0.3.0"
131
- git tag cli-v0.3.0
175
+ git add -A && git commit -m "release(cli): v1.1.0"
176
+ git tag cli-v1.1.0
132
177
  ./scripts/publish.sh
133
178
  ```
134
179
 
@@ -1,2 +1,2 @@
1
1
  """forgexa-cli — Forgexa command-line client."""
2
- __version__ = "1.0.2"
2
+ __version__ = "1.0.4"