ClaudeFlow ported, needs cleanup

This commit is contained in:
Your Name
2025-08-10 12:00:13 -04:00
parent 08df0d26aa
commit 475b483850
61 changed files with 14025 additions and 3000 deletions
+82 -25
View File
@@ -1,39 +1,96 @@
Feature: Command-line greeting interface
As a user of the CleverClaude CLI
I want to be greeted properly
So that I can verify the application works
Feature: CleverClaude Command-line Interface
As a user of CleverClaude
I want to interact with the AI agent orchestration system via CLI
So that I can manage agents, swarms, and tasks efficiently
Background:
Given the CLI is available
Given the CleverClaude CLI is available
And I have a test environment
Scenario: Default greeting
When I run "python -m cleverclaude"
@smoke
Scenario: Display version information
When I run "cleverclaude --version"
Then the exit code should be 0
And the output should contain "Hello, World!"
And the output should contain "CleverClaude Python v"
Scenario: Custom name greeting
When I run "python -m cleverclaude --name Alice"
@smoke
Scenario: Display help information
When I run "cleverclaude --help"
Then the exit code should be 0
And the output should contain "Hello, Alice!"
And the output should contain "Advanced AI Agent Orchestration System"
And the output should contain "init"
And the output should contain "start"
And the output should contain "agent"
And the output should contain "swarm"
Scenario: Multiple greetings
When I run "python -m cleverclaude --count 3"
Scenario: Initialize project with default template
Given I have an empty directory
When I run "cleverclaude init"
Then the exit code should be 0
And the output should contain "Hello, World!" 3 times
And the output should contain "CleverClaude project initialized successfully"
And the directory ".cleverclaude" should exist
And the file ".cleverclaude/config.yaml" should exist
And the file ".env.example" should exist
And the directory "examples" should exist
Scenario Outline: Greeting various names
When I run "python -m cleverclaude --name <name>"
Scenario: Initialize project with custom directory
Given I have a target directory "test-project"
When I run "cleverclaude init --dir test-project"
Then the exit code should be 0
And the output should contain "Hello, <name>!"
And the output should contain "CleverClaude project initialized successfully"
And the directory "test-project/.cleverclaude" should exist
Scenario: Initialize project with production template
Given I have an empty directory
When I run "cleverclaude init --template production"
Then the exit code should be 0
And the file "docker-compose.yml" should exist
And the file ".cleverclaude/config.yaml" should contain "environment: \"production\""
Scenario: Fail to initialize in non-empty directory without force
Given I have a directory with existing files
When I run "cleverclaude init"
Then the exit code should be 1
And the output should contain "Use --force to overwrite"
Scenario: Force initialize in non-empty directory
Given I have a directory with existing files
When I run "cleverclaude init --force"
Then the exit code should be 0
And the output should contain "CleverClaude project initialized successfully"
@wip
Scenario: Start CleverClaude orchestration system
Given I have an initialized CleverClaude project
When I start the orchestration system in test mode
Then the system should initialize successfully
And the agent manager should be running
And the API server should be accessible
@wip
Scenario: Display system status
Given CleverClaude is running
When I run "cleverclaude status"
Then the exit code should be 0
And the output should contain system health information
And the output should contain agent count
And the output should contain memory usage
Scenario Outline: CLI command help
When I run "cleverclaude <command> --help"
Then the exit code should be 0
And the output should contain command-specific help
Examples:
| name |
| Bob |
| Charlie |
| |
| 🎉 |
| command |
| init |
| start |
| status |
| config |
| monitor |
@hypothesis
Scenario: Fuzz test greeting names
When I fuzz test the CLI with random names
Then all invocations should succeed
Scenario: Fuzz test CLI with invalid arguments
When I fuzz test the CLI with random invalid arguments
Then all invocations should either succeed or fail gracefully
And no invocation should crash the system