pytest-agents 0.8.3__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 (159) hide show
  1. pytest_agents-0.8.3/.claude/settings.local.json +59 -0
  2. pytest_agents-0.8.3/.dockerignore +86 -0
  3. pytest_agents-0.8.3/.github/ISSUE_TEMPLATE/bug_report.md +53 -0
  4. pytest_agents-0.8.3/.github/ISSUE_TEMPLATE/feature_request.md +53 -0
  5. pytest_agents-0.8.3/.github/dependabot.yml +84 -0
  6. pytest_agents-0.8.3/.github/pull_request_template.md +64 -0
  7. pytest_agents-0.8.3/.github/workflows/ci.yml +166 -0
  8. pytest_agents-0.8.3/.github/workflows/codeql.yml +65 -0
  9. pytest_agents-0.8.3/.github/workflows/codeql.yml.old +65 -0
  10. pytest_agents-0.8.3/.github/workflows/performance.yml +229 -0
  11. pytest_agents-0.8.3/.github/workflows/release.yml +291 -0
  12. pytest_agents-0.8.3/.github/workflows/snyk.yml +120 -0
  13. pytest_agents-0.8.3/.gitignore +76 -0
  14. pytest_agents-0.8.3/.python-version +1 -0
  15. pytest_agents-0.8.3/AGENTS.md +47 -0
  16. pytest_agents-0.8.3/CLAUDE.md +1 -0
  17. pytest_agents-0.8.3/Dockerfile +69 -0
  18. pytest_agents-0.8.3/Makefile +109 -0
  19. pytest_agents-0.8.3/PKG-INFO +269 -0
  20. pytest_agents-0.8.3/README.md +243 -0
  21. pytest_agents-0.8.3/SECURITY.md +172 -0
  22. pytest_agents-0.8.3/docker-compose.yml +78 -0
  23. pytest_agents-0.8.3/docs/BENCHMARKS.md +172 -0
  24. pytest_agents-0.8.3/docs/DOCKER.md +281 -0
  25. pytest_agents-0.8.3/docs/METRICS.md +318 -0
  26. pytest_agents-0.8.3/docs/PYPI_SETUP.md +375 -0
  27. pytest_agents-0.8.3/docs/RELEASE.md +459 -0
  28. pytest_agents-0.8.3/docs/SECURITY_SETUP.md +364 -0
  29. pytest_agents-0.8.3/docs/SECURITY_VERIFICATION.md +263 -0
  30. pytest_agents-0.8.3/docs/api/python-api.md +611 -0
  31. pytest_agents-0.8.3/docs/api/typescript-api.md +851 -0
  32. pytest_agents-0.8.3/docs/developer-guide/README.md +366 -0
  33. pytest_agents-0.8.3/docs/developer-guide/architecture.md +430 -0
  34. pytest_agents-0.8.3/index/.eslintrc.json +22 -0
  35. pytest_agents-0.8.3/index/.prettierrc +8 -0
  36. pytest_agents-0.8.3/index/__tests__/agent.test.ts +238 -0
  37. pytest_agents-0.8.3/index/__tests__/integration.test.ts +268 -0
  38. pytest_agents-0.8.3/index/__tests__/metrics.test.ts +138 -0
  39. pytest_agents-0.8.3/index/__tests__/search.test.ts +204 -0
  40. pytest_agents-0.8.3/index/eslint.config.js +28 -0
  41. pytest_agents-0.8.3/index/package-lock.json +5822 -0
  42. pytest_agents-0.8.3/index/package.json +60 -0
  43. pytest_agents-0.8.3/index/src/agent.ts +325 -0
  44. pytest_agents-0.8.3/index/src/capabilities/code-indexer.ts +149 -0
  45. pytest_agents-0.8.3/index/src/capabilities/symbol-mapper.ts +86 -0
  46. pytest_agents-0.8.3/index/src/di/container.ts +82 -0
  47. pytest_agents-0.8.3/index/src/di/tokens.ts +21 -0
  48. pytest_agents-0.8.3/index/src/index.ts +57 -0
  49. pytest_agents-0.8.3/index/src/infrastructure/console-logger.ts +25 -0
  50. pytest_agents-0.8.3/index/src/infrastructure/fs-file-reader.ts +32 -0
  51. pytest_agents-0.8.3/index/src/infrastructure/fs-file-writer.ts +18 -0
  52. pytest_agents-0.8.3/index/src/infrastructure/path-resolver.ts +30 -0
  53. pytest_agents-0.8.3/index/src/infrastructure/prometheus-metrics.ts +124 -0
  54. pytest_agents-0.8.3/index/src/interfaces/capabilities.ts +31 -0
  55. pytest_agents-0.8.3/index/src/interfaces/core.ts +70 -0
  56. pytest_agents-0.8.3/index/src/memory/index-storage.ts +93 -0
  57. pytest_agents-0.8.3/index/src/tools/ast-parser.ts +106 -0
  58. pytest_agents-0.8.3/index/src/tools/search-builder.ts +133 -0
  59. pytest_agents-0.8.3/index/src/types.ts +81 -0
  60. pytest_agents-0.8.3/index/src/utils/logger.ts +48 -0
  61. pytest_agents-0.8.3/index/tsconfig.json +26 -0
  62. pytest_agents-0.8.3/pm/.eslintrc.json +22 -0
  63. pytest_agents-0.8.3/pm/.prettierrc +8 -0
  64. pytest_agents-0.8.3/pm/__tests__/agent.test.ts +98 -0
  65. pytest_agents-0.8.3/pm/__tests__/integration.test.ts +113 -0
  66. pytest_agents-0.8.3/pm/__tests__/metrics.test.ts +77 -0
  67. pytest_agents-0.8.3/pm/__tests__/task-tracking.test.ts +225 -0
  68. pytest_agents-0.8.3/pm/eslint.config.js +28 -0
  69. pytest_agents-0.8.3/pm/package-lock.json +5822 -0
  70. pytest_agents-0.8.3/pm/package.json +59 -0
  71. pytest_agents-0.8.3/pm/src/agent.ts +244 -0
  72. pytest_agents-0.8.3/pm/src/capabilities/dependency-analysis.ts +158 -0
  73. pytest_agents-0.8.3/pm/src/capabilities/milestone-planning.ts +107 -0
  74. pytest_agents-0.8.3/pm/src/capabilities/task-tracking.ts +68 -0
  75. pytest_agents-0.8.3/pm/src/di/container.ts +62 -0
  76. pytest_agents-0.8.3/pm/src/di/tokens.ts +19 -0
  77. pytest_agents-0.8.3/pm/src/index.ts +59 -0
  78. pytest_agents-0.8.3/pm/src/infrastructure/console-logger.ts +25 -0
  79. pytest_agents-0.8.3/pm/src/infrastructure/fs-file-reader.ts +32 -0
  80. pytest_agents-0.8.3/pm/src/infrastructure/fs-file-writer.ts +18 -0
  81. pytest_agents-0.8.3/pm/src/infrastructure/path-resolver.ts +30 -0
  82. pytest_agents-0.8.3/pm/src/infrastructure/prometheus-metrics.ts +120 -0
  83. pytest_agents-0.8.3/pm/src/interfaces/capabilities.ts +63 -0
  84. pytest_agents-0.8.3/pm/src/interfaces/core.ts +89 -0
  85. pytest_agents-0.8.3/pm/src/memory/project-state.ts +82 -0
  86. pytest_agents-0.8.3/pm/src/tools/task-parser.ts +94 -0
  87. pytest_agents-0.8.3/pm/src/types.ts +52 -0
  88. pytest_agents-0.8.3/pm/src/utils/logger.ts +48 -0
  89. pytest_agents-0.8.3/pm/tsconfig.json +26 -0
  90. pytest_agents-0.8.3/pyproject.toml +99 -0
  91. pytest_agents-0.8.3/research/.eslintrc.json +22 -0
  92. pytest_agents-0.8.3/research/.prettierrc +8 -0
  93. pytest_agents-0.8.3/research/__tests__/agent.test.ts +115 -0
  94. pytest_agents-0.8.3/research/__tests__/integration.test.ts +86 -0
  95. pytest_agents-0.8.3/research/__tests__/metrics.test.ts +154 -0
  96. pytest_agents-0.8.3/research/__tests__/summarizer.test.ts +63 -0
  97. pytest_agents-0.8.3/research/eslint.config.js +28 -0
  98. pytest_agents-0.8.3/research/package-lock.json +5195 -0
  99. pytest_agents-0.8.3/research/package.json +59 -0
  100. pytest_agents-0.8.3/research/src/agent.ts +309 -0
  101. pytest_agents-0.8.3/research/src/capabilities/citation-tracker.ts +141 -0
  102. pytest_agents-0.8.3/research/src/capabilities/document-analysis.ts +94 -0
  103. pytest_agents-0.8.3/research/src/di/container.ts +50 -0
  104. pytest_agents-0.8.3/research/src/di/tokens.ts +19 -0
  105. pytest_agents-0.8.3/research/src/index.ts +59 -0
  106. pytest_agents-0.8.3/research/src/infrastructure/console-logger.ts +25 -0
  107. pytest_agents-0.8.3/research/src/infrastructure/fs-file-reader.ts +32 -0
  108. pytest_agents-0.8.3/research/src/infrastructure/fs-file-writer.ts +18 -0
  109. pytest_agents-0.8.3/research/src/infrastructure/path-resolver.ts +30 -0
  110. pytest_agents-0.8.3/research/src/infrastructure/prometheus-metrics.ts +124 -0
  111. pytest_agents-0.8.3/research/src/interfaces/capabilities.ts +41 -0
  112. pytest_agents-0.8.3/research/src/interfaces/core.ts +70 -0
  113. pytest_agents-0.8.3/research/src/memory/knowledge-graph.ts +144 -0
  114. pytest_agents-0.8.3/research/src/memory/research-cache.ts +58 -0
  115. pytest_agents-0.8.3/research/src/tools/source-evaluator.ts +66 -0
  116. pytest_agents-0.8.3/research/src/tools/summarizer.ts +118 -0
  117. pytest_agents-0.8.3/research/src/types.ts +63 -0
  118. pytest_agents-0.8.3/research/src/utils/logger.ts +48 -0
  119. pytest_agents-0.8.3/research/tsconfig.json +26 -0
  120. pytest_agents-0.8.3/scripts/verify-security.sh +105 -0
  121. pytest_agents-0.8.3/src/pytest_agents/__init__.py +7 -0
  122. pytest_agents-0.8.3/src/pytest_agents/agent_bridge.py +309 -0
  123. pytest_agents-0.8.3/src/pytest_agents/cli.py +235 -0
  124. pytest_agents-0.8.3/src/pytest_agents/config.py +147 -0
  125. pytest_agents-0.8.3/src/pytest_agents/di/__init__.py +1 -0
  126. pytest_agents-0.8.3/src/pytest_agents/di/container.py +36 -0
  127. pytest_agents-0.8.3/src/pytest_agents/fixtures.py +173 -0
  128. pytest_agents-0.8.3/src/pytest_agents/hooks.py +138 -0
  129. pytest_agents-0.8.3/src/pytest_agents/infrastructure/__init__.py +1 -0
  130. pytest_agents-0.8.3/src/pytest_agents/infrastructure/env_config_factory.py +14 -0
  131. pytest_agents-0.8.3/src/pytest_agents/infrastructure/prometheus_metrics.py +160 -0
  132. pytest_agents-0.8.3/src/pytest_agents/infrastructure/subprocess_runner.py +24 -0
  133. pytest_agents-0.8.3/src/pytest_agents/interfaces/__init__.py +15 -0
  134. pytest_agents-0.8.3/src/pytest_agents/interfaces/core.py +136 -0
  135. pytest_agents-0.8.3/src/pytest_agents/markers.py +62 -0
  136. pytest_agents-0.8.3/src/pytest_agents/metrics_server.py +158 -0
  137. pytest_agents-0.8.3/src/pytest_agents/plugin.py +62 -0
  138. pytest_agents-0.8.3/src/pytest_agents/py.typed +0 -0
  139. pytest_agents-0.8.3/src/pytest_agents/utils/__init__.py +6 -0
  140. pytest_agents-0.8.3/src/pytest_agents/utils/logging.py +51 -0
  141. pytest_agents-0.8.3/src/pytest_agents/utils/validation.py +46 -0
  142. pytest_agents-0.8.3/tests/__init__.py +1 -0
  143. pytest_agents-0.8.3/tests/conftest.py +55 -0
  144. pytest_agents-0.8.3/tests/integration/__init__.py +1 -0
  145. pytest_agents-0.8.3/tests/integration/test_pytest_plugin.py +49 -0
  146. pytest_agents-0.8.3/tests/performance/test_agent_performance.py +122 -0
  147. pytest_agents-0.8.3/tests/unit/__init__.py +1 -0
  148. pytest_agents-0.8.3/tests/unit/test_agent_bridge.py +248 -0
  149. pytest_agents-0.8.3/tests/unit/test_agent_bridge_metrics.py +176 -0
  150. pytest_agents-0.8.3/tests/unit/test_agent_coordinator.py +195 -0
  151. pytest_agents-0.8.3/tests/unit/test_cli.py +315 -0
  152. pytest_agents-0.8.3/tests/unit/test_config.py +237 -0
  153. pytest_agents-0.8.3/tests/unit/test_hooks.py +218 -0
  154. pytest_agents-0.8.3/tests/unit/test_markers.py +153 -0
  155. pytest_agents-0.8.3/tests/unit/test_metrics.py +159 -0
  156. pytest_agents-0.8.3/tests/unit/test_metrics_server.py +134 -0
  157. pytest_agents-0.8.3/tests/unit/test_plugin.py +31 -0
  158. pytest_agents-0.8.3/tests/unit/test_validation.py +154 -0
  159. pytest_agents-0.8.3/uv.lock +459 -0
