{"id":45136863,"url":"https://github.com/daironpf/socialseed-e2e","last_synced_at":"2026-03-01T20:03:06.564Z","repository":{"id":335598160,"uuid":"1146400457","full_name":"daironpf/socialseed-e2e","owner":"daironpf","description":"E2E Framework for testing REST APIs with AI Agents","archived":false,"fork":false,"pushed_at":"2026-02-20T01:46:33.000Z","size":2335,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-20T01:53:25.212Z","etag":null,"topics":["e2e","playwright","python3","testing","testing-framework","testing-library","testing-tools"],"latest_commit_sha":null,"homepage":"https://daironpf.github.io/socialseed-e2e/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/daironpf.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"docs/security-fuzzing.md","support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.md","dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-01-31T03:17:03.000Z","updated_at":"2026-02-20T01:46:37.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/daironpf/socialseed-e2e","commit_stats":null,"previous_names":["daironpf/socialseed-e2e"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/daironpf/socialseed-e2e","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daironpf%2Fsocialseed-e2e","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daironpf%2Fsocialseed-e2e/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daironpf%2Fsocialseed-e2e/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daironpf%2Fsocialseed-e2e/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/daironpf","download_url":"https://codeload.github.com/daironpf/socialseed-e2e/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daironpf%2Fsocialseed-e2e/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29983122,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-01T16:35:47.903Z","status":"ssl_error","status_checked_at":"2026-03-01T16:35:44.899Z","response_time":124,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["e2e","playwright","python3","testing","testing-framework","testing-library","testing-tools"],"created_at":"2026-02-20T00:02:38.278Z","updated_at":"2026-03-01T20:03:06.558Z","avatar_url":"https://github.com/daironpf.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🌱 SocialSeed E2E\n\n[![PyPI](https://img.shields.io/pypi/v/socialseed-e2e)](https://pypi.org/project/socialseed-e2e/)\n[![Python](https://img.shields.io/pypi/pyversions/socialseed-e2e)](https://pypi.org/project/socialseed-e2e/)\n[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)\n\n---\n\n## 🤖 AI Agent First - Start Here!\n\nThis section is for AI agents. If you're using OpenCode, Claude, or any AI to create tests, **START HERE**:\n\n### 1. Install Framework\n\n```bash\npip install socialseed-e2e\n```\n\n### 2. Initialize Project with Your API\n\n```bash\n# Create test directory\nmkdir api-tests \u0026\u0026 cd api-tests\n\n# Auto-detect your API and generate AI documentation\ne2e init . --api\n```\n\n**That's it!** Now run your AI agent:\n\n```bash\nopencode .\n```\n\n### 3. Tell the AI What to Do\n\nExample prompts for AI agents:\n\n```\n\"Create tests for the auth service login endpoint\"\n\"Test the user registration flow\"\n\"Generate tests for all CRUD operations\"\n\"Test error handling for invalid inputs\"\n```\n\n### What AI Agents Need to Know\n\nWhen AI agent starts, it will find in `.agent/`:\n\n| File | Description |\n|------|-------------|\n| `ENDPOINTS.md` | All API endpoints with methods, paths |\n| `DATA_SCHEMAS.md` | DTOs, models, request/response formats |\n| `AUTH_FLOWS.md` | Login, register, password reset flows |\n| `TEST_PATTERNS.md` | Test templates ready to use |\n| `ERROR_CODES.md` | Error codes and messages |\n\n### Multi-Service Projects\n\nFor projects with multiple microservices:\n\n```bash\n# Each service gets its own documentation\ne2e init tests/auth --scan ../services/auth-service/src\ne2e init tests/user --scan ../services/user-service/src\ne2e init tests/payment --scan ../services/payment-service/src\n```\n\n### Example: Full AI Workflow\n\n```bash\n# 1. Install\npip install socialseed-e2e\n\n# 2. Setup\nmkdir tests \u0026\u0026 cd tests\ne2e init . --api\n\n# 3. Run AI\nopencode .\n\n# 4. AI will:\n#    - Read .agent/ to understand your API\n#    - Read e2e.conf for service URLs\n#    - Create tests in services/\u003cname\u003e/modules/\n#    - Run tests with e2e run --service \u003cname\u003e\n```\n\n### Troubleshooting AI Agents\n\n**Problem**: AI generates wrong endpoints\n**Solution**: Update documentation:\n```bash\ne2e init . --scan ../path/to/your-api\n```\n\n**Problem**: AI can't connect to services\n**Solution**: Check `e2e.conf` has correct URLs:\n```yaml\nservices:\n  auth-service:\n    base_url: http://localhost:8085\n```\n\n**Problem**: AI doesn't understand the API\n**Solution**: Ensure `.agent/` docs are generated:\n```bash\ne2e init . --api\n```\n\n---\n\n## 📚 For Developers - Manual Setup\n\nIf you prefer manual configuration instead of AI:\n\n### Quick Start\n\n```bash\n# Install\npip install socialseed-e2e\n\n# Initialize\ne2e init my-project\ncd my-project\n\n# Create service\ne2e new-service my-api --base-url http://localhost:8080\n\n# Run tests\ne2e run\n```\n\n### Configuration (e2e.conf)\n\n```yaml\nservices:\n  my-api:\n    base_url: http://localhost:8080\n    health_endpoint: /health\n```\n\n---\n\n## The Problem\npip install socialseed-e2e\n```\n\n### 2. Initialize Project\n\n```bash\ne2e init demo\ncd demo\n```\n\n**Output:**\n```\n🌱 Initializing E2E project at: /path/to/demo\n\n  ✓ Created: services\n  ✓ Created: tests\n  ✓ Created: .github/workflows\n  ✓ Created: e2e.conf\n  ✓ Created: .gitignore\n  ✓ Created: requirements.txt\n  ✓ Created: .agent/ (AI Documentation)\n\n✅ Project initialized successfully!\n```\n\n### 3. Create Your First Service\n\n```bash\ne2e new-service demo-api --base-url http://localhost:8080\n```\n\n**Generated Folder Structure:**\n```\ndemo/\n├── e2e.conf                    # Configuration file\n├── services/\n│   └── demo-api/\n│       ├── __init__.py\n│       ├── demo_api_page.py    # Service Page class\n│       ├── data_schema.py      # Data models\n│       └── modules/            # Test modules\n├── tests/                      # Additional tests\n└── .github/workflows/          # CI/CD templates\n```\n\n### 4. Create Your First Test\n\n```bash\ne2e new-test health --service demo-api\n```\n\nThis creates `services/demo-api/modules/01_health_flow.py` with a test template.\n\n### 5. Start Your API (3 Options)\n\nBefore running tests, you need an API server running. You have three options:\n\n#### Option A: Use the Included Demo API (Recommended for beginners)\nThe `e2e init` command automatically creates a demo REST API with CRUD operations:\n\n```bash\n# Install dependencies (includes Flask for the demo API)\npip install -r requirements.txt\n\n# Start the demo API (in a separate terminal)\ncd demo\npython api-rest-demo.py\n\n# The API will start on http://localhost:5000\n# It includes 10 sample users and full CRUD endpoints\n```\n\n**Note:** If you get a `ModuleNotFoundError: No module named 'flask'` error, install Flask manually:\n```bash\npip install flask\u003e=2.0.0\n```\n\n**Update your service to use the demo API:**\n```bash\n# Edit e2e.conf and change the base_url to http://localhost:5000\ne2e set url demo-api http://localhost:5000\n```\n\n#### Option B: Use Your Own API\nEnsure your API is running at the configured base URL (e.g., `http://localhost:8080`):\n\n```bash\n# Start your API (example)\npython your_api.py\n# or\nnpm start\n# or\ndocker-compose up\n```\n\n#### Option C: Use the Built-in Mock Server\n```bash\n# Install Flask (required for mock server)\npip install flask\u003e=2.0.0\n\n# Start the mock server in a separate terminal\npython -m socialseed_e2e.mock_server\n```\n\n### 6. Run Tests\n\n```bash\ne2e run\n```\n\n**Expected Output:**\n```\n🚀 socialseed-e2e v0.1.6\n══════════════════════════════════════════════════\n\n📋 Configuration: e2e.conf\n🌍 Environment: dev\n\nServices Summary:\n   Detected:    [demo-api]\n   Configured:  [demo-api]\n\nRunning tests for service: demo-api\n══════════════════════════════════════════════════\n\n✓ demo-api tests completed\n\n════════════════════════════════════════════════════════════\nTest Execution Summary\n════════════════════════════════════════════════════════════\n\ndemo-api: 1/1 passed (100.0%)\n\n✅ All tests passed!\n\n---\n\n## 📋 System Requirements\n\nBefore installing socialseed-e2e, ensure your environment meets the following requirements:\n\n### Python Versions\n\n- **Python \u003e= 3.10** (required)\n- Tested on Python 3.10, 3.11, and 3.12\n\n### Operating Systems\n\n- ✅ **Linux** - Fully supported (primary development platform)\n- ✅ **macOS** - Fully supported (Intel and Apple Silicon)\n- ⚠️ **Windows** - Supported via WSL2 (Windows Subsystem for Linux)\n\n### Browser Dependencies\n\nsocialseed-e2e uses **Playwright** for HTTP testing. You need to install browser binaries:\n\n```bash\n# After installing socialseed-e2e\nplaywright install chromium\n\n# Or install with dependencies (recommended for CI/CD)\nplaywright install --with-deps chromium\n```\n\n**Supported Browsers:**\n- Chromium (recommended for API testing)\n- Firefox (optional)\n- WebKit (optional)\n\n### System Dependencies\n\n#### Linux (Ubuntu/Debian)\n```bash\n# Playwright system dependencies\nsudo apt-get update\nsudo apt-get install -y libnss3 libnspr4 libatk1.0-0 libatk-bridge2.0-0 \\\n  libcups2 libdrm2 libxkbcommon0 libxcomposite1 libxdamage1 libxfixes3 \\\n  libxrandr2 libgbm1 libasound2\n```\n\n#### macOS\n```bash\n# No additional system dependencies required\n# Playwright will prompt if anything is needed\n```\n\n### Docker (Optional)\n\nYou can also run socialseed-e2e using Docker:\n\n```bash\n# Build the Docker image\ndocker build -t socialseed-e2e .\n\n# Run tests in container\ndocker run --rm -v $(pwd):/app socialseed-e2e e2e run\n```\n\n**Docker Benefits:**\n- Consistent testing environment\n- No local Python/Playwright installation needed\n- Perfect for CI/CD pipelines\n\n---\n\n## 🐳 Docker Usage\n\nSocialSeed E2E provides an official Docker image for containerized test execution. This is ideal for CI/CD pipelines and environments where you want to avoid installing Python dependencies locally.\n\n### Building the Docker Image\n\n```bash\n# Clone or navigate to the project directory\ncd socialseed-e2e\n\n# Build the Docker image\ndocker build -t socialseed-e2e .\n```\n\n### Running Tests with Docker\n\n#### Basic Usage\n\n```bash\n# Show help\ndocker run --rm socialseed-e2e --help\n\n# Run all tests (mount your project directory)\ndocker run --rm -v $(pwd):/app socialseed-e2e run\n\n# Run tests for a specific service\ndocker run --rm -v $(pwd):/app socialseed-e2e run --service users-api\n\n# Run with verbose output\ndocker run --rm -v $(pwd):/app socialseed-e2e run --verbose\n```\n\n#### Advanced Usage\n\n```bash\n# Run with debug mode\ndocker run --rm -v $(pwd):/app socialseed-e2e run --debug\n\n# Run in boring mode (disable AI features)\ndocker run --rm -v $(pwd):/app socialseed-e2e run --no-agent\n\n# Generate JUnit report\ndocker run --rm -v $(pwd):/app -v $(pwd)/reports:/app/reports socialseed-e2e run --report junit\n\n# Run specific test module\ndocker run --rm -v $(pwd):/app socialseed-e2e run --service auth --module 01_login\n```\n\n### Docker in CI/CD\n\nExample GitHub Actions workflow using Docker:\n\n```yaml\nname: E2E Tests with Docker\n\non: [push, pull_request]\n\njobs:\n  test:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v4\n      \n      - name: Build Docker image\n        run: docker build -t socialseed-e2e .\n      \n      - name: Run E2E tests\n        run: docker run --rm -v $(pwd):/app socialseed-e2e run --report junit\n      \n      - name: Upload test results\n        uses: actions/upload-artifact@v4\n        with:\n          name: test-results\n          path: ./reports/junit.xml\n```\n\n### Benefits of Docker Usage\n\n- **No local installation**: No need to install Python, Playwright, or dependencies\n- **Consistent environment**: Same environment across dev, CI, and production\n- **Isolated execution**: Tests run in a clean, isolated container\n- **Easy CI/CD integration**: Simple to integrate with any CI/CD platform\n- **Version pinning**: Use specific versions of the framework via Docker tags\n\n---\n\n## 🤖 Built for AI Agents (Recommended)\n\n**This framework was designed from the ground up for AI agents.**\n\nWhile you can write tests manually, the true power comes from letting AI do the work:\n\n```bash\n# 1. Initialize\ne2e init\n\n# 2. Tell your AI agent:\n# \"Read the .agent/ folder and generate tests for my API\"\n\n# 3. The AI automatically:\n# - Scans your API code\n# - Generates complete test suites\n# - Uses semantic search to understand your endpoints\n# - Creates stateful test chains\n```\n\n**AI Features:**\n- Auto-generates `project_knowledge.json` from your codebase\n- Vector embeddings for semantic search over your API\n- RAG-ready retrieval for context-aware test generation\n- Structured protocols that AI agents understand\n\n**Don't have an AI agent?** You can write tests manually too—it's still 10x faster than traditional frameworks.\n\n---\n\n## ✨ What You Get\n\n- **CLI scaffolding** - `e2e new-service` and `e2e new-test` commands\n- **Auto-discovery** - Tests run in order automatically\n- **Stateful chaining** - Share data between tests\n- **Built-in mocking** - Test without external dependencies\n- **AI Manifest** - Auto-generate API knowledge from code\n- **Vector search** - Semantic search over your API (RAG-ready)\n\n---\n\n## 📚 Advanced Usage Examples\n\nLearn how to handle common testing scenarios with these examples:\n\n### [Authorization Headers](examples/advanced_usage/auth_headers_example.py)\n- Basic Authentication\n- Bearer Token (JWT)\n- API Key authentication\n- Custom headers\n- OAuth 2.0 flow\n\n### [Environment Variables](examples/advanced_usage/env_variables_example.py)\n- Loading .env files\n- Environment-specific configuration\n- Secrets management\n- Test data from environment\n\n### [Test Fixtures](examples/advanced_usage/fixtures_example.py)\n- Setup/teardown logic\n- Sharing state between tests\n- Page attributes as fixtures\n- Test isolation patterns\n- Cleanup strategies\n\n### [Parameterized Tests](examples/advanced_usage/parameterized_tests_example.py)\n- Multiple test files\n- External test data (JSON, CSV)\n- Test data providers\n- Dynamic test generation\n- pytest parametrize integration\n\n```bash\n# Run an example\npython3 examples/advanced_usage/auth_headers_example.py\n```\n\n---\n\n## 📝 Example Test\n\n```python\n# services/users-api/modules/01_login.py\n\nasync def run(page):\n    response = await page.do_login(\n        email=\"test@example.com\",\n        password=\"secret\"\n    )\n    assert response.status == 200\n    assert \"token\" in response.json()\n    return response\n```\n\n---\n\n## ✅ Checklist for Creating Tests\n\nBefore creating tests, ensure your service setup follows these conventions:\n\n### Directory Structure\n```\nservices/{service_name}/\n├── __init__.py\n├── {service_name}_page.py      # Must be named EXACTLY like this\n├── data_schema.py               # Optional: Data models and constants\n└── modules/                     # Test modules directory\n    ├── 01_login.py\n    └── __init__.py\n```\n\n### Requirements\n\n- [ ] **Directory**: `services/{service_name}/` - Use underscores (e.g., `auth_service`)\n- [ ] **Page File**: `{service_name}_page.py` - Must be named exactly like the directory + `_page.py`\n- [ ] **Inheritance**: Class must inherit from `BasePage`\n- [ ] **Constructor**: Must accept `base_url: str` and call `super().__init__(base_url=base_url)`\n- [ ] **Configuration**: The `services` block in `e2e.conf` must match the directory name (hyphens/underscores are normalized)\n\n### Boilerplate: `{service_name}_page.py`\n\n```python\n\"\"\"Page class for {service_name} API.\"\"\"\n\nfrom socialseed_e2e.core.base_page import BasePage\nfrom typing import Optional\n\n\nclass AuthServicePage(BasePage):  # Replace AuthService with your service name\n    \"\"\"Page object for auth-service API interactions.\"\"\"\n    \n    def __init__(self, base_url: str, **kwargs):\n        \"\"\"Initialize the page with base URL.\n        \n        Args:\n            base_url: Base URL for the API (e.g., http://localhost:8080)\n            **kwargs: Additional arguments passed to BasePage\n        \"\"\"\n        super().__init__(base_url=base_url, **kwargs)\n    \n    def do_login(self, email: str, password: str):\n        \"\"\"Execute login request.\"\"\"\n        return self.post(\"/auth/login\", json={\n            \"email\": email,\n            \"password\": password\n        })\n```\n\n### Configuration Example (`e2e.conf`)\n\n```yaml\nservices:\n  auth_service:  # Matches services/auth_service/ directory\n    base_url: http://localhost:8080\n    health_endpoint: /health\n```\n\n**Note**: Service names with hyphens (e.g., `auth-service`) are automatically normalized to underscores (`auth_service`) for matching.\n\n---\n\n## 🎯 CLI Commands\n\n### Core Commands\n```bash\ne2e init [dir]              # Initialize project\ne2e new-service \u003cname\u003e      # Create service structure\ne2e new-test \u003cname\u003e         # Create test module\ne2e run                     # Run all tests\ne2e lint                    # Validate test files\ne2e config                  # Show configuration\n```\n\n### AI Features\n```bash\ne2e manifest                # Generate API knowledge manifest\ne2e manifest-query          # Query manifest\ne2e build-index            # Build vector index for semantic search\ne2e search \"query\"         # Semantic search (RAG)\ne2e retrieve \"task\"        # Retrieve context for task\ne2e watch                  # Auto-update manifest on file changes\ne2e discover               # Generate AI Discovery Report\ne2e generate-tests         # Autonomous test generation\ne2e plan-strategy          # Generate test strategy\ne2e autonomous-run         # Run tests with AI orchestration\n```\n\n### Testing \u0026 Debugging\n```bash\ne2e doctor                 # Verify installation\ne2e deep-scan              # Zero-config project mapping\ne2e observe                # Auto-detect services and ports\ne2e debug-execution        # Debug failed tests with AI\ne2e analyze-flaky         # Analyze flaky test patterns\ne2e healing-stats          # View self-healing statistics\ne2e regression             # AI regression analysis\ne2e semantic-analyze       # Semantic drift detection\n```\n\n### Performance \u0026 Security\n```bash\ne2e perf-profile           # Performance profiling\ne2e perf-report           # Generate performance report\ne2e security-test          # AI-driven security fuzzing\ne2e red-team assess        # Adversarial security testing\n```\n\n### Mocking \u0026 Recording\n```bash\ne2e mock-analyze          # Analyze external API dependencies\ne2e mock-generate \u003csvc\u003e   # Generate mock server\ne2e mock-run              # Run mock servers\ne2e mock-validate         # Validate API contracts\ne2e recorder record        # Record API session\ne2e recorder replay       # Replay session\ne2e shadow capture        # Capture production traffic\n```\n\n### Import \u0026 Export\n```bash\ne2e import postman \u003cfile\u003e # Import Postman collection\ne2e import openapi \u003cfile\u003e # Import OpenAPI spec\ne2e import curl \u003ccmd\u003e      # Import curl command\ne2e gherkin-translate     # Convert Gherkin to tests\ne2e translate             # Natural language to test code\n```\n\n### CI/CD \u0026 Community\n```bash\ne2e setup-ci \u003cplatform\u003e   # Generate CI/CD templates\ne2e community templates   # List community templates\ne2e community plugins     # List plugins\n```\n\n### Additional Commands\n```bash\ne2e install-demo          # Install demo APIs (D01-D16)\ne2e install-extras       # Install optional dependencies (tui, rag, dashboard, etc.)\ne2e telemetry             # Token usage monitoring\ne2e ai-learning feedback  # View AI feedback\ne2e dashboard             # Launch web dashboard (Vue.js + FastAPI)\ne2e tui                  # Launch terminal interface\ne2e set url \u003csvc\u003e \u003curl\u003e  # Configure service URL\ne2e --version            # Show version\n```\n\n### Full Command Reference\nSee [docs/cli-reference.md](docs/cli-reference.md) for complete documentation.\n\n---\n\n## 🔄 CI/CD Integration\n\nSocialSeed E2E provides ready-to-use CI/CD templates for seamless integration into your pipelines.\n\n### GitHub Actions\n\nThe framework includes a pre-configured GitHub Actions workflow at `.github/workflows/e2e.yml`:\n\n```yaml\nname: E2E Tests\n\non:\n  push:\n    branches: [ main ]\n  pull_request:\n    branches: [ main ]\n\njobs:\n  e2e-tests:\n    runs-on: ubuntu-latest\n    steps:\n    - uses: actions/checkout@v4\n    - name: Set up Python\n      uses: actions/setup-python@v5\n      with:\n        python-version: '\u003e=3.10'\n    - name: Install socialseed-e2e\n      run: pip install socialseed-e2e\n    - name: Install Playwright Browsers\n      run: playwright install --with-deps chromium\n    - name: Run E2E Tests\n      run: e2e run --report junit\n    - name: Upload Test Results\n      uses: actions/upload-artifact@v4\n      with:\n        name: junit-test-results\n        path: ./reports/junit.xml\n```\n\n**Features:**\n- ✅ Triggers on push/PR to `main` branch\n- ✅ Python 3.10+ support\n- ✅ Automatic JUnit XML report generation\n- ✅ Test artifacts uploaded for 30 days\n- ✅ Workflow summary in GitHub Actions UI\n\n### Setup Instructions\n\n1. **Use the built-in template:**\n   ```bash\n   e2e setup-ci github\n   ```\n\n2. **Or manually copy** the `.github/workflows/e2e.yml` file to your repository\n\n3. **The workflow will automatically:**\n   - Run on every push/PR to main\n   - Install socialseed-e2e\n   - Execute all E2E tests\n   - Generate JUnit reports\n   - Upload artifacts for analysis\n\n### Other Platforms\n\nGenerate templates for other CI/CD platforms:\n\n```bash\ne2e setup-ci gitlab      # GitLab CI\ne2e setup-ci jenkins     # Jenkins\ne2e setup-ci azure       # Azure DevOps\ne2e setup-ci circleci    # CircleCI\ne2e setup-ci travis      # Travis CI\n```\n\n---\n\n## 🎯 CLI Reference\n\nComplete reference for all CLI commands and flags.\n\n### Global Options\n\n```bash\ne2e --help          # Show help message and exit\ne2e --version       # Show version information\n```\n\n### Core Commands\n\n#### `e2e init` - Initialize Project\n\nInitialize a new E2E testing project with directory structure and configuration files.\n\n```bash\ne2e init [DIRECTORY] [OPTIONS]\n\nOptions:\n  --force    Overwrite existing files\n```\n\n**Examples:**\n```bash\ne2e init                      # Initialize in current directory\ne2e init my-project           # Initialize in specific directory\ne2e init --force              # Overwrite existing files\n```\n\n#### `e2e new-service` - Create Service\n\nCreate a new service with complete scaffolding (page class, data schema, and modules directory).\n\n```bash\ne2e new-service NAME [OPTIONS]\n\nArguments:\n  NAME    Service name (e.g., users-api, auth_service)\n\nOptions:\n  --base-url TEXT          Service base URL (default: http://localhost:8080)\n  --health-endpoint TEXT   Health check endpoint path (default: /health)\n```\n\n**Examples:**\n```bash\ne2e new-service users-api\ne2e new-service payment-service --base-url http://localhost:8081\ne2e new-service auth-service --base-url http://localhost:8080 --health-endpoint /actuator/health\n```\n\n#### `e2e new-test` - Create Test\n\nCreate a new test module for an existing service.\n\n```bash\ne2e new-test NAME --service SERVICE\n\nRequired:\n  --service TEXT    Service name to create test for\n```\n\n**Examples:**\n```bash\ne2e new-test login --service auth-api\ne2e new-test create-user --service users-api\n```\n\n#### `e2e run` - Execute Tests\n\nRun E2E tests with various filtering and output options.\n\n```bash\ne2e run [OPTIONS]\n\nFiltering Options:\n  -s, --service TEXT              Run tests for specific service only\n  -m, --module TEXT               Run specific test module\n  -t, --tag TEXT                  Only run tests with these tags (can be used multiple times)\n  -x, --exclude-tag TEXT          Exclude tests with these tags (can be used multiple times)\n\nConfiguration Options:\n  -c, --config TEXT               Path to configuration file (default: e2e.conf)\n  -v, --verbose                   Enable verbose output with detailed information\n\nOutput Options:\n  -o, --output [text|json|html]   Output format (default: text)\n  --report-dir PATH               Directory for HTML reports (default: .e2e/reports)\n\nReport Generation:\n  --report [junit|json]           Generate machine-readable test report\n  --report-output PATH            Directory for reports (default: ./reports)\n\nDebugging:\n  -d, --debug                     Enable debug mode with verbose HTTP request/response logging for failed tests\n\nParallel Execution:\n  -j, --parallel INTEGER          Enable parallel execution with N workers (0=disabled)\n  --parallel-mode [service|test]  Parallel execution mode\n\nTraceability:\n  -T, --trace                     Enable visual traceability and generate sequence diagrams\n  --trace-output PATH             Directory for traceability reports\n  --trace-format [mermaid|plantuml|both]  Format for sequence diagrams\n```\n\n**Examples:**\n```bash\ne2e run                                              # Run all tests\ne2e run --service auth_service                       # Run tests for specific service\ne2e run --service auth_service --module 01_login     # Run specific test module\ne2e run --verbose                                    # Run with detailed output\ne2e run --output html --report-dir ./reports         # Generate HTML report\ne2e run --parallel 4                                 # Run with 4 parallel workers\ne2e run --trace                                      # Enable traceability\ne2e run -c /path/to/e2e.conf                         # Use custom config file\ne2e run --report junit                               # Generate JUnit XML report\ne2e run --report json                                # Generate JSON report\ne2e run --report junit --report-output ./reports     # Custom report directory\ne2e run --debug                                      # Enable debug mode with HTTP logging\n```\n\n### AI-Powered Commands\n\n#### `e2e manifest` - Generate AI Project Manifest\n\nGenerate structured API knowledge from your codebase for AI agents.\n\n```bash\ne2e manifest [DIRECTORY]\n```\n\n#### `e2e search` - Semantic Search\n\nSearch your API endpoints and DTOs using natural language (RAG-ready).\n\n```bash\ne2e search QUERY\n\ne2e search \"authentication endpoints\"\ne2e search \"user DTO\" --type dto\n```\n\n#### `e2e build-index` - Build Vector Index\n\nBuild vector embeddings index for semantic search.\n\n```bash\ne2e build-index\n```\n\n#### `e2e deep-scan` - Auto-Discover Project\n\nZero-config deep scan for automatic project mapping and configuration.\n\n```bash\ne2e deep-scan [DIRECTORY]\n\nOptions:\n  --auto-config    Automatically configure e2e.conf based on scan results\n```\n\n#### `e2e generate-tests` - AI Test Generation\n\nAutonomous test suite generation based on code intent.\n\n```bash\ne2e generate-tests [OPTIONS]\n\nOptions:\n  --service TEXT    Target service for test generation\n  --module TEXT     Specific module to generate tests for\n```\n\n#### `e2e translate` - Natural Language to Test Code\n\nTranslate natural language descriptions to test code.\n\n```bash\ne2e translate \"Create a test that logs in and verifies the token\"\n```\n\n### CI/CD Commands\n\n#### `e2e setup-ci` - Generate CI/CD Templates\n\nGenerate CI/CD pipeline templates for various platforms.\n\n```bash\ne2e setup-ci PLATFORM\n\nPlatforms:\n  github       GitHub Actions\n  gitlab       GitLab CI\n  jenkins      Jenkins\n  azure        Azure DevOps\n  circleci     CircleCI\n  travis       Travis CI\n  bitbucket    Bitbucket Pipelines\n```\n\n**Examples:**\n```bash\ne2e setup-ci github      # Generate GitHub Actions workflow\ne2e setup-ci gitlab      # Generate GitLab CI configuration\ne2e setup-ci jenkins     # Generate Jenkinsfile\n```\n\n### Utility Commands\n\n#### `e2e config` - Show Configuration\n\nShow and validate current configuration.\n\n```bash\ne2e config\n```\n\n#### `e2e doctor` - Verify Installation\n\nVerify installation and check dependencies.\n\n```bash\ne2e doctor\n```\n\n#### `e2e watch` - File Watcher\n\nWatch project files and auto-update manifest on changes.\n\n```bash\ne2e watch [DIRECTORY]\n```\n\n#### `e2e observe` - Service Discovery\n\nAuto-detect running services and ports.\n\n```bash\ne2e observe [DIRECTORY]\n\nOptions:\n  -h, --host TEXT         Hosts to scan\n  -p, --ports TEXT        Port range (e.g., 8000-9000)\n  -t, --timeout FLOAT     Timeout for port scanning in seconds\n  --docker / --no-docker  Scan Docker containers\n  --auto-setup            Auto-setup environment using Docker\n  --dry-run               Show what would be done without executing\n```\n\n### Getting Help\n\nUse `--help` with any command for detailed information:\n\n```bash\ne2e --help\ne2e run --help\ne2e new-service --help\ne2e generate-tests --help\n```\n\n---\n\n## 📚 Documentation\n\nAll guides at **[daironpf.github.io/socialseed-e2e](https://daironpf.github.io/socialseed-e2e/)**\n\n- **[How it Works](https://daironpf.github.io/socialseed-e2e/how-it-works.html)** - Understanding the core concepts (Service, Endpoint, Scenario, Test)\n- [Quick Start](https://daironpf.github.io/socialseed-e2e/quickstart.html)\n- [Writing Tests](https://daironpf.github.io/socialseed-e2e/writing-tests.html)\n- [CI/CD Integration](https://daironpf.github.io/socialseed-e2e/ci-cd.html)\n- [CLI Reference](https://daironpf.github.io/socialseed-e2e/cli-reference.html)\n- [AI Manifest](https://daironpf.github.io/socialseed-e2e/project-manifest.html)\n\n---\n\n## 📜 License\n\nMIT - See [LICENSE](LICENSE)\n\n\u003cp align=\"center\"\u003e\n  \u003csub\u003eBuilt with ❤️ by Dairon Pérez Frías and AI co-authors\u003c/sub\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaironpf%2Fsocialseed-e2e","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdaironpf%2Fsocialseed-e2e","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaironpf%2Fsocialseed-e2e/lists"}