You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* cowork-bot: fix dispatch silent-failure + install-all extra + remove builtins alias
- dispatch: add _is_tool_installed() pre-flight check (importlib.util.find_spec)
so 'devforge guard ...' on an uninstalled tool shows a clear
'not installed — run pip install devforge[guard]' message instead of
silently exiting 1 with a raw Python ModuleNotFoundError trace.
The previous except FileNotFoundError was dead code: the error occurs
inside the subprocess, not at Popen launch time.
- install all: use canonical devforge[all] extra instead of joining all
tool keys into a comma-separated extras string (fragile; diverges if
TOOLS and pyproject.toml [all] ever drift).
- Remove 'import builtins as _builtins' workaround; no builtin shadowing
exists, so list() is fine throughout.
- Remove unused ctx: typer.Context parameter from dispatch inner function.
- Tests: 17/17 green; new TestIsToolInstalled + dispatch install-hint +
install-all-extra assertion tests cover the fixed paths.
* cowork-bot: seed cowork-auto-pr workflow for automated PR creation
* cowork-bot: merge origin/main into cowork/improve-devforge-cli; resolve cli.py merge conflicts keeping the install-all + dispatch improvements
* fix(install): replace broken bare 'pip install devforge-tools[...]' with verified-working git+ form
devforge-tools is NOT on public PyPI (verified 404 on pypi.org), so the
previous bare 'pip install devforge-tools[all/guard/...]' commands failed for
every user. README + AGENTS now lead with the git+ GitHub-source form and an
honest 'not on public PyPI' note; the 'devforge install <tool>' command and the
not-installed dispatch hint now build git+ URLs from each tool's repo URL; false
PyPI badges removed from README. Tests updated to assert the corrected hint.
Marketing-growth-agent run — conversion-surface repair (highest-ROI rung).
NOT pushed (W's call per OPS_CONTRACT).
* cowork-bot: forward tool flags in dispatch subcommands (fix silent-failure trap)
The per-tool subcommands (guard, sql, deploy, ...) used a typer Argument
for args, which made typer reject any token beginning with `-` as an
unknown option BEFORE the underlying tool ever ran. So `devforge guard
--config x.yaml` failed with "No such option" and the tool silently never
executed — the hub's known silent-failure/observability trap.
Register each dispatch command with ignore_unknown_options +
allow_extra_args and forward ctx.args to the underlying `python -m
<pkg>` invocation. Positional args and flags now reach the tool. Added a
regression test (test_dispatch_forwards_tool_flags) and the
cowork-auto-pr workflow so the improvement is delivered as a PR.
* ci: add CODEOWNERS, dependabot, CI/CD workflows (auto-PR, publish)
* fix(cli): use consistent devforge-cli.git URL in dispatch install hint + prevent rich line-wrap breaking the URL
* fix(tests): resolve merge conflict in test_cli.py (keep upstream test_dispatch_forwards_tool_flags)
* style(tests): fix E501 line-too-long in test_cli.py assertion (ruff lint)
* style: ruff format (fix CI lint failure)
---------
Co-authored-by: DevForge Engineer <engineer@devforge.dev>
Copy file name to clipboardExpand all lines: AGENTS.md
+1-2Lines changed: 1 addition & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,8 +4,7 @@
4
4
DevForge CLI meta-package that installs all 11 developer tools in one command. Provides a unified `devforge` CLI entry point delegating to sub-tools: api-contract-guardian, json2sql, deploydiff, configdrift, apighost, apiauth, envault, schemaforge, click-to-mcp, and deadcode.
5
5
6
6
## Build & Test Commands
7
-
- Install: `pip install -e .[all]` or `pip install devforge-tools`
8
-
- Install all tools: `pip install devforge-tools[all]`
7
+
- Install: `pip install -e ".[all]"` or `pip install "git+https://github.com/Coding-Dev-Tools/devforge-cli.git[all]"` (NOTE: `devforge-tools` is not on public PyPI — use the `git+` form)
Ten production-ready CLI tools for API contracts, SQL generation, infrastructure diffs, config drift, API mocking, key management, env syncing, schema conversion, MCP servers, and dead code removal — in a single package. Install one meta-package and get immediate access to all tools via the unified `devforge` command.
@@ -18,31 +16,28 @@ Ten production-ready CLI tools for API contracts, SQL generation, infrastructure
18
16
19
17
## Why the Suite?
20
18
21
-
Instead of installing ten separate tools and learning ten different CLIs, `pip install devforge-tools[all]` gives you:
19
+
Instead of installing ten separate tools and learning ten different CLIs, the `devforge` meta-package gives you:
22
20
23
21
-**Single CLI** (`devforge`) to invoke any tool — no context switching
24
22
-**Consistent flags, output formats, and help** across all tools
25
23
-**Shared configuration** — one install, all tools
26
24
27
25
## Installation
28
26
27
+
> **Install note:**`devforge-tools` is **not published on public PyPI**. Install it directly from the GitHub source with the `git+` form below (the only verified-working pip path right now).
28
+
29
29
```bash
30
30
# Install everything (recommended)
31
-
pip install devforge-tools[all]
32
-
33
-
# Or install individual tools
34
-
pip install devforge-tools[guard] # API Contract Guardian
Each tool can also be installed on its own from its own repo (e.g. `pip install git+https://github.com/Coding-Dev-Tools/apighost.git`). See each tool's README for details.
0 commit comments