@@ -0,0 +1,59 @@
1
+ {
2
+ "permissions": {
3
+ "allow": [
4
+ "Bash(npm test)",
5
+ "Bash(npm run build:*)",
6
+ "Bash(uv run:*)",
7
+ "Bash(make verify:*)",
8
+ "Bash(npm install)",
9
+ "Bash(make test:*)",
10
+ "Bash(docker build:*)",
11
+ "Bash(docker --version:*)",
12
+ "Bash(git add:*)",
13
+ "Bash(git commit:*)",
14
+ "Bash(git push:*)",
15
+ "Bash(gh --version:*)",
16
+ "Bash(gh repo edit:*)",
17
+ "Bash(gh repo view:*)",
18
+ "Bash(git pull:*)",
19
+ "Bash(gh run list:*)",
20
+ "Bash(gh run view:*)",
21
+ "Bash(gh run watch:*)",
22
+ "Bash(gh release list:*)",
23
+ "Bash(gh release view:*)",
24
+ "Bash(uv pip install:*)",
25
+ "Bash(pytest:*)",
26
+ "Bash(git stash:*)",
27
+ "Bash(git stash pop:*)",
28
+ "Bash(ruff format:*)",
29
+ "Bash(xargs:*)",
30
+ "Bash(./scripts/verify-security.sh:*)",
31
+ "Bash(gh pr list:*)",
32
+ "Bash(gh pr view:*)",
33
+ "Bash(gh pr comment:*)",
34
+ "Bash(for pr in 1 2 3 4)",
35
+ "Bash(do echo \"PR #$pr:\")",
36
+ "Bash(done)",
37
+ "Bash(gh pr checks:*)",
38
+ "Bash(gh pr merge:*)",
39
+ "Bash(for pr in 5 6 8 10 11)",
40
+ "Bash(do echo \"Checking PR #$pr\")",
41
+ "Bash(gh pr close:*)",
42
+ "Bash(git checkout:*)",
43
+ "Bash(npm run lint)",
44
+ "Bash(gh pr create:*)",
45
+ "Bash(make lint:*)",
46
+ "Bash(find:*)",
47
+ "Bash(npm install:*)",
48
+ "Bash(python:*)",
49
+ "Bash(ls:*)",
50
+ "Bash(make test-ts:*)",
51
+ "Bash(make test-python:*)",
52
+ "Bash(npm test:*)",
53
+ "Bash(git clean:*)",
54
+ "Bash(uv lock:*)",
55
+ "Bash(ruff check:*)",
56
+ "Bash(grep:*)"
57
+ ]
58
+ }
59
+ }
@@ -0,0 +1,86 @@
1
+ # Python
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+ *.so
6
+ .Python
7
+ build/
8
+ develop-eggs/
9
+ dist/
10
+ downloads/
11
+ eggs/
12
+ .eggs/
13
+ lib/
14
+ lib64/
15
+ parts/
16
+ sdist/
17
+ var/
18
+ wheels/
19
+ *.egg-info/
20
+ .installed.cfg
21
+ *.egg
22
+
23
+ # Virtual environments
24
+ venv/
25
+ ENV/
26
+ env/
27
+ .venv
28
+
29
+ # Testing
30
+ .pytest_cache/
31
+ .coverage
32
+ htmlcov/
33
+ .tox/
34
+ .hypothesis/
35
+
36
+ # Type checking
37
+ .mypy_cache/
38
+ .dmypy.json
39
+ dmypy.json
40
+
41
+ # IDEs
42
+ .vscode/
43
+ .idea/
44
+ *.swp
45
+ *.swo
46
+ *~
47
+ .DS_Store
48
+
49
+ # Git
50
+ .git/
51
+ .gitignore
52
+
53
+ # Docker
54
+ Dockerfile
55
+ docker-compose.yml
56
+ .dockerignore
57
+
58
+ # Documentation
59
+ *.md
60
+ !README.md
61
+
62
+ # CI/CD
63
+ .github/
64
+ .gitlab-ci.yml
65
+
66
+ # Logs
67
+ *.log
68
+
69
+ # Environment
70
+ .env
71
+ .env.local
72
+
73
+ # Agent memory/state (will be mounted as volume)
74
+ .agent-memory/
75
+
76
+ # Coverage
77
+ coverage/
78
+ .nyc_output/
79
+
80
+ # Node (source files only, will rebuild in container)
81
+ node_modules/
82
+
83
+ # Build artifacts (will be rebuilt)
84
+ pm/dist/
85
+ research/dist/
86
+ index/dist/
@@ -0,0 +1,53 @@
1
+ ---
2
+ name: Bug Report
3
+ about: Create a report to help us improve
4
+ title: '[BUG] '
5
+ labels: bug
6
+ assignees: ''
7
+ ---
8
+
9
+ ## Bug Description
10
+
11
+ <!-- A clear and concise description of the bug -->
12
+
13
+ ## To Reproduce
14
+
15
+ Steps to reproduce the behavior:
16
+ 1.
17
+ 2.
18
+ 3.
19
+ 4.
20
+
21
+ ## Expected Behavior
22
+
23
+ <!-- What you expected to happen -->
24
+
25
+ ## Actual Behavior
26
+
27
+ <!-- What actually happened -->
28
+
29
+ ## Environment
30
+
31
+ - OS: <!-- e.g., Ubuntu 22.04, macOS 14.0, Windows 11 -->
32
+ - Python Version: <!-- e.g., 3.11.5 -->
33
+ - Node.js Version: <!-- e.g., 20.10.0 -->
34
+ - pytest-agents Version: <!-- e.g., 0.1.0 -->
35
+ - Installation Method: <!-- e.g., pip, Docker -->
36
+
37
+ ## Additional Context
38
+
39
+ <!-- Add any other context about the problem -->
40
+
41
+ ## Logs/Error Messages
42
+
43
+ ```
44
+ <!-- Paste relevant logs or error messages here -->
45
+ ```
46
+
47
+ ## Screenshots
48
+
49
+ <!-- If applicable, add screenshots to help explain the problem -->
50
+
51
+ ## Possible Solution
52
+
53
+ <!-- Optional: Suggest a fix or reason for the bug -->
@@ -0,0 +1,53 @@
1
+ ---
2
+ name: Feature Request
3
+ about: Suggest an idea for this project
4
+ title: '[FEATURE] '
5
+ labels: enhancement
6
+ assignees: ''
7
+ ---
8
+
9
+ ## Feature Description
10
+
11
+ <!-- A clear and concise description of the feature you'd like -->
12
+
13
+ ## Problem Statement
14
+
15
+ <!-- Describe the problem this feature would solve -->
16
+ <!-- Example: I'm frustrated when... -->
17
+
18
+ ## Proposed Solution
19
+
20
+ <!-- Describe the solution you'd like -->
21
+
22
+ ## Alternatives Considered
23
+
24
+ <!-- Describe alternative solutions or features you've considered -->
25
+
26
+ ## Use Case
27
+
28
+ <!-- Describe how this feature would be used -->
29
+ <!-- Example: As a developer, I want to... so that... -->
30
+
31
+ ## Benefits
32
+
33
+ <!-- What are the benefits of implementing this feature? -->
34
+
35
+ -
36
+ -
37
+ -
38
+
39
+ ## Implementation Ideas
40
+
41
+ <!-- Optional: Technical suggestions for implementation -->
42
+
43
+ ## Additional Context
44
+
45
+ <!-- Add any other context, mockups, or examples -->
46
+
47
+ ## Acceptance Criteria
48
+
49
+ <!-- Optional: How would we know this feature is complete? -->
50
+
51
+ - [ ]
52
+ - [ ]
53
+ - [ ]
@@ -0,0 +1,84 @@
1
+ version: 2
2
+ updates:
3
+ # Python dependencies
4
+ - package-ecosystem: "pip"
5
+ directory: "/"
6
+ schedule:
7
+ interval: "weekly"
8
+ labels:
9
+ - "dependencies"
10
+ - "python"
11
+ open-pull-requests-limit: 5
12
+ groups:
13
+ security-updates:
14
+ patterns:
15
+ - "*"
16
+ update-types:
17
+ - "security"
18
+
19
+ # PM Agent dependencies
20
+ - package-ecosystem: "npm"
21
+ directory: "/pm"
22
+ schedule:
23
+ interval: "weekly"
24
+ labels:
25
+ - "dependencies"
26
+ - "typescript"
27
+ - "pm-agent"
28
+ open-pull-requests-limit: 5
29
+ groups:
30
+ security-updates:
31
+ patterns:
32
+ - "*"
33
+ update-types:
34
+ - "security"
35
+
36
+ # Research Agent dependencies
37
+ - package-ecosystem: "npm"
38
+ directory: "/research"
39
+ schedule:
40
+ interval: "weekly"
41
+ labels:
42
+ - "dependencies"
43
+ - "typescript"
44
+ - "research-agent"
45
+ open-pull-requests-limit: 5
46
+ groups:
47
+ security-updates:
48
+ patterns:
49
+ - "*"
50
+ update-types:
51
+ - "security"
52
+
53
+ # Index Agent dependencies
54
+ - package-ecosystem: "npm"
55
+ directory: "/index"
56
+ schedule:
57
+ interval: "weekly"
58
+ labels:
59
+ - "dependencies"
60
+ - "typescript"
61
+ - "index-agent"
62
+ open-pull-requests-limit: 5
63
+ groups:
64
+ security-updates:
65
+ patterns:
66
+ - "*"
67
+ update-types:
68
+ - "security"
69
+
70
+ # GitHub Actions
71
+ - package-ecosystem: "github-actions"
72
+ directory: "/"
73
+ schedule:
74
+ interval: "weekly"
75
+ labels:
76
+ - "dependencies"
77
+ - "github-actions"
78
+ open-pull-requests-limit: 5
79
+ groups:
80
+ security-updates:
81
+ patterns:
82
+ - "*"
83
+ update-types:
84
+ - "security"
@@ -0,0 +1,64 @@
1
+ ## Description
2
+
3
+ <!-- Provide a brief description of the changes in this PR -->
4
+
5
+ ## Type of Change
6
+
7
+ <!-- Mark the relevant option with an "x" -->
8
+
9
+ - [ ] Bug fix (non-breaking change which fixes an issue)
10
+ - [ ] New feature (non-breaking change which adds functionality)
11
+ - [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
12
+ - [ ] Documentation update
13
+ - [ ] Code refactoring
14
+ - [ ] Performance improvement
15
+ - [ ] Test addition/modification
16
+
17
+ ## Related Issues
18
+
19
+ <!-- Link to related issues using #issue_number -->
20
+
21
+ Fixes #
22
+ Related to #
23
+
24
+ ## Changes Made
25
+
26
+ <!-- List the key changes made in this PR -->
27
+
28
+ -
29
+ -
30
+ -
31
+
32
+ ## Testing
33
+
34
+ <!-- Describe the tests you ran and how to reproduce them -->
35
+
36
+ - [ ] All existing tests pass (`make test`)
37
+ - [ ] New tests added for new functionality
38
+ - [ ] Manual testing performed
39
+ - [ ] Docker build successful (`docker-compose build`)
40
+
41
+ ### Test Coverage
42
+
43
+ - [ ] Coverage maintained or improved
44
+ - [ ] All critical paths tested
45
+
46
+ ## Checklist
47
+
48
+ <!-- Ensure all items are completed before requesting review -->
49
+
50
+ - [ ] Code follows the project's style guidelines (`make lint format`)
51
+ - [ ] Self-review of code performed
52
+ - [ ] Comments added for complex logic
53
+ - [ ] Documentation updated (if applicable)
54
+ - [ ] No new warnings generated
55
+ - [ ] Conventional commit messages used
56
+ - [ ] AGENTS.md guidelines followed
57
+
58
+ ## Screenshots (if applicable)
59
+
60
+ <!-- Add screenshots to help explain your changes -->
61
+
62
+ ## Additional Notes
63
+
64
+ <!-- Any additional information that reviewers should know -->
@@ -0,0 +1,166 @@
1
+ name: CI
2
+
3
+ permissions:
4
+ contents: read
5
+
6
+ on:
7
+ push:
8
+ branches: [ main ]
9
+ pull_request:
10
+ branches: [ main ]
11
+
12
+ jobs:
13
+ python-tests:
14
+ name: Python Tests
15
+ runs-on: ubuntu-latest
16
+ strategy:
17
+ matrix:
18
+ python-version: ['3.11', '3.12']
19
+
20
+ steps:
21
+ - uses: actions/checkout@v6
22
+
23
+ - name: Set up Python ${{ matrix.python-version }}
24
+ uses: actions/setup-python@v5
25
+ with:
26
+ python-version: ${{ matrix.python-version }}
27
+
28
+ - name: Install uv
29
+ run: |
30
+ curl -LsSf https://astral.sh/uv/install.sh | sh
31
+ echo "$HOME/.cargo/bin" >> $GITHUB_PATH
32
+
33
+ - name: Install dependencies
34
+ run: |
35
+ uv pip install --system -e ".[dev]"
36
+
37
+ - name: Run Python tests with coverage
38
+ run: |
39
+ pytest --cov-report=xml
40
+
41
+ - name: Upload coverage to Codecov
42
+ uses: codecov/codecov-action@v5
43
+ with:
44
+ file: ./coverage.xml
45
+ flags: python
46
+ name: python-${{ matrix.python-version }}
47
+ if: matrix.python-version == '3.11'
48
+
49
+ typescript-tests:
50
+ name: TypeScript Tests
51
+ runs-on: ubuntu-latest
52
+ strategy:
53
+ matrix:
54
+ node-version: ['20.x']
55
+ agent: ['pm', 'research', 'index']
56
+
57
+ steps:
58
+ - uses: actions/checkout@v6
59
+
60
+ - name: Set up Node.js ${{ matrix.node-version }}
61
+ uses: actions/setup-node@v6
62
+ with:
63
+ node-version: ${{ matrix.node-version }}
64
+ cache: 'npm'
65
+ cache-dependency-path: '${{ matrix.agent }}/package-lock.json'
66
+
67
+ - name: Install dependencies
68
+ working-directory: ./${{ matrix.agent }}
69
+ run: npm ci
70
+
71
+ - name: Run TypeScript tests
72
+ working-directory: ./${{ matrix.agent }}
73
+ run: npm test
74
+
75
+ - name: Build TypeScript
76
+ working-directory: ./${{ matrix.agent }}
77
+ run: npm run build
78
+
79
+ code-quality:
80
+ name: Code Quality
81
+ runs-on: ubuntu-latest
82
+
83
+ steps:
84
+ - uses: actions/checkout@v6
85
+
86
+ - name: Set up Python
87
+ uses: actions/setup-python@v5
88
+ with:
89
+ python-version: '3.11'
90
+
91
+ - name: Install uv
92
+ run: |
93
+ curl -LsSf https://astral.sh/uv/install.sh | sh
94
+ echo "$HOME/.cargo/bin" >> $GITHUB_PATH
95
+
96
+ - name: Install dependencies
97
+ run: |
98
+ uv pip install --system -e ".[dev]"
99
+
100
+ - name: Run Ruff linter
101
+ run: |
102
+ ruff check src/ tests/
103
+
104
+ - name: Check code formatting with Ruff
105
+ run: |
106
+ ruff format --check src/ tests/
107
+
108
+ docker-build:
109
+ name: Docker Build
110
+ runs-on: ubuntu-latest
111
+
112
+ steps:
113
+ - uses: actions/checkout@v6
114
+
115
+ - name: Set up Docker Buildx
116
+ uses: docker/setup-buildx-action@v3
117
+
118
+ - name: Build Docker image
119
+ uses: docker/build-push-action@v6
120
+ with:
121
+ context: .
122
+ push: false
123
+ tags: superclaude:ci
124
+ cache-from: type=gha
125
+ cache-to: type=gha,mode=max
126
+
127
+ integration:
128
+ name: Integration Tests
129
+ runs-on: ubuntu-latest
130
+ needs: [python-tests, typescript-tests]
131
+
132
+ steps:
133
+ - uses: actions/checkout@v6
134
+
135
+ - name: Set up Python
136
+ uses: actions/setup-python@v5
137
+ with:
138
+ python-version: '3.11'
139
+
140
+ - name: Set up Node.js
141
+ uses: actions/setup-node@v6
142
+ with:
143
+ node-version: '20.x'
144
+
145
+ - name: Install uv
146
+ run: |
147
+ curl -LsSf https://astral.sh/uv/install.sh | sh
148
+ echo "$HOME/.cargo/bin" >> $GITHUB_PATH
149
+
150
+ - name: Install Python dependencies
151
+ run: |
152
+ uv pip install --system -e ".[dev]"
153
+
154
+ - name: Build TypeScript agents
155
+ run: |
156
+ cd pm && npm ci && npm run build && cd ..
157
+ cd research && npm ci && npm run build && cd ..
158
+ cd index && npm ci && npm run build
159
+
160
+ - name: Run integration tests
161
+ run: |
162
+ pytest tests/integration/ -v
163
+
164
+ - name: Verify installation
165
+ run: |
166
+ superclaude verify || true
@@ -0,0 +1,65 @@
1
+ name: "CodeQL Security Scanning"
2
+
3
+ on:
4
+ push:
5
+ branches: [ "main" ]
6
+ pull_request:
7
+ branches: [ "main" ]
8
+ schedule:
9
+ # Run CodeQL analysis every Monday at 6:00 AM UTC
10
+ - cron: '0 6 * * 1'
11
+ workflow_dispatch:
12
+
13
+ jobs:
14
+ analyze:
15
+ name: Analyze (${{ matrix.language }})
16
+ runs-on: ubuntu-latest
17
+ timeout-minutes: 360
18
+ permissions:
19
+ # Required for all workflows
20
+ security-events: write
21
+ # Required to fetch internal or private CodeQL packs
22
+ packages: read
23
+ # Only required for workflows in private repositories
24
+ actions: read
25
+ contents: read
26
+
27
+ strategy:
28
+ fail-fast: false
29
+ matrix:
30
+ language:
31
+ - python
32
+ - javascript-typescript
33
+ include:
34
+ - language: python
35
+ build-mode: none
36
+ - language: javascript-typescript
37
+ build-mode: none
38
+
39
+ steps:
40
+ - name: Checkout repository
41
+ uses: actions/checkout@v4
42
+
43
+ # Initialize CodeQL tools for scanning
44
+ - name: Initialize CodeQL
45
+ uses: github/codeql-action/init@v4
46
+ with:
47
+ languages: ${{ matrix.language }}
48
+ # CodeQL supports:
49
+ # c-cpp, csharp, go, java-kotlin, javascript-typescript, python, ruby, swift
50
+
51
+ # Queries to run (default, security-extended, security-and-quality)
52
+ queries: security-and-quality
53
+
54
+ # Build mode for compiled languages (none, autobuild, manual)
55
+ build-mode: ${{ matrix.build-mode }}
56
+
57
+ # For Python and TypeScript, we don't need to build
58
+ # CodeQL will analyze the source code directly
59
+
60
+ - name: Perform CodeQL Analysis
61
+ uses: github/codeql-action/analyze@v4
62
+ with:
63
+ category: "/language:${{ matrix.language }}"
64
+ # Upload SARIF results to GitHub Security tab
65
+ upload: true
@@ -0,0 +1,65 @@
1
+ name: "CodeQL Security Scanning"
2
+
3
+ on:
4
+ push:
5
+ branches: [ "main" ]
6
+ pull_request:
7
+ branches: [ "main" ]
8
+ schedule:
9
+ # Run CodeQL analysis every Monday at 6:00 AM UTC
10
+ - cron: '0 6 * * 1'
11
+ workflow_dispatch:
12
+
13
+ jobs:
14
+ analyze:
15
+ name: Analyze (${{ matrix.language }})
16
+ runs-on: ubuntu-latest
17
+ timeout-minutes: 360
18
+ permissions:
19
+ # Required for all workflows
20
+ security-events: write
21
+ # Required to fetch internal or private CodeQL packs
22
+ packages: read
23
+ # Only required for workflows in private repositories
24
+ actions: read
25
+ contents: read
26
+
27
+ strategy:
28
+ fail-fast: false
29
+ matrix:
30
+ language:
31
+ - python
32
+ - javascript-typescript
33
+ include:
34
+ - language: python
35
+ build-mode: none
36
+ - language: javascript-typescript
37
+ build-mode: none
38
+
39
+ steps:
40
+ - name: Checkout repository
41
+ uses: actions/checkout@v4
42
+
43
+ # Initialize CodeQL tools for scanning
44
+ - name: Initialize CodeQL
45
+ uses: github/codeql-action/init@v4
46
+ with:
47
+ languages: ${{ matrix.language }}
48
+ # CodeQL supports:
49
+ # c-cpp, csharp, go, java-kotlin, javascript-typescript, python, ruby, swift
50
+
51
+ # Queries to run (default, security-extended, security-and-quality)
52
+ queries: security-and-quality
53
+
54
+ # Build mode for compiled languages (none, autobuild, manual)
55
+ build-mode: ${{ matrix.build-mode }}
56
+
57
+ # For Python and TypeScript, we don't need to build
58
+ # CodeQL will analyze the source code directly
59
+
60
+ - name: Perform CodeQL Analysis
61
+ uses: github/codeql-action/analyze@v4
62
+ with:
63
+ category: "/language:${{ matrix.language }}"
64
+ # Upload SARIF results to GitHub Security tab
65
+ upload: true