Skip to content
This repository was archived by the owner on Apr 22, 2026. It is now read-only.

Commit f2dca0a

Browse files
authored
Merge pull request #45 from FuzzingLabs/feature/tui-agent-setup
feat(tui): add terminal UI with hub and agent management
2 parents 3e0d1cd + 9376645 commit f2dca0a

12 files changed

Lines changed: 3584 additions & 188 deletions

File tree

USAGE.md

Lines changed: 224 additions & 173 deletions
Large diffs are not rendered by default.

fuzzforge-cli/pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ requires-python = ">=3.14"
88
dependencies = [
99
"fuzzforge-mcp==0.0.1",
1010
"rich>=14.0.0",
11+
"textual>=1.0.0",
1112
"typer==0.20.1",
1213
]
1314

fuzzforge-cli/src/fuzzforge_cli/application.py

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,15 +34,15 @@ def main(
3434
envvar="FUZZFORGE_STORAGE__PATH",
3535
help="Path to the storage directory.",
3636
),
37-
] = Path.home() / ".fuzzforge" / "storage",
37+
] = Path.cwd() / ".fuzzforge" / "storage",
3838
context: TyperContext = None, # type: ignore[assignment]
3939
) -> None:
4040
"""FuzzForge AI - Security research orchestration platform.
4141
4242
Discover and execute MCP hub tools for security research.
4343
4444
"""
45-
storage = LocalStorage(storage_path=storage_path)
45+
storage = LocalStorage(base_path=storage_path)
4646

4747
context.obj = Context(
4848
storage=storage,
@@ -52,3 +52,19 @@ def main(
5252

5353
application.add_typer(mcp.application)
5454
application.add_typer(projects.application)
55+
56+
57+
@application.command(
58+
name="ui",
59+
help="Launch the FuzzForge terminal interface.",
60+
)
61+
def launch_ui() -> None:
62+
"""Launch the interactive FuzzForge TUI dashboard.
63+
64+
Provides a visual dashboard showing AI agent connection status
65+
and hub server availability, with wizards for setup and configuration.
66+
67+
"""
68+
from fuzzforge_cli.tui.app import FuzzForgeApp
69+
70+
FuzzForgeApp().run()

fuzzforge-cli/src/fuzzforge_cli/commands/mcp.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ def _generate_mcp_config(
169169

170170
# Self-contained storage paths for FuzzForge containers
171171
# This isolates FuzzForge from system Podman and avoids snap issues
172-
fuzzforge_home = Path.home() / ".fuzzforge"
172+
fuzzforge_home = Path.cwd() / ".fuzzforge"
173173
graphroot = fuzzforge_home / "containers" / "storage"
174174
runroot = fuzzforge_home / "containers" / "run"
175175

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
"""FuzzForge terminal user interface."""

0 commit comments

Comments
 (0)