58 lines
2.1 KiB
Gherkin
58 lines
2.1 KiB
Gherkin
@discovery
|
|
Feature: Shell Asset Extraction
|
|
As a developer migrating from Plandex to CleverAgents
|
|
I need to extract and catalog shell scripts from the Go codebase
|
|
So that I can create Python replacements and understand dependencies
|
|
|
|
Background:
|
|
Given the Plandex Go repository exists
|
|
And the ShellAssetExtractor is initialized
|
|
|
|
Scenario: Extract shell scripts from repository
|
|
When I run the shell asset extraction
|
|
Then shell scripts should be discovered
|
|
And each script should have metadata extracted
|
|
|
|
Scenario: Analyze start_local.sh script
|
|
When I extract shell assets
|
|
Then the start_local.sh script should be found
|
|
And it should be marked as requiring Docker
|
|
And it should be marked as requiring Git
|
|
And it should be suggested for Python replacement
|
|
|
|
Scenario: Identify environment variables in scripts
|
|
When I extract shell assets
|
|
Then environment variables should be identified
|
|
And each variable should be mapped to its scripts
|
|
|
|
Scenario: Detect script dependencies
|
|
When I extract shell assets
|
|
Then scripts requiring Docker should be identified
|
|
And scripts requiring Git should be identified
|
|
And command dependencies should be captured
|
|
|
|
Scenario: Generate Python wrappers for scripts
|
|
When I extract shell assets
|
|
And I save the catalog with wrappers
|
|
Then Python wrapper files should be created
|
|
And wrappers should include documentation
|
|
And wrappers should preserve environment variable handling
|
|
|
|
Scenario: Save shell asset catalog
|
|
When I extract shell assets
|
|
And I save the catalog
|
|
Then a YAML catalog file should be created
|
|
And a JSON catalog file should be created
|
|
And both catalog files should contain the same data
|
|
|
|
Scenario: Identify idempotent scripts
|
|
When I extract shell assets
|
|
Then idempotent scripts should be marked
|
|
And scripts with mkdir -p should be idempotent
|
|
And scripts with test checks should be idempotent
|
|
|
|
Scenario: Categorize scripts by purpose
|
|
When I extract shell assets
|
|
Then test scripts should be identified
|
|
And development scripts should be identified
|
|
And code generation scripts should be identified |