socialseed-e2e 0.1.0__tar.gz → 0.1.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (133) hide show
  1. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/PKG-INFO +64 -27
  2. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/README.md +62 -25
  3. socialseed_e2e-0.1.2/docs/AGENT_GUIDE.md +662 -0
  4. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/pyproject.toml +1 -1
  5. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/setup.cfg +1 -1
  6. socialseed_e2e-0.1.2/src/socialseed_e2e/__init__.py +215 -0
  7. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/src/socialseed_e2e/__version__.py +2 -2
  8. socialseed_e2e-0.1.2/src/socialseed_e2e/cli.py +774 -0
  9. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/src/socialseed_e2e/core/base_page.py +368 -49
  10. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/src/socialseed_e2e/core/config_loader.py +15 -3
  11. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/src/socialseed_e2e/core/headers.py +11 -4
  12. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/src/socialseed_e2e/core/loaders.py +6 -4
  13. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/src/socialseed_e2e/core/test_orchestrator.py +2 -0
  14. socialseed_e2e-0.1.2/src/socialseed_e2e/core/test_runner.py +487 -0
  15. socialseed_e2e-0.1.2/src/socialseed_e2e/templates/agent_docs/AGENT_GUIDE.md.template +412 -0
  16. socialseed_e2e-0.1.2/src/socialseed_e2e/templates/agent_docs/EXAMPLE_TEST.md.template +152 -0
  17. socialseed_e2e-0.1.2/src/socialseed_e2e/templates/agent_docs/FRAMEWORK_CONTEXT.md.template +55 -0
  18. socialseed_e2e-0.1.2/src/socialseed_e2e/templates/agent_docs/WORKFLOW_GENERATION.md.template +182 -0
  19. socialseed_e2e-0.1.2/src/socialseed_e2e/templates/data_schema.py.template +157 -0
  20. socialseed_e2e-0.1.2/src/socialseed_e2e/templates/e2e.conf.template +39 -0
  21. socialseed_e2e-0.1.2/src/socialseed_e2e/templates/service_page.py.template +138 -0
  22. socialseed_e2e-0.1.2/src/socialseed_e2e/templates/test_module.py.template +60 -0
  23. socialseed_e2e-0.1.2/src/socialseed_e2e/templates/verify_installation.py +192 -0
  24. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/src/socialseed_e2e/utils/__init__.py +29 -0
  25. socialseed_e2e-0.1.2/src/socialseed_e2e/utils/ai_generator.py +463 -0
  26. socialseed_e2e-0.1.2/src/socialseed_e2e/utils/pydantic_helpers.py +392 -0
  27. socialseed_e2e-0.1.2/src/socialseed_e2e/utils/state_management.py +312 -0
  28. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/src/socialseed_e2e.egg-info/PKG-INFO +64 -27
  29. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/src/socialseed_e2e.egg-info/SOURCES.txt +13 -1
  30. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/tests/integration/cli/test_doctor.py +1 -1
  31. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/tests/integration/cli/test_new_test.py +3 -1
  32. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/tests/integration/cli/test_run.py +14 -1
  33. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/tests/unit/test_template_engine.py +3 -3
  34. socialseed_e2e-0.1.2/tests/unit/utils/test_ai_generator.py +157 -0
  35. socialseed_e2e-0.1.2/tests/unit/utils/test_pydantic_helpers.py +116 -0
  36. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/tests/validate_installation.py +2 -2
  37. socialseed_e2e-0.1.0/src/socialseed_e2e/__init__.py +0 -51
  38. socialseed_e2e-0.1.0/src/socialseed_e2e/cli.py +0 -611
  39. socialseed_e2e-0.1.0/src/socialseed_e2e/templates/data_schema.py.template +0 -116
  40. socialseed_e2e-0.1.0/src/socialseed_e2e/templates/e2e.conf.template +0 -20
  41. socialseed_e2e-0.1.0/src/socialseed_e2e/templates/service_page.py.template +0 -83
  42. socialseed_e2e-0.1.0/src/socialseed_e2e/templates/test_module.py.template +0 -46
  43. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/CHANGELOG.md +0 -0
  44. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/CODE_OF_CONDUCT.md +0 -0
  45. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/CONTRIBUTING.md +0 -0
  46. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/LICENSE +0 -0
  47. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/MANIFEST.in +0 -0
  48. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/docs/README.md +0 -0
  49. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/docs/api/cli.rst +0 -0
  50. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/docs/api/core.rst +0 -0
  51. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/docs/api/models.rst +0 -0
  52. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/docs/api/utils.rst +0 -0
  53. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/docs/api-reference.md +0 -0
  54. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/docs/changelog.rst +0 -0
  55. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/docs/cli-reference.md +0 -0
  56. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/docs/configuration.md +0 -0
  57. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/docs/github-pages-setup.md +0 -0
  58. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/docs/index.rst +0 -0
  59. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/docs/installation.md +0 -0
  60. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/docs/license.rst +0 -0
  61. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/docs/mock-api.md +0 -0
  62. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/docs/quickstart.md +0 -0
  63. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/docs/testing-guide.md +0 -0
  64. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/docs/writing-tests.md +0 -0
  65. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/examples/01-basic-crud/README.md +0 -0
  66. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/examples/01-basic-crud/api.py +0 -0
  67. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/examples/01-basic-crud/services/items-api/data_schema.py +0 -0
  68. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/examples/01-basic-crud/services/items-api/items_api_page.py +0 -0
  69. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/examples/01-basic-crud/services/items-api/modules/01_create_item.py +0 -0
  70. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/examples/01-basic-crud/services/items-api/modules/02_list_items.py +0 -0
  71. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/examples/01-basic-crud/services/items-api/modules/03_get_item.py +0 -0
  72. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/examples/01-basic-crud/services/items-api/modules/04_update_item.py +0 -0
  73. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/examples/01-basic-crud/services/items-api/modules/05_delete_item.py +0 -0
  74. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/examples/02-auth-jwt/README.md +0 -0
  75. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/examples/02-auth-jwt/api.py +0 -0
  76. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/examples/02-auth-jwt/services/auth-api/auth_api_page.py +0 -0
  77. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/examples/02-auth-jwt/services/auth-api/data_schema.py +0 -0
  78. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/examples/02-auth-jwt/services/auth-api/modules/01_register_flow.py +0 -0
  79. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/examples/02-auth-jwt/services/auth-api/modules/02_login_flow.py +0 -0
  80. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/examples/02-auth-jwt/services/auth-api/modules/03_refresh_token_flow.py +0 -0
  81. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/examples/02-auth-jwt/services/auth-api/modules/04_protected_endpoints.py +0 -0
  82. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/examples/03-microservices/README.md +0 -0
  83. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/examples/03-microservices/orders-service/orders_api.py +0 -0
  84. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/examples/03-microservices/payment-service/payment_api.py +0 -0
  85. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/examples/03-microservices/services/__init__.py +0 -0
  86. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/examples/03-microservices/services/orders-api/__init__.py +0 -0
  87. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/examples/03-microservices/services/orders-api/modules/01_orders_test.py +0 -0
  88. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/examples/03-microservices/services/orders-api/modules/__init__.py +0 -0
  89. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/examples/03-microservices/services/orders-api/orders_api_page.py +0 -0
  90. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/examples/03-microservices/services/payment-api/__init__.py +0 -0
  91. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/examples/03-microservices/services/payment-api/modules/01_payment_test.py +0 -0
  92. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/examples/03-microservices/services/payment-api/modules/__init__.py +0 -0
  93. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/examples/03-microservices/services/payment-api/payment_api_page.py +0 -0
  94. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/examples/03-microservices/services/users-api/__init__.py +0 -0
  95. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/examples/03-microservices/services/users-api/modules/01_users_test.py +0 -0
  96. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/examples/03-microservices/services/users-api/modules/__init__.py +0 -0
  97. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/examples/03-microservices/services/users-api/users_api_page.py +0 -0
  98. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/examples/03-microservices/users-service/users_api.py +0 -0
  99. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/setup.py +0 -0
  100. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/src/socialseed_e2e/core/__init__.py +0 -0
  101. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/src/socialseed_e2e/core/check_deps.py +0 -0
  102. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/src/socialseed_e2e/core/config.py +0 -0
  103. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/src/socialseed_e2e/core/interfaces.py +0 -0
  104. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/src/socialseed_e2e/core/models.py +0 -0
  105. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/src/socialseed_e2e/services/__init__.py +0 -0
  106. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/src/socialseed_e2e/templates/__init__.py +0 -0
  107. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/src/socialseed_e2e/templates/config.py.template +0 -0
  108. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/src/socialseed_e2e/utils/template_engine.py +0 -0
  109. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/src/socialseed_e2e/utils/validators.py +0 -0
  110. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/src/socialseed_e2e.egg-info/dependency_links.txt +0 -0
  111. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/src/socialseed_e2e.egg-info/entry_points.txt +0 -0
  112. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/src/socialseed_e2e.egg-info/requires.txt +0 -0
  113. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/src/socialseed_e2e.egg-info/top_level.txt +0 -0
  114. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/tests/__init__.py +0 -0
  115. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/tests/conftest.py +0 -0
  116. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/tests/fixtures/__init__.py +0 -0
  117. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/tests/fixtures/mock_api.py +0 -0
  118. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/tests/integration/__init__.py +0 -0
  119. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/tests/integration/cli/__init__.py +0 -0
  120. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/tests/integration/cli/conftest.py +0 -0
  121. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/tests/integration/cli/test_config.py +0 -0
  122. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/tests/integration/cli/test_error_handling.py +0 -0
  123. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/tests/integration/cli/test_init.py +0 -0
  124. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/tests/integration/cli/test_new_service.py +0 -0
  125. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/tests/integration/cli/test_workflows.py +0 -0
  126. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/tests/integration/test_mock_api_integration.py +0 -0
  127. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/tests/unit/__init__.py +0 -0
  128. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/tests/unit/test_base_page.py +0 -0
  129. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/tests/unit/test_config_loader.py +0 -0
  130. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/tests/unit/test_imports_compatibility.py +0 -0
  131. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/tests/unit/test_loaders.py +0 -0
  132. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/tests/unit/test_orchestrator.py +0 -0
  133. {socialseed_e2e-0.1.0 → socialseed_e2e-0.1.2}/tests/unit/test_validators.py +0 -0
