devready-cli 0.3.0__tar.gz → 1.0.0__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 (63) hide show
  1. {devready_cli-0.3.0 → devready_cli-1.0.0}/.claude-plugin/plugin.json +1 -1
  2. {devready_cli-0.3.0 → devready_cli-1.0.0}/CHANGELOG.md +4 -0
  3. {devready_cli-0.3.0 → devready_cli-1.0.0}/PKG-INFO +4 -4
  4. {devready_cli-0.3.0 → devready_cli-1.0.0}/README.md +2 -2
  5. {devready_cli-0.3.0 → devready_cli-1.0.0}/ROADMAP.md +2 -2
  6. {devready_cli-0.3.0 → devready_cli-1.0.0}/SECURITY.md +1 -1
  7. {devready_cli-0.3.0 → devready_cli-1.0.0}/pyproject.toml +2 -2
  8. devready_cli-1.0.0/src/devready/__init__.py +1 -0
  9. devready_cli-0.3.0/src/devready/__init__.py +0 -1
  10. {devready_cli-0.3.0 → devready_cli-1.0.0}/.claude-plugin/marketplace.json +0 -0
  11. {devready_cli-0.3.0 → devready_cli-1.0.0}/.gitattributes +0 -0
  12. {devready_cli-0.3.0 → devready_cli-1.0.0}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  13. {devready_cli-0.3.0 → devready_cli-1.0.0}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  14. {devready_cli-0.3.0 → devready_cli-1.0.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  15. {devready_cli-0.3.0 → devready_cli-1.0.0}/.github/workflows/ci.yml +0 -0
  16. {devready_cli-0.3.0 → devready_cli-1.0.0}/.github/workflows/publish.yml +0 -0
  17. {devready_cli-0.3.0 → devready_cli-1.0.0}/.gitignore +0 -0
  18. {devready_cli-0.3.0 → devready_cli-1.0.0}/.mcp.json +0 -0
  19. {devready_cli-0.3.0 → devready_cli-1.0.0}/AGENTS.md +0 -0
  20. {devready_cli-0.3.0 → devready_cli-1.0.0}/CODE_OF_CONDUCT.md +0 -0
  21. {devready_cli-0.3.0 → devready_cli-1.0.0}/CONTRIBUTING.md +0 -0
  22. {devready_cli-0.3.0 → devready_cli-1.0.0}/LICENSE +0 -0
  23. {devready_cli-0.3.0 → devready_cli-1.0.0}/action.yml +0 -0
  24. {devready_cli-0.3.0 → devready_cli-1.0.0}/commands/doctor.md +0 -0
  25. {devready_cli-0.3.0 → devready_cli-1.0.0}/docs/agents.md +0 -0
  26. {devready_cli-0.3.0 → devready_cli-1.0.0}/docs/architecture.md +0 -0
  27. {devready_cli-0.3.0 → devready_cli-1.0.0}/docs/checks.md +0 -0
  28. {devready_cli-0.3.0 → devready_cli-1.0.0}/docs/research.md +0 -0
  29. {devready_cli-0.3.0 → devready_cli-1.0.0}/docs/schema.json +0 -0
  30. {devready_cli-0.3.0 → devready_cli-1.0.0}/docs/security.md +0 -0
  31. {devready_cli-0.3.0 → devready_cli-1.0.0}/docs/technical-plan.md +0 -0
  32. {devready_cli-0.3.0 → devready_cli-1.0.0}/docs/versioning.md +0 -0
  33. {devready_cli-0.3.0 → devready_cli-1.0.0}/skills/devready/SKILL.md +0 -0
  34. {devready_cli-0.3.0 → devready_cli-1.0.0}/src/devready/__main__.py +0 -0
  35. {devready_cli-0.3.0 → devready_cli-1.0.0}/src/devready/baseline.py +0 -0
  36. {devready_cli-0.3.0 → devready_cli-1.0.0}/src/devready/checks/__init__.py +0 -0
  37. {devready_cli-0.3.0 → devready_cli-1.0.0}/src/devready/checks/config.py +0 -0
  38. {devready_cli-0.3.0 → devready_cli-1.0.0}/src/devready/checks/extras.py +0 -0
  39. {devready_cli-0.3.0 → devready_cli-1.0.0}/src/devready/checks/health.py +0 -0
  40. {devready_cli-0.3.0 → devready_cli-1.0.0}/src/devready/checks/platform_checks.py +0 -0
  41. {devready_cli-0.3.0 → devready_cli-1.0.0}/src/devready/checks/project.py +0 -0
  42. {devready_cli-0.3.0 → devready_cli-1.0.0}/src/devready/checks/python_check.py +0 -0
  43. {devready_cli-0.3.0 → devready_cli-1.0.0}/src/devready/checks/runtimes.py +0 -0
  44. {devready_cli-0.3.0 → devready_cli-1.0.0}/src/devready/checks/tools.py +0 -0
  45. {devready_cli-0.3.0 → devready_cli-1.0.0}/src/devready/cli.py +0 -0
  46. {devready_cli-0.3.0 → devready_cli-1.0.0}/src/devready/explain.py +0 -0
  47. {devready_cli-0.3.0 → devready_cli-1.0.0}/src/devready/formats.py +0 -0
  48. {devready_cli-0.3.0 → devready_cli-1.0.0}/src/devready/mcp_server.py +0 -0
  49. {devready_cli-0.3.0 → devready_cli-1.0.0}/src/devready/models.py +0 -0
  50. {devready_cli-0.3.0 → devready_cli-1.0.0}/src/devready/runner.py +0 -0
  51. {devready_cli-0.3.0 → devready_cli-1.0.0}/src/devready/versions.py +0 -0
  52. {devready_cli-0.3.0 → devready_cli-1.0.0}/tests/unit/test_baseline.py +0 -0
  53. {devready_cli-0.3.0 → devready_cli-1.0.0}/tests/unit/test_cli.py +0 -0
  54. {devready_cli-0.3.0 → devready_cli-1.0.0}/tests/unit/test_config.py +0 -0
  55. {devready_cli-0.3.0 → devready_cli-1.0.0}/tests/unit/test_extras.py +0 -0
  56. {devready_cli-0.3.0 → devready_cli-1.0.0}/tests/unit/test_formats.py +0 -0
  57. {devready_cli-0.3.0 → devready_cli-1.0.0}/tests/unit/test_health.py +0 -0
  58. {devready_cli-0.3.0 → devready_cli-1.0.0}/tests/unit/test_mcp.py +0 -0
  59. {devready_cli-0.3.0 → devready_cli-1.0.0}/tests/unit/test_platform.py +0 -0
  60. {devready_cli-0.3.0 → devready_cli-1.0.0}/tests/unit/test_runtimes.py +0 -0
  61. {devready_cli-0.3.0 → devready_cli-1.0.0}/tests/unit/test_schema.py +0 -0
  62. {devready_cli-0.3.0 → devready_cli-1.0.0}/tests/unit/test_stability.py +0 -0
  63. {devready_cli-0.3.0 → devready_cli-1.0.0}/tests/unit/test_versions_project.py +0 -0
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "devready",
3
- "version": "0.3.0",
3
+ "version": "1.0.0",
4
4
  "homepage": "https://devready-ten.vercel.app/",
5
5
  "description": "Read-only environment preflight: compares a project's declared Node/Python versions with what is installed.",
6
6
  "author": { "name": "DevReady contributors" },
@@ -1,5 +1,9 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.0.0 - 2026-10-16
4
+ - First stable release. No behaviour changes since 0.3.0.
5
+ - From here the JSON schema (v1), check ids, exit codes and `.devready.json` keys follow the stability rules in `docs/versioning.md`; breaking any of them needs 2.0.
6
+
3
7
  ## 0.3.0 - 2026-10-16
4
8
  - Text output now shows the suggestion under each non-passing result (community PR #6, fixes #2).
5
9
  - Fix: a pin file with short hostile text (e.g. `.nvmrc`, `rust-toolchain.toml`, `global.json`, `.tool-versions`) was echoed in the summary when the matching tool was not installed. Only specs the matcher fully parses are now shown. Affects 0.2.0 and earlier.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: devready-cli
3
- Version: 0.3.0
3
+ Version: 1.0.0
4
4
  Summary: A local-first, read-only CLI that checks a project's environment requirements against what is installed.
5
5
  Project-URL: Homepage, https://devready-ten.vercel.app/
6
6
  Project-URL: Repository, https://github.com/Evalogical-Inc/devReady
@@ -9,7 +9,7 @@ Author: Evalogical Inc
9
9
  License-Expression: MIT
10
10
  License-File: LICENSE
11
11
  Keywords: ai-agents,claude-code,cli,codex,developer-tools,doctor,environment,mcp,nvmrc,onboarding,preflight
12
- Classifier: Development Status :: 3 - Alpha
12
+ Classifier: Development Status :: 5 - Production/Stable
13
13
  Classifier: Environment :: Console
14
14
  Classifier: Intended Audience :: Developers
15
15
  Classifier: Operating System :: OS Independent
@@ -37,7 +37,7 @@ Built for humans, CI, and AI coding agents (Claude Code, Codex, any MCP client).
37
37
  [![License: MIT](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
38
38
  ![Python 3.10+](https://img.shields.io/badge/python-3.10%2B-blue)
39
39
  ![Dependencies: 0](https://img.shields.io/badge/dependencies-0-brightgreen)
40
- ![Status: alpha](https://img.shields.io/badge/status-alpha-orange)
40
+ ![Status: stable](https://img.shields.io/badge/status-stable-green)
41
41
 
42
42
  </div>
43
43
 
@@ -195,7 +195,7 @@ args = ["--from", "devready-cli", "devready", "mcp"]
195
195
 
196
196
  See [docs/security.md](docs/security.md) for the model, [docs/versioning.md](docs/versioning.md) for what stays stable, [docs/checks.md](docs/checks.md) for every check, and [SECURITY.md](SECURITY.md) to report a vulnerability.
197
197
 
198
- ## Limitations (alpha)
198
+ ## Limitations
199
199
 
200
200
  - Checks today: Python, Git (+ identity set), Node.js, npm, project pins (`.nvmrc`, `.node-version`, `.python-version`, `.tool-versions`, `package.json` engines, `pyproject.toml` requires-python), `.env.example` vs `.env` key names, Docker CLI + daemon (only when the project has a Dockerfile/compose file), free disk space, and (only when the project declares them) Go, Ruby, Java, Rust, .NET, pnpm, Yarn and Bun pins, `.env` not git-ignored, `node_modules` vs lockfile, and declared ports already in use.
201
201
  - The version-range matcher covers common npm/PEP 440 syntax; pre-releases and exotic ranges report `skip` rather than guess.
@@ -13,7 +13,7 @@ Built for humans, CI, and AI coding agents (Claude Code, Codex, any MCP client).
13
13
  [![License: MIT](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
14
14
  ![Python 3.10+](https://img.shields.io/badge/python-3.10%2B-blue)
15
15
  ![Dependencies: 0](https://img.shields.io/badge/dependencies-0-brightgreen)
16
- ![Status: alpha](https://img.shields.io/badge/status-alpha-orange)
16
+ ![Status: stable](https://img.shields.io/badge/status-stable-green)
17
17
 
18
18
  </div>
19
19
 
@@ -171,7 +171,7 @@ args = ["--from", "devready-cli", "devready", "mcp"]
171
171
 
172
172
  See [docs/security.md](docs/security.md) for the model, [docs/versioning.md](docs/versioning.md) for what stays stable, [docs/checks.md](docs/checks.md) for every check, and [SECURITY.md](SECURITY.md) to report a vulnerability.
173
173
 
174
- ## Limitations (alpha)
174
+ ## Limitations
175
175
 
176
176
  - Checks today: Python, Git (+ identity set), Node.js, npm, project pins (`.nvmrc`, `.node-version`, `.python-version`, `.tool-versions`, `package.json` engines, `pyproject.toml` requires-python), `.env.example` vs `.env` key names, Docker CLI + daemon (only when the project has a Dockerfile/compose file), free disk space, and (only when the project declares them) Go, Ruby, Java, Rust, .NET, pnpm, Yarn and Bun pins, `.env` not git-ignored, `node_modules` vs lockfile, and declared ports already in use.
177
177
  - The version-range matcher covers common npm/PEP 440 syntax; pre-releases and exotic ranges report `skip` rather than guess.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Principles (unchanged): read-only, local-first, zero runtime dependencies, Python >= 3.10, never print env values or raw command output.
4
4
 
5
- ## Where we are (0.3.0)
5
+ ## Where we are (1.0.0)
6
6
 
7
7
  - Tools: Git, Node, npm, Python. Docker, Go, Ruby, Java, Rust, .NET, pnpm, Yarn, Bun only when the project declares them (details in the sections below).
8
8
  - Pins compared: `.nvmrc`, `.node-version`, `.python-version`, `package.json` engines.node, `pyproject.toml` requires-python, `.tool-versions` (node/python only).
@@ -61,7 +61,7 @@ Principles (unchanged): read-only, local-first, zero runtime dependencies, Pytho
61
61
  - [x] Schema frozen at v1 with a policy: `docs/versioning.md`, enforced by `tests/unit/test_stability.py` (fields, statuses, id pattern, catalog in sync).
62
62
  - [x] CI matrix: Ubuntu/Windows/macOS x Python 3.10, 3.11, 3.12, 3.13 (edited, not yet run on GitHub).
63
63
  - [x] Docs: `docs/checks.md`, `architecture.md`, `security.md`, `versioning.md`, and an "Adding a check" guide in CONTRIBUTING. Plugin/MCP setup already in `docs/agents.md`.
64
- - [ ] Bump to 1.0.0 once the patch release below is out and CI is green on the full matrix.
64
+ - [x] 1.0.0: schema v1, check ids, exit codes and `.devready.json` keys are stable per `docs/versioning.md`.
65
65
 
66
66
  ## Opt-in only (needs explicit design review)
67
67
 
@@ -7,4 +7,4 @@ Relevant concerns include: leaking environment values or file contents, executin
7
7
  content, following symlinks outside the inspected directory, and output that could inject
8
8
  instructions into an AI agent consuming the JSON.
9
9
 
10
- This is an early prototype maintained on a best-effort basis; no response-time guarantee is made.
10
+ This project is maintained on a best-effort basis; no response-time guarantee is made.
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "devready-cli"
7
- version = "0.3.0"
7
+ version = "1.0.0"
8
8
  description = "A local-first, read-only CLI that checks a project's environment requirements against what is installed."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -13,7 +13,7 @@ license-files = ["LICENSE"]
13
13
  authors = [{ name = "Evalogical Inc" }]
14
14
  keywords = ["developer-tools", "cli", "doctor", "environment", "preflight", "mcp", "claude-code", "codex", "ai-agents", "nvmrc", "onboarding"]
15
15
  classifiers = [
16
- "Development Status :: 3 - Alpha",
16
+ "Development Status :: 5 - Production/Stable",
17
17
  "Environment :: Console",
18
18
  "Intended Audience :: Developers",
19
19
  "Operating System :: OS Independent",
@@ -0,0 +1 @@
1
+ __version__ = "1.0.0"
@@ -1 +0,0 @@
1
- __version__ = "0.3.0"
File without changes
File without changes
File without changes
File without changes
File without changes