agentready 2.22.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.
- agentready-2.22.3/LICENSE +21 -0
- agentready-2.22.3/PKG-INFO +368 -0
- agentready-2.22.3/README.md +330 -0
- agentready-2.22.3/pyproject.toml +115 -0
- agentready-2.22.3/setup.cfg +4 -0
- agentready-2.22.3/src/agentready/__init__.py +0 -0
- agentready-2.22.3/src/agentready/assessors/__init__.py +93 -0
- agentready-2.22.3/src/agentready/assessors/base.py +111 -0
- agentready-2.22.3/src/agentready/assessors/code_quality.py +1080 -0
- agentready-2.22.3/src/agentready/assessors/containers.py +184 -0
- agentready-2.22.3/src/agentready/assessors/documentation.py +1386 -0
- agentready-2.22.3/src/agentready/assessors/repomix.py +170 -0
- agentready-2.22.3/src/agentready/assessors/security.py +263 -0
- agentready-2.22.3/src/agentready/assessors/structure.py +698 -0
- agentready-2.22.3/src/agentready/assessors/stub_assessors.py +729 -0
- agentready-2.22.3/src/agentready/assessors/testing.py +682 -0
- agentready-2.22.3/src/agentready/cli/__init__.py +0 -0
- agentready-2.22.3/src/agentready/cli/align.py +212 -0
- agentready-2.22.3/src/agentready/cli/assess_batch.py +547 -0
- agentready-2.22.3/src/agentready/cli/benchmark.py +444 -0
- agentready-2.22.3/src/agentready/cli/bootstrap.py +81 -0
- agentready-2.22.3/src/agentready/cli/demo.py +539 -0
- agentready-2.22.3/src/agentready/cli/eval_harness.py +787 -0
- agentready-2.22.3/src/agentready/cli/experiment.py +99 -0
- agentready-2.22.3/src/agentready/cli/extract_skills.py +246 -0
- agentready-2.22.3/src/agentready/cli/harbor.py +361 -0
- agentready-2.22.3/src/agentready/cli/learn.py +254 -0
- agentready-2.22.3/src/agentready/cli/main.py +577 -0
- agentready-2.22.3/src/agentready/cli/main_simplified.py +98 -0
- agentready-2.22.3/src/agentready/cli/repomix.py +159 -0
- agentready-2.22.3/src/agentready/cli/research.py +302 -0
- agentready-2.22.3/src/agentready/cli/schema.py +128 -0
- agentready-2.22.3/src/agentready/cli/submit.py +272 -0
- agentready-2.22.3/src/agentready/data/RESEARCH_REPORT.md +2024 -0
- agentready-2.22.3/src/agentready/data/default-weights.yaml +50 -0
- agentready-2.22.3/src/agentready/fixers/__init__.py +5 -0
- agentready-2.22.3/src/agentready/fixers/base.py +71 -0
- agentready-2.22.3/src/agentready/fixers/documentation.py +104 -0
- agentready-2.22.3/src/agentready/fixers/testing.py +82 -0
- agentready-2.22.3/src/agentready/github/__init__.py +15 -0
- agentready-2.22.3/src/agentready/github/review_formatter.py +317 -0
- agentready-2.22.3/src/agentready/learners/__init__.py +16 -0
- agentready-2.22.3/src/agentready/learners/code_sampler.py +142 -0
- agentready-2.22.3/src/agentready/learners/llm_enricher.py +277 -0
- agentready-2.22.3/src/agentready/learners/pattern_extractor.py +222 -0
- agentready-2.22.3/src/agentready/learners/prompt_templates.py +100 -0
- agentready-2.22.3/src/agentready/learners/skill_generator.py +202 -0
- agentready-2.22.3/src/agentready/models/__init__.py +46 -0
- agentready-2.22.3/src/agentready/models/assessment.py +119 -0
- agentready-2.22.3/src/agentready/models/attribute.py +51 -0
- agentready-2.22.3/src/agentready/models/batch_assessment.py +197 -0
- agentready-2.22.3/src/agentready/models/citation.py +40 -0
- agentready-2.22.3/src/agentready/models/config.py +165 -0
- agentready-2.22.3/src/agentready/models/discovered_skill.py +281 -0
- agentready-2.22.3/src/agentready/models/eval_harness.py +367 -0
- agentready-2.22.3/src/agentready/models/finding.py +158 -0
- agentready-2.22.3/src/agentready/models/fix.py +205 -0
- agentready-2.22.3/src/agentready/models/harbor.py +300 -0
- agentready-2.22.3/src/agentready/models/metadata.py +93 -0
- agentready-2.22.3/src/agentready/models/repository.py +118 -0
- agentready-2.22.3/src/agentready/models/theme.py +300 -0
- agentready-2.22.3/src/agentready/reporters/__init__.py +0 -0
- agentready-2.22.3/src/agentready/reporters/aggregated_json.py +40 -0
- agentready-2.22.3/src/agentready/reporters/base.py +71 -0
- agentready-2.22.3/src/agentready/reporters/csv_reporter.py +153 -0
- agentready-2.22.3/src/agentready/reporters/harbor_markdown.py +260 -0
- agentready-2.22.3/src/agentready/reporters/html.py +122 -0
- agentready-2.22.3/src/agentready/reporters/json_reporter.py +37 -0
- agentready-2.22.3/src/agentready/reporters/markdown.py +327 -0
- agentready-2.22.3/src/agentready/reporters/multi_html.py +144 -0
- agentready-2.22.3/src/agentready/services/__init__.py +0 -0
- agentready-2.22.3/src/agentready/services/assessment_cache.py +270 -0
- agentready-2.22.3/src/agentready/services/attribute_analyzer.py +488 -0
- agentready-2.22.3/src/agentready/services/batch_scanner.py +243 -0
- agentready-2.22.3/src/agentready/services/bootstrap.py +189 -0
- agentready-2.22.3/src/agentready/services/claudecode_runner.py +126 -0
- agentready-2.22.3/src/agentready/services/eval_harness/__init__.py +1 -0
- agentready-2.22.3/src/agentready/services/eval_harness/aggregator.py +83 -0
- agentready-2.22.3/src/agentready/services/eval_harness/assessor_tester.py +191 -0
- agentready-2.22.3/src/agentready/services/eval_harness/baseline.py +102 -0
- agentready-2.22.3/src/agentready/services/eval_harness/batch_runner.py +67 -0
- agentready-2.22.3/src/agentready/services/eval_harness/dashboard_generator.py +180 -0
- agentready-2.22.3/src/agentready/services/eval_harness/harbor_config.py +73 -0
- agentready-2.22.3/src/agentready/services/eval_harness/tbench_runner.py +268 -0
- agentready-2.22.3/src/agentready/services/experiment_comparer.py +70 -0
- agentready-2.22.3/src/agentready/services/fixer_service.py +123 -0
- agentready-2.22.3/src/agentready/services/github_scanner.py +227 -0
- agentready-2.22.3/src/agentready/services/harbor/__init__.py +6 -0
- agentready-2.22.3/src/agentready/services/harbor/agent_toggler.py +255 -0
- agentready-2.22.3/src/agentready/services/harbor/comparer.py +349 -0
- agentready-2.22.3/src/agentready/services/harbor/dashboard_generator.py +169 -0
- agentready-2.22.3/src/agentready/services/harbor/result_parser.py +78 -0
- agentready-2.22.3/src/agentready/services/harbor/runner.py +192 -0
- agentready-2.22.3/src/agentready/services/language_detector.py +184 -0
- agentready-2.22.3/src/agentready/services/learning_service.py +364 -0
- agentready-2.22.3/src/agentready/services/llm_cache.py +133 -0
- agentready-2.22.3/src/agentready/services/repomix.py +281 -0
- agentready-2.22.3/src/agentready/services/repository_manager.py +274 -0
- agentready-2.22.3/src/agentready/services/research_formatter.py +360 -0
- agentready-2.22.3/src/agentready/services/research_loader.py +181 -0
- agentready-2.22.3/src/agentready/services/scanner.py +292 -0
- agentready-2.22.3/src/agentready/services/schema_migrator.py +153 -0
- agentready-2.22.3/src/agentready/services/schema_validator.py +164 -0
- agentready-2.22.3/src/agentready/services/scorer.py +178 -0
- agentready-2.22.3/src/agentready/services/sweagent_runner.py +72 -0
- agentready-2.22.3/src/agentready/services/swebench_evaluator.py +86 -0
- agentready-2.22.3/src/agentready/templates/align/CLAUDE.md.j2 +54 -0
- agentready-2.22.3/src/agentready/templates/bootstrap/CODEOWNERS.j2 +13 -0
- agentready-2.22.3/src/agentready/templates/bootstrap/CODE_OF_CONDUCT.md.j2 +35 -0
- agentready-2.22.3/src/agentready/templates/bootstrap/CONTRIBUTING.md.j2 +254 -0
- agentready-2.22.3/src/agentready/templates/bootstrap/PULL_REQUEST_TEMPLATE.md.j2 +56 -0
- agentready-2.22.3/src/agentready/templates/bootstrap/_base/precommit.yaml.j2 +27 -0
- agentready-2.22.3/src/agentready/templates/bootstrap/_base/workflows/security.yml.j2 +38 -0
- agentready-2.22.3/src/agentready/templates/bootstrap/_base/workflows/tests.yml.j2 +44 -0
- agentready-2.22.3/src/agentready/templates/bootstrap/dependabot.yml.j2 +38 -0
- agentready-2.22.3/src/agentready/templates/bootstrap/go/precommit.yaml.j2 +23 -0
- agentready-2.22.3/src/agentready/templates/bootstrap/go/workflows/security.yml.j2 +23 -0
- agentready-2.22.3/src/agentready/templates/bootstrap/go/workflows/tests.yml.j2 +42 -0
- agentready-2.22.3/src/agentready/templates/bootstrap/issue_templates/bug_report.md.j2 +42 -0
- agentready-2.22.3/src/agentready/templates/bootstrap/issue_templates/feature_request.md.j2 +46 -0
- agentready-2.22.3/src/agentready/templates/bootstrap/javascript/precommit.yaml.j2 +20 -0
- agentready-2.22.3/src/agentready/templates/bootstrap/javascript/workflows/security.yml.j2 +25 -0
- agentready-2.22.3/src/agentready/templates/bootstrap/javascript/workflows/tests.yml.j2 +35 -0
- agentready-2.22.3/src/agentready/templates/bootstrap/python/precommit.yaml.j2 +23 -0
- agentready-2.22.3/src/agentready/templates/bootstrap/python/workflows/security.yml.j2 +26 -0
- agentready-2.22.3/src/agentready/templates/bootstrap/python/workflows/tests.yml.j2 +43 -0
- agentready-2.22.3/src/agentready/templates/bootstrap/workflows/agentready-assessment.yml.j2 +63 -0
- agentready-2.22.3/src/agentready/templates/bootstrap/workflows/repomix-update.yml.j2 +103 -0
- agentready-2.22.3/src/agentready/templates/harbor_comparison.html.j2 +510 -0
- agentready-2.22.3/src/agentready/templates/multi_report.html.j2 +720 -0
- agentready-2.22.3/src/agentready/templates/report.html.j2 +880 -0
- agentready-2.22.3/src/agentready/templates/slides.html.j2 +382 -0
- agentready-2.22.3/src/agentready/utils/__init__.py +33 -0
- agentready-2.22.3/src/agentready/utils/preflight.py +132 -0
- agentready-2.22.3/src/agentready/utils/privacy.py +249 -0
- agentready-2.22.3/src/agentready/utils/security.py +382 -0
- agentready-2.22.3/src/agentready/utils/subprocess_utils.py +188 -0
- agentready-2.22.3/src/agentready.egg-info/PKG-INFO +368 -0
- agentready-2.22.3/src/agentready.egg-info/SOURCES.txt +142 -0
- agentready-2.22.3/src/agentready.egg-info/dependency_links.txt +1 -0
- agentready-2.22.3/src/agentready.egg-info/entry_points.txt +2 -0
- agentready-2.22.3/src/agentready.egg-info/requires.txt +22 -0
- agentready-2.22.3/src/agentready.egg-info/top_level.txt +1 -0
- agentready-2.22.3/tests/test_demo_generation.py +310 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Jeremy Eder / Red Hat, Inc.
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,368 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: agentready
|
|
3
|
+
Version: 2.22.3
|
|
4
|
+
Summary: Assess and bootstrap git repositories for AI-assisted development with automated remediation and continuous learning
|
|
5
|
+
Author-email: Jeremy Eder <jeder@redhat.com>
|
|
6
|
+
License: MIT
|
|
7
|
+
Classifier: Development Status :: 4 - Beta
|
|
8
|
+
Classifier: Intended Audience :: Developers
|
|
9
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
10
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
11
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
12
|
+
Classifier: Topic :: Software Development :: Quality Assurance
|
|
13
|
+
Requires-Python: >=3.12
|
|
14
|
+
Description-Content-Type: text/markdown
|
|
15
|
+
License-File: LICENSE
|
|
16
|
+
Requires-Dist: click>=8.1.0
|
|
17
|
+
Requires-Dist: jinja2>=3.1.0
|
|
18
|
+
Requires-Dist: pyyaml>=6.0
|
|
19
|
+
Requires-Dist: gitpython>=3.1.0
|
|
20
|
+
Requires-Dist: radon>=6.0.0
|
|
21
|
+
Requires-Dist: lizard>=1.17.0
|
|
22
|
+
Requires-Dist: anthropic>=0.74.0
|
|
23
|
+
Requires-Dist: jsonschema>=4.17.0
|
|
24
|
+
Requires-Dist: requests>=2.31.0
|
|
25
|
+
Requires-Dist: pydantic>=2.0.0
|
|
26
|
+
Requires-Dist: pandas>=2.0.0
|
|
27
|
+
Requires-Dist: plotly>=5.0.0
|
|
28
|
+
Requires-Dist: scipy>=1.10.0
|
|
29
|
+
Requires-Dist: PyGithub>=2.1.1
|
|
30
|
+
Provides-Extra: dev
|
|
31
|
+
Requires-Dist: pytest>=7.4.0; extra == "dev"
|
|
32
|
+
Requires-Dist: pytest-cov>=4.1.0; extra == "dev"
|
|
33
|
+
Requires-Dist: black>=23.0.0; extra == "dev"
|
|
34
|
+
Requires-Dist: isort>=5.12.0; extra == "dev"
|
|
35
|
+
Requires-Dist: flake8>=6.0.0; extra == "dev"
|
|
36
|
+
Requires-Dist: ruff>=0.1.0; extra == "dev"
|
|
37
|
+
Dynamic: license-file
|
|
38
|
+
|
|
39
|
+
# AgentReady Repository Scorer
|
|
40
|
+
|
|
41
|
+
[](https://codecov.io/gh/ambient-code/agentready)
|
|
42
|
+
[](https://github.com/ambient-code/agentready/actions/workflows/tests.yml)
|
|
43
|
+
|
|
44
|
+
Assess git repositories against evidence-based attributes for AI-assisted development readiness.
|
|
45
|
+
|
|
46
|
+
> **📚 Research-Based Assessment**: AgentReady's attributes are derived from [comprehensive research](RESEARCH_REPORT.md) analyzing 50+ authoritative sources including **Anthropic**, **Microsoft**, **Google**, **ArXiv**, and **IEEE/ACM**. Each attribute is backed by peer-reviewed research and industry best practices. [View full research report →](RESEARCH_REPORT.md)
|
|
47
|
+
|
|
48
|
+
## Overview
|
|
49
|
+
|
|
50
|
+
AgentReady evaluates your repository across multiple dimensions of code quality, documentation, testing, and infrastructure to determine how well-suited it is for AI-assisted development workflows. The tool generates comprehensive reports with:
|
|
51
|
+
|
|
52
|
+
- **Overall Score & Certification**: Platinum/Gold/Silver/Bronze based on comprehensive attribute assessment
|
|
53
|
+
- **Interactive HTML Reports**: Filter, sort, and explore findings with embedded guidance
|
|
54
|
+
- **Version-Control-Friendly Markdown**: Track progress over time with git-diffable reports
|
|
55
|
+
- **Actionable Remediation**: Specific tools, commands, and examples to improve each attribute
|
|
56
|
+
- **Schema Versioning**: Backwards-compatible report format with validation and migration tools
|
|
57
|
+
|
|
58
|
+
## Quick Start
|
|
59
|
+
|
|
60
|
+
### Container (Recommended)
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
# Login to GitHub Container Registry (required for private image)
|
|
64
|
+
podman login ghcr.io
|
|
65
|
+
|
|
66
|
+
# Pull container
|
|
67
|
+
podman pull ghcr.io/ambient-code/agentready:latest
|
|
68
|
+
|
|
69
|
+
# Create output directory
|
|
70
|
+
mkdir -p ~/agentready-reports
|
|
71
|
+
|
|
72
|
+
# Assess AgentReady itself
|
|
73
|
+
git clone https://github.com/ambient-code/agentready /tmp/agentready
|
|
74
|
+
podman run --rm \
|
|
75
|
+
-v /tmp/agentready:/repo:ro \
|
|
76
|
+
-v ~/agentready-reports:/reports \
|
|
77
|
+
ghcr.io/ambient-code/agentready:latest \
|
|
78
|
+
assess /repo --output-dir /reports
|
|
79
|
+
|
|
80
|
+
# Assess your repository
|
|
81
|
+
# For large repos, add -i flag to confirm the size warning
|
|
82
|
+
podman run --rm \
|
|
83
|
+
-v /path/to/your/repo:/repo:ro \
|
|
84
|
+
-v ~/agentready-reports:/reports \
|
|
85
|
+
ghcr.io/ambient-code/agentready:latest \
|
|
86
|
+
assess /repo --output-dir /reports
|
|
87
|
+
|
|
88
|
+
# Open reports
|
|
89
|
+
open ~/agentready-reports/report-latest.html
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
[See full container documentation →](CONTAINER.md)
|
|
93
|
+
|
|
94
|
+
### Python Package
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
# Install
|
|
98
|
+
pip install agentready
|
|
99
|
+
|
|
100
|
+
# Assess AgentReady itself
|
|
101
|
+
git clone https://github.com/ambient-code/agentready /tmp/agentready
|
|
102
|
+
agentready assess /tmp/agentready
|
|
103
|
+
|
|
104
|
+
# Create virtual environment
|
|
105
|
+
python3 -m venv .venv
|
|
106
|
+
source .venv/bin/activate # On Windows: .venv\Scripts\activate
|
|
107
|
+
|
|
108
|
+
# Install dependencies
|
|
109
|
+
pip install -e ".[dev]"
|
|
110
|
+
```
|
|
111
|
+
### Run Directly via uv (Optional, No Install Required)
|
|
112
|
+
|
|
113
|
+
If you use **uv**, you can run AgentReady directly from GitHub without cloning or installing:
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
uvx --from git+https://github.com/ambient-code/agentready agentready -- assess .
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
To install it as a reusable global tool:
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
uv tool install --from git+https://github.com/ambient-code/agentready agentready
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
After installing globally:
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
agentready assess .
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
### Harbor CLI (for Benchmarks)
|
|
132
|
+
|
|
133
|
+
Harbor is required for running Terminal-Bench evaluations:
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
# AgentReady will prompt to install automatically, or install manually:
|
|
137
|
+
uv tool install harbor
|
|
138
|
+
|
|
139
|
+
# Alternative: Use pip if uv is not available
|
|
140
|
+
pip install harbor
|
|
141
|
+
|
|
142
|
+
# Verify installation
|
|
143
|
+
harbor --version
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
**Skip automatic checks**: If you prefer to skip the automatic Harbor check (for advanced users):
|
|
147
|
+
|
|
148
|
+
```bash
|
|
149
|
+
agentready benchmark --skip-preflight --subset smoketest
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
### Assessment Only
|
|
153
|
+
|
|
154
|
+
For one-time analysis without infrastructure changes:
|
|
155
|
+
|
|
156
|
+
```bash
|
|
157
|
+
# Assess current repository
|
|
158
|
+
agentready assess .
|
|
159
|
+
|
|
160
|
+
# Assess another repository
|
|
161
|
+
agentready assess /path/to/your/repo
|
|
162
|
+
|
|
163
|
+
# Specify custom configuration
|
|
164
|
+
agentready assess /path/to/repo --config my-config.yaml
|
|
165
|
+
|
|
166
|
+
# Custom output directory
|
|
167
|
+
agentready assess /path/to/repo --output-dir ./reports
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
### Example Output
|
|
171
|
+
|
|
172
|
+
```
|
|
173
|
+
Assessing repository: myproject
|
|
174
|
+
Repository: /Users/username/myproject
|
|
175
|
+
Languages detected: Python (42 files), JavaScript (18 files)
|
|
176
|
+
|
|
177
|
+
Evaluating attributes...
|
|
178
|
+
[████████████████████████░░░░░░░░] 23/25 (2 skipped)
|
|
179
|
+
|
|
180
|
+
Overall Score: 72.5/100 (Silver)
|
|
181
|
+
Attributes Assessed: 23/25
|
|
182
|
+
Duration: 2m 7s
|
|
183
|
+
|
|
184
|
+
Reports generated:
|
|
185
|
+
HTML: .agentready/report-latest.html
|
|
186
|
+
Markdown: .agentready/report-latest.md
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
## Features
|
|
190
|
+
|
|
191
|
+
### Evidence-Based Attributes
|
|
192
|
+
|
|
193
|
+
Evaluated across 13 categories:
|
|
194
|
+
|
|
195
|
+
1. **Context Window Optimization**: CLAUDE.md files, concise docs, file size limits
|
|
196
|
+
2. **Documentation Standards**: README structure, inline docs, ADRs
|
|
197
|
+
3. **Code Quality**: Cyclomatic complexity, file length, type annotations, code smells
|
|
198
|
+
4. **Repository Structure**: Standard layouts, separation of concerns
|
|
199
|
+
5. **Testing & CI/CD**: Coverage, test naming, pre-commit hooks
|
|
200
|
+
6. **Dependency Management**: Lock files, freshness, security
|
|
201
|
+
7. **Git & Version Control**: Conventional commits, gitignore, templates
|
|
202
|
+
8. **Build & Development**: One-command setup, dev docs, containers
|
|
203
|
+
9. **Error Handling**: Clear messages, structured logging
|
|
204
|
+
10. **API Documentation**: OpenAPI/Swagger specs
|
|
205
|
+
11. **Modularity**: DRY principle, naming conventions
|
|
206
|
+
12. **CI/CD Integration**: Pipeline visibility, branch protection
|
|
207
|
+
13. **Security**: Scanning automation, secrets management
|
|
208
|
+
|
|
209
|
+
### Tier-Based Scoring
|
|
210
|
+
|
|
211
|
+
Attributes are weighted by importance:
|
|
212
|
+
|
|
213
|
+
- **Tier 1 (Essential)**: 50% of total score - CLAUDE.md, README, types, layouts, lock files
|
|
214
|
+
- **Tier 2 (Critical)**: 30% of total score - Tests, commits, build setup
|
|
215
|
+
- **Tier 3 (Important)**: 15% of total score - Complexity, logging, API docs
|
|
216
|
+
- **Tier 4 (Advanced)**: 5% of total score - Security scanning, performance benchmarks
|
|
217
|
+
|
|
218
|
+
Missing essential attributes (especially CLAUDE.md at 10% weight) has 10x the impact of missing advanced features.
|
|
219
|
+
|
|
220
|
+
### Interactive HTML Reports
|
|
221
|
+
|
|
222
|
+
- Filter by status (Pass/Fail/Skipped)
|
|
223
|
+
- Sort by score, tier, or category
|
|
224
|
+
- Search attributes by name
|
|
225
|
+
- Collapsible sections with detailed evidence
|
|
226
|
+
- Color-coded score indicators
|
|
227
|
+
- Certification ladder visualization
|
|
228
|
+
- Works offline (no CDN dependencies)
|
|
229
|
+
|
|
230
|
+
### Customization
|
|
231
|
+
|
|
232
|
+
Create `.agentready-config.yaml` to customize weights:
|
|
233
|
+
|
|
234
|
+
```yaml
|
|
235
|
+
weights:
|
|
236
|
+
claude_md_file: 0.15 # Increase importance (default: 0.10)
|
|
237
|
+
test_coverage: 0.05 # Increase importance (default: 0.03)
|
|
238
|
+
conventional_commits: 0.01 # Decrease importance (default: 0.03)
|
|
239
|
+
# Other attributes use defaults, rescaled to sum to 1.0
|
|
240
|
+
|
|
241
|
+
excluded_attributes:
|
|
242
|
+
- performance_benchmarks # Skip this attribute
|
|
243
|
+
|
|
244
|
+
output_dir: ./custom-reports
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
## CLI Reference
|
|
248
|
+
|
|
249
|
+
```bash
|
|
250
|
+
# Assessment commands
|
|
251
|
+
agentready assess PATH # Assess repository at PATH
|
|
252
|
+
agentready assess PATH --verbose # Show detailed progress
|
|
253
|
+
agentready assess PATH --config FILE # Use custom configuration
|
|
254
|
+
agentready assess PATH --output-dir DIR # Custom report location
|
|
255
|
+
|
|
256
|
+
# Configuration commands
|
|
257
|
+
agentready --validate-config FILE # Validate configuration
|
|
258
|
+
agentready --generate-config # Create example config
|
|
259
|
+
|
|
260
|
+
# Research report management
|
|
261
|
+
agentready research-version # Show bundled research version
|
|
262
|
+
agentready research validate FILE # Validate research report
|
|
263
|
+
agentready research init # Generate new research report
|
|
264
|
+
agentready research add-attribute FILE # Add attribute to report
|
|
265
|
+
agentready research bump-version FILE # Update version
|
|
266
|
+
agentready research format FILE # Format research report
|
|
267
|
+
|
|
268
|
+
# Utility commands
|
|
269
|
+
agentready --version # Show tool version
|
|
270
|
+
agentready --help # Show help message
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
## Architecture
|
|
274
|
+
|
|
275
|
+
AgentReady follows a library-first design:
|
|
276
|
+
|
|
277
|
+
- **Models**: Data entities (Repository, Assessment, Finding, Attribute)
|
|
278
|
+
- **Assessors**: Independent evaluators for each attribute category
|
|
279
|
+
- **Services**: Scanner (orchestration), Scorer (calculation), LanguageDetector
|
|
280
|
+
- **Reporters**: HTML and Markdown report generators
|
|
281
|
+
- **CLI**: Thin wrapper orchestrating assessment workflow
|
|
282
|
+
|
|
283
|
+
## Development
|
|
284
|
+
|
|
285
|
+
### Run Tests
|
|
286
|
+
|
|
287
|
+
```bash
|
|
288
|
+
# Run all tests with coverage
|
|
289
|
+
pytest
|
|
290
|
+
|
|
291
|
+
# Run specific test suite
|
|
292
|
+
pytest tests/unit/
|
|
293
|
+
pytest tests/integration/
|
|
294
|
+
pytest tests/contract/
|
|
295
|
+
|
|
296
|
+
# Run with verbose output
|
|
297
|
+
pytest -v -s
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
### Code Quality
|
|
301
|
+
|
|
302
|
+
```bash
|
|
303
|
+
# Format code
|
|
304
|
+
black src/ tests/
|
|
305
|
+
|
|
306
|
+
# Sort imports
|
|
307
|
+
isort src/ tests/
|
|
308
|
+
|
|
309
|
+
# Lint code
|
|
310
|
+
flake8 src/ tests/ --ignore=E501
|
|
311
|
+
|
|
312
|
+
# Run all checks
|
|
313
|
+
black . && isort . && flake8 .
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
### Project Structure
|
|
317
|
+
|
|
318
|
+
```
|
|
319
|
+
src/agentready/
|
|
320
|
+
├── cli/ # Click-based CLI entry point
|
|
321
|
+
├── assessors/ # Attribute evaluators (13 categories)
|
|
322
|
+
├── models/ # Data entities
|
|
323
|
+
├── services/ # Core logic (Scanner, Scorer)
|
|
324
|
+
├── reporters/ # HTML and Markdown generators
|
|
325
|
+
├── templates/ # Jinja2 HTML template
|
|
326
|
+
└── data/ # Bundled research report and defaults
|
|
327
|
+
|
|
328
|
+
tests/
|
|
329
|
+
├── unit/ # Unit tests for individual components
|
|
330
|
+
├── integration/ # End-to-end workflow tests
|
|
331
|
+
├── contract/ # Schema validation tests
|
|
332
|
+
└── fixtures/ # Test repositories
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
## Research Foundation
|
|
336
|
+
|
|
337
|
+
All attributes are derived from evidence-based research with 50+ citations from:
|
|
338
|
+
|
|
339
|
+
- Anthropic (Claude Code documentation, engineering blog)
|
|
340
|
+
- Microsoft (Code metrics, Azure DevOps best practices)
|
|
341
|
+
- Google (SRE handbook, style guides)
|
|
342
|
+
- ArXiv (Software engineering research papers)
|
|
343
|
+
- IEEE/ACM (Academic publications on code quality)
|
|
344
|
+
|
|
345
|
+
See `src/agentready/data/RESEARCH_REPORT.md` for complete research report.
|
|
346
|
+
|
|
347
|
+
## License
|
|
348
|
+
|
|
349
|
+
MIT License - see LICENSE file for details.
|
|
350
|
+
|
|
351
|
+
## Contributing
|
|
352
|
+
|
|
353
|
+
Contributions welcome! Please ensure:
|
|
354
|
+
|
|
355
|
+
- All tests pass (`pytest`)
|
|
356
|
+
- Code is formatted (`black`, `isort`)
|
|
357
|
+
- Linting passes (`flake8`)
|
|
358
|
+
- Test coverage >80%
|
|
359
|
+
|
|
360
|
+
## Support
|
|
361
|
+
|
|
362
|
+
- Documentation: See `/docs` directory
|
|
363
|
+
- Issues: Report at GitHub Issues
|
|
364
|
+
- Questions: Open a discussion on GitHub
|
|
365
|
+
|
|
366
|
+
---
|
|
367
|
+
|
|
368
|
+
**Quick Start**: `pip install -e ".[dev]" && agentready assess .` - Ready in <5 minutes!
|