@@ -1,8 +1,8 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: socialseed-e2e
3
- Version: 0.1.0
3
+ Version: 0.1.2
4
4
  Summary: Framework E2E para testing de APIs REST con Playwright
5
- Author: Dairon Pérez
5
+ Author: Dairon Pérez Frías
6
6
  Author-email: Dairon Pérez Frías <dairon.perezfrias@gmail.com>
7
7
  License: MIT
8
8
  Project-URL: Homepage, https://github.com/daironpf/socialseed-e2e
@@ -54,12 +54,13 @@ Dynamic: license-file
54
54
 
55
55
  [![PyPI](https://img.shields.io/pypi/v/socialseed-e2e)](https://pypi.org/project/socialseed-e2e/)
56
56
  [![Python](https://img.shields.io/pypi/pyversions/socialseed-e2e)](https://pypi.org/project/socialseed-e2e/)
57
- [![CI](https://github.com/daironpf/socialseed-e2e/workflows/CI/badge.svg)](https://github.com/daironpf/socialseed-e2e/actions)
58
57
  [![Docs](https://img.shields.io/badge/docs-GitHub%20Pages-blue)](https://daironpf.github.io/socialseed-e2e/)
59
58
  [![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
60
59
  [![Downloads](https://img.shields.io/pypi/dm/socialseed-e2e)](https://pypi.org/project/socialseed-e2e/)
61
60
 
62
61
  > **The ultimate E2E testing framework for REST APIs - Built for developers and AI agents**
62
+ >
63
+ > ⚡️ **NEW v2.0**: AI-First design with automatic error prevention, camelCase serialization support, and zero-config setup for Java backends
63
64
 
64
65
  **One-liner:** Test your REST APIs with 10x less code using intelligent scaffolding, automatic test discovery, and stateful test chaining. Perfect for both manual testing and AI-generated test suites.
65
66
 
@@ -74,12 +75,68 @@ Dynamic: license-file
74
75
  ### Key Differentiators
75
76
 
76
77
  - **🤖 AI-Native Architecture**: Structured protocols (`IServicePage`, `ITestModule`) designed for automated test generation
78
+ - **🧠 .agent Awareness**: Automatically generates AI documentation (`.agent/`) for self-guided test generation by LLMs
77
79
  - **⚡ 10x Less Code**: Stateful test chaining and automatic discovery eliminate boilerplate
78
80
  - **🧪 Built-in Mocking**: Flask-based mock API for testing without external dependencies
79
81
  - **🔧 Zero Configuration**: Sensible defaults with YAML/JSON override support
80
82
 
81
83
  ---
82
84
 
85
+ ## 🚀 Quick Start
86
+
87
+ ```bash
88
+ # Install
89
+ pip install socialseed-e2e
90
+ playwright install chromium
91
+
92
+ # Initialize project
93
+ e2e init my-api-tests
94
+ cd my-api-tests
95
+
96
+ # Create service and test
97
+ e2e new-service users-api
98
+ e2e new-test login --service users-api
99
+
100
+ # Run tests
101
+ e2e run
102
+ ```
103
+
104
+ 📚 **[Complete Quick Start Guide →](https://daironpf.github.io/socialseed-e2e/quickstart.html)**
105
+
106
+ ---
107
+
108
+ ## 🤖 Workflow with AI Agents
109
+
110
+ socialseed-e2e is designed to be the first **AI-Native Testing Framework**. When you initialize a project with `e2e init`, a `.agent/` folder is created with specific instructions for LLMs (Claude, GPT-4, etc.).
111
+
112
+ ### How to use it:
113
+
114
+ 1. **Initialize**: Run `e2e init` in your project root.
115
+ 2. **Prompt your Agent**:
116
+ > "Read the documentation in the `.agent/` folder to understand the testing framework. Then, scan my API controllers in `../src/controllers/` and generate the corresponding E2E tests following the framework patterns."
117
+ 3. **Execute**: Run `e2e run` to verify the generated tests.
118
+
119
+ The `.agent` folder contains:
120
+ - **`AGENT_GUIDE.md`**: ⭐ **START HERE** - Complete guide with error prevention patterns, camelCase serialization, and common pitfalls to avoid
121
+ - `FRAMEWORK_CONTEXT.md`: Architecture and core concepts.
122
+ - `WORKFLOW_GENERATION.md`: Step-by-step guide for generating tests.
123
+ - `EXAMPLE_TEST.md`: Gold standard code examples.
124
+
125
+ ### 🛡️ AI-First Error Prevention (v2.0)
126
+
127
+ The framework now includes automatic safeguards for AI-generated code:
128
+
129
+ - ✅ **Absolute imports only** - No more `ImportError` from relative imports
130
+ - ✅ **CamelCase serialization** - Automatic Pydantic aliases for Java backends
131
+ - ✅ **Dependency management** - `requirements.txt` includes email-validator
132
+ - ✅ **Method naming** - `do_*` prefix prevents attribute/method conflicts
133
+ - ✅ **Header handling** - Manual authentication management (no missing methods)
134
+ - ✅ **Verification script** - Run `python verify_installation.py` to check setup
135
+
136
+ **Result:** AI agents can generate working E2E tests with minimal or no human intervention.
137
+
138
+ ---
139
+
83
140
  ## 🏗️ Architecture
84
141
 
85
142
  ### Hexagonal Design
@@ -143,29 +200,6 @@ graph TD;
143
200
 
144
201
  ---
145
202
 
146
- ## 🚀 Quick Start
147
-
148
- ```bash
149
- # Install
150
- pip install socialseed-e2e
151
- playwright install chromium
152
-
153
- # Initialize project
154
- e2e init my-api-tests
155
- cd my-api-tests
156
-
157
- # Create service and test
158
- e2e new-service users-api
159
- e2e new-test login --service users-api
160
-
161
- # Run tests
162
- e2e run
163
- ```
164
-
165
- 📚 **[Complete Quick Start Guide →](https://daironpf.github.io/socialseed-e2e/quickstart.html)**
166
-
167
- ---
168
-
169
203
  ## 📦 Installation
170
204
 
171
205
  ```bash
@@ -215,6 +249,7 @@ pytest --cov=socialseed_e2e --cov-report=html
215
249
  - ✅ **Mock API**: Flask-based server for integration testing
216
250
  - ✅ **CI/CD**: GitHub Actions configured (CI, Release, Docs)
217
251
  - ✅ **Documentation**: Complete guides hosted on GitHub Pages
252
+ - ✅ **AI-Ready**: Perfect for automated test generation workflows
218
253
 
219
254
  ### In Progress
220
255
  - 🚧 HTML reports with detailed metrics
@@ -261,9 +296,11 @@ This project recognizes AI agents as legitimate co-authors:
261
296
  - **Claude (Anthropic)** - Documentation, feature suggestions, bug fixes
262
297
 
263
298
  See [AI_CONTRIBUTORS.md](AI_CONTRIBUTORS.md) for full details and contribution philosophy.
264
-
299
+ this list need updates
265
300
  ---
266
301
 
302
+
303
+
267
304
  ## 📚 Documentation
268
305
 
269
306
  All documentation is hosted on **GitHub Pages** and automatically deployed on every push to main:
@@ -2,12 +2,13 @@
2
2
 
3
3
  [![PyPI](https://img.shields.io/pypi/v/socialseed-e2e)](https://pypi.org/project/socialseed-e2e/)
4
4
  [![Python](https://img.shields.io/pypi/pyversions/socialseed-e2e)](https://pypi.org/project/socialseed-e2e/)
5
- [![CI](https://github.com/daironpf/socialseed-e2e/workflows/CI/badge.svg)](https://github.com/daironpf/socialseed-e2e/actions)
6
5
  [![Docs](https://img.shields.io/badge/docs-GitHub%20Pages-blue)](https://daironpf.github.io/socialseed-e2e/)
7
6
  [![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
8
7
  [![Downloads](https://img.shields.io/pypi/dm/socialseed-e2e)](https://pypi.org/project/socialseed-e2e/)
9
8
 
10
9
  > **The ultimate E2E testing framework for REST APIs - Built for developers and AI agents**
10
+ >
11
+ > ⚡️ **NEW v2.0**: AI-First design with automatic error prevention, camelCase serialization support, and zero-config setup for Java backends
11
12
 
12
13
  **One-liner:** Test your REST APIs with 10x less code using intelligent scaffolding, automatic test discovery, and stateful test chaining. Perfect for both manual testing and AI-generated test suites.
13
14
 
@@ -22,12 +23,68 @@
22
23
  ### Key Differentiators
23
24
 
24
25
  - **🤖 AI-Native Architecture**: Structured protocols (`IServicePage`, `ITestModule`) designed for automated test generation
26
+ - **🧠 .agent Awareness**: Automatically generates AI documentation (`.agent/`) for self-guided test generation by LLMs
25
27
  - **⚡ 10x Less Code**: Stateful test chaining and automatic discovery eliminate boilerplate
26
28
  - **🧪 Built-in Mocking**: Flask-based mock API for testing without external dependencies
27
29
  - **🔧 Zero Configuration**: Sensible defaults with YAML/JSON override support
28
30
 
29
31
  ---
30
32
 
33
+ ## 🚀 Quick Start
34
+
35
+ ```bash
36
+ # Install
37
+ pip install socialseed-e2e
38
+ playwright install chromium
39
+
40
+ # Initialize project
41
+ e2e init my-api-tests
42
+ cd my-api-tests
43
+
44
+ # Create service and test
45
+ e2e new-service users-api
46
+ e2e new-test login --service users-api
47
+
48
+ # Run tests
49
+ e2e run
50
+ ```
51
+
52
+ 📚 **[Complete Quick Start Guide →](https://daironpf.github.io/socialseed-e2e/quickstart.html)**
53
+
54
+ ---
55
+
56
+ ## 🤖 Workflow with AI Agents
57
+
58
+ socialseed-e2e is designed to be the first **AI-Native Testing Framework**. When you initialize a project with `e2e init`, a `.agent/` folder is created with specific instructions for LLMs (Claude, GPT-4, etc.).
59
+
60
+ ### How to use it:
61
+
62
+ 1. **Initialize**: Run `e2e init` in your project root.
63
+ 2. **Prompt your Agent**:
64
+ > "Read the documentation in the `.agent/` folder to understand the testing framework. Then, scan my API controllers in `../src/controllers/` and generate the corresponding E2E tests following the framework patterns."
65
+ 3. **Execute**: Run `e2e run` to verify the generated tests.
66
+
67
+ The `.agent` folder contains:
68
+ - **`AGENT_GUIDE.md`**: ⭐ **START HERE** - Complete guide with error prevention patterns, camelCase serialization, and common pitfalls to avoid
69
+ - `FRAMEWORK_CONTEXT.md`: Architecture and core concepts.
70
+ - `WORKFLOW_GENERATION.md`: Step-by-step guide for generating tests.
71
+ - `EXAMPLE_TEST.md`: Gold standard code examples.
72
+
73
+ ### 🛡️ AI-First Error Prevention (v2.0)
74
+
75
+ The framework now includes automatic safeguards for AI-generated code:
76
+
77
+ - ✅ **Absolute imports only** - No more `ImportError` from relative imports
78
+ - ✅ **CamelCase serialization** - Automatic Pydantic aliases for Java backends
79
+ - ✅ **Dependency management** - `requirements.txt` includes email-validator
80
+ - ✅ **Method naming** - `do_*` prefix prevents attribute/method conflicts
81
+ - ✅ **Header handling** - Manual authentication management (no missing methods)
82
+ - ✅ **Verification script** - Run `python verify_installation.py` to check setup
83
+
84
+ **Result:** AI agents can generate working E2E tests with minimal or no human intervention.
85
+
86
+ ---
87
+
31
88
  ## 🏗️ Architecture
32
89
 
33
90
  ### Hexagonal Design
@@ -91,29 +148,6 @@ graph TD;
91
148
 
92
149
  ---
93
150
 
94
- ## 🚀 Quick Start
95
-
96
- ```bash
97
- # Install
98
- pip install socialseed-e2e
99
- playwright install chromium
100
-
101
- # Initialize project
102
- e2e init my-api-tests
103
- cd my-api-tests
104
-
105
- # Create service and test
106
- e2e new-service users-api
107
- e2e new-test login --service users-api
108
-
109
- # Run tests
110
- e2e run
111
- ```
112
-
113
- 📚 **[Complete Quick Start Guide →](https://daironpf.github.io/socialseed-e2e/quickstart.html)**
114
-
115
- ---
116
-
117
151
  ## 📦 Installation
118
152
 
119
153
  ```bash
@@ -163,6 +197,7 @@ pytest --cov=socialseed_e2e --cov-report=html
163
197
  - ✅ **Mock API**: Flask-based server for integration testing
164
198
  - ✅ **CI/CD**: GitHub Actions configured (CI, Release, Docs)
165
199
  - ✅ **Documentation**: Complete guides hosted on GitHub Pages
200
+ - ✅ **AI-Ready**: Perfect for automated test generation workflows
166
201
 
167
202
  ### In Progress
168
203
  - 🚧 HTML reports with detailed metrics
@@ -209,9 +244,11 @@ This project recognizes AI agents as legitimate co-authors:
209
244
  - **Claude (Anthropic)** - Documentation, feature suggestions, bug fixes
210
245
 
211
246
  See [AI_CONTRIBUTORS.md](AI_CONTRIBUTORS.md) for full details and contribution philosophy.
212
-
247
+ this list need updates
213
248
  ---
214
249
 
250
+
251
+
215
252
  ## 📚 Documentation
216
253
 
217
254
  All documentation is hosted on **GitHub Pages** and automatically deployed on every push to main: