docwright 0.1.1__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.
- {docwright-0.1.1 → docwright-0.1.2}/PKG-INFO +2 -2
- {docwright-0.1.1 → docwright-0.1.2}/README.md +1 -1
- {docwright-0.1.1/ai_docgen → docwright-0.1.2/docwright}/cli.py +8 -8
- {docwright-0.1.1/ai_docgen → docwright-0.1.2/docwright}/engine.py +6 -6
- {docwright-0.1.1/ai_docgen → docwright-0.1.2/docwright}/outputs/direct.py +1 -1
- {docwright-0.1.1/ai_docgen → docwright-0.1.2/docwright}/outputs/factory.py +4 -4
- {docwright-0.1.1/ai_docgen → docwright-0.1.2/docwright}/outputs/pull_request.py +2 -2
- {docwright-0.1.1/ai_docgen → docwright-0.1.2/docwright}/providers/claude.py +1 -1
- {docwright-0.1.1/ai_docgen → docwright-0.1.2/docwright}/providers/factory.py +5 -5
- {docwright-0.1.1/ai_docgen → docwright-0.1.2/docwright}/providers/ollama.py +1 -1
- {docwright-0.1.1/ai_docgen → docwright-0.1.2/docwright}/providers/openai.py +1 -1
- {docwright-0.1.1/ai_docgen → docwright-0.1.2/docwright}/reporters/html.py +1 -1
- {docwright-0.1.1/ai_docgen → docwright-0.1.2/docwright}/reporters/terminal.py +1 -1
- {docwright-0.1.1 → docwright-0.1.2}/pyproject.toml +3 -3
- {docwright-0.1.1 → docwright-0.1.2}/LICENSE +0 -0
- {docwright-0.1.1/ai_docgen → docwright-0.1.2/docwright}/__init__.py +0 -0
- {docwright-0.1.1/ai_docgen → docwright-0.1.2/docwright}/analyzer.py +0 -0
- {docwright-0.1.1/ai_docgen → docwright-0.1.2/docwright}/built_in_templates/__init__.py +0 -0
- {docwright-0.1.1/ai_docgen → docwright-0.1.2/docwright}/built_in_templates/readme/__init__.py +0 -0
- {docwright-0.1.1/ai_docgen → docwright-0.1.2/docwright}/built_in_templates/readme/default.md.j2 +0 -0
- {docwright-0.1.1/ai_docgen → docwright-0.1.2/docwright}/built_in_templates/wiki/__init__.py +0 -0
- {docwright-0.1.1/ai_docgen → docwright-0.1.2/docwright}/built_in_templates/wiki/adr.md.j2 +0 -0
- {docwright-0.1.1/ai_docgen → docwright-0.1.2/docwright}/built_in_templates/wiki/api-contracts.md.j2 +0 -0
- {docwright-0.1.1/ai_docgen → docwright-0.1.2/docwright}/built_in_templates/wiki/architecture.md.j2 +0 -0
- {docwright-0.1.1/ai_docgen → docwright-0.1.2/docwright}/built_in_templates/wiki/data-model.md.j2 +0 -0
- {docwright-0.1.1/ai_docgen → docwright-0.1.2/docwright}/built_in_templates/wiki/db-schema.md.j2 +0 -0
- {docwright-0.1.1/ai_docgen → docwright-0.1.2/docwright}/built_in_templates/wiki/development-guide.md.j2 +0 -0
- {docwright-0.1.1/ai_docgen → docwright-0.1.2/docwright}/built_in_templates/wiki/integrations.md.j2 +0 -0
- {docwright-0.1.1/ai_docgen → docwright-0.1.2/docwright}/built_in_templates/wiki/operations.md.j2 +0 -0
- {docwright-0.1.1/ai_docgen → docwright-0.1.2/docwright}/built_in_templates/wiki/security.md.j2 +0 -0
- {docwright-0.1.1/ai_docgen → docwright-0.1.2/docwright}/built_in_templates/wiki/troubleshooting.md.j2 +0 -0
- {docwright-0.1.1/ai_docgen → docwright-0.1.2/docwright}/config.py +0 -0
- {docwright-0.1.1/ai_docgen → docwright-0.1.2/docwright}/outputs/__init__.py +0 -0
- {docwright-0.1.1/ai_docgen → docwright-0.1.2/docwright}/outputs/base.py +0 -0
- {docwright-0.1.1/ai_docgen → docwright-0.1.2/docwright}/providers/__init__.py +0 -0
- {docwright-0.1.1/ai_docgen → docwright-0.1.2/docwright}/providers/base.py +0 -0
- {docwright-0.1.1/ai_docgen → docwright-0.1.2/docwright}/registry.py +0 -0
- {docwright-0.1.1/ai_docgen → docwright-0.1.2/docwright}/renderer.py +0 -0
- {docwright-0.1.1/ai_docgen → docwright-0.1.2/docwright}/reporters/__init__.py +0 -0
- {docwright-0.1.1/ai_docgen → docwright-0.1.2/docwright}/scaffolder.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: docwright
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.2
|
|
4
4
|
Summary: AI-powered documentation agent: auto-generates and maintains README & wiki on every commit
|
|
5
5
|
License: MIT
|
|
6
6
|
License-File: LICENSE
|
|
@@ -179,7 +179,7 @@ docwright report # HTML page at docwright-report.html
|
|
|
179
179
|
poetry install
|
|
180
180
|
poetry run pytest # 46 tests
|
|
181
181
|
poetry run ruff check . # lint
|
|
182
|
-
poetry run mypy
|
|
182
|
+
poetry run mypy docwright # type check
|
|
183
183
|
```
|
|
184
184
|
|
|
185
185
|
## License
|
|
@@ -144,7 +144,7 @@ docwright report # HTML page at docwright-report.html
|
|
|
144
144
|
poetry install
|
|
145
145
|
poetry run pytest # 46 tests
|
|
146
146
|
poetry run ruff check . # lint
|
|
147
|
-
poetry run mypy
|
|
147
|
+
poetry run mypy docwright # type check
|
|
148
148
|
```
|
|
149
149
|
|
|
150
150
|
## License
|
|
@@ -7,10 +7,10 @@ from pathlib import Path
|
|
|
7
7
|
|
|
8
8
|
import click
|
|
9
9
|
|
|
10
|
-
from
|
|
11
|
-
from
|
|
12
|
-
from
|
|
13
|
-
from
|
|
10
|
+
from docwright.config import Config
|
|
11
|
+
from docwright.engine import DocsEngine
|
|
12
|
+
from docwright.outputs.factory import build_output
|
|
13
|
+
from docwright.providers.factory import build_provider
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
def get_repo_root() -> Path:
|
|
@@ -52,7 +52,7 @@ def run(dry_run: bool) -> None:
|
|
|
52
52
|
if dry_run:
|
|
53
53
|
config = Config.load(repo_root)
|
|
54
54
|
triggers = config.triggers
|
|
55
|
-
from
|
|
55
|
+
from docwright.analyzer import DiffAnalyzer
|
|
56
56
|
|
|
57
57
|
analyzer = DiffAnalyzer(
|
|
58
58
|
diff_text=diff_text,
|
|
@@ -85,7 +85,7 @@ def sync() -> None:
|
|
|
85
85
|
@click.option("--output", "output_mode", default=None, type=click.Choice(["pr", "direct"]))
|
|
86
86
|
def install(auto: bool, provider: str | None, output_mode: str | None) -> None:
|
|
87
87
|
"""Bootstrap this repo with ai-docgen configuration."""
|
|
88
|
-
from
|
|
88
|
+
from docwright.scaffolder import Scaffolder
|
|
89
89
|
|
|
90
90
|
repo_root = get_repo_root()
|
|
91
91
|
scaffolder = Scaffolder(repo_root=repo_root)
|
|
@@ -118,7 +118,7 @@ def install(auto: bool, provider: str | None, output_mode: str | None) -> None:
|
|
|
118
118
|
@click.option("--registry", "registry_path", default=None, help="Path to registry.yml")
|
|
119
119
|
def dashboard(registry_path: str | None) -> None:
|
|
120
120
|
"""Show status of all registered projects."""
|
|
121
|
-
from
|
|
121
|
+
from docwright.reporters.terminal import render_dashboard
|
|
122
122
|
|
|
123
123
|
path = Path(registry_path) if registry_path else Path.cwd() / ".ai-docgen" / "registry.yml"
|
|
124
124
|
render_dashboard(path)
|
|
@@ -129,7 +129,7 @@ def dashboard(registry_path: str | None) -> None:
|
|
|
129
129
|
@click.option("--output", "output_file", default="ai-docgen-report.html", help="Output HTML file")
|
|
130
130
|
def report(registry_path: str | None, output_file: str) -> None:
|
|
131
131
|
"""Generate a static HTML status report."""
|
|
132
|
-
from
|
|
132
|
+
from docwright.reporters.html import render_html_report
|
|
133
133
|
|
|
134
134
|
reg_path = Path(registry_path) if registry_path else Path.cwd() / ".ai-docgen" / "registry.yml"
|
|
135
135
|
render_html_report(reg_path, Path(output_file))
|
|
@@ -3,12 +3,12 @@ from __future__ import annotations
|
|
|
3
3
|
import subprocess
|
|
4
4
|
from pathlib import Path
|
|
5
5
|
|
|
6
|
-
from
|
|
7
|
-
from
|
|
8
|
-
from
|
|
9
|
-
from
|
|
10
|
-
from
|
|
11
|
-
from
|
|
6
|
+
from docwright.analyzer import DiffAnalyzer
|
|
7
|
+
from docwright.config import Config
|
|
8
|
+
from docwright.outputs.base import Output
|
|
9
|
+
from docwright.providers.base import LLMProvider
|
|
10
|
+
from docwright.registry import DocumentEntry, ProjectEntry, Registry
|
|
11
|
+
from docwright.renderer import DocumentRenderer, TemplateLoader
|
|
12
12
|
|
|
13
13
|
SYSTEM_PROMPT = (
|
|
14
14
|
"You are a technical documentation writer. You update specific sections of documentation "
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
from pathlib import Path
|
|
2
2
|
|
|
3
|
-
from
|
|
4
|
-
from
|
|
5
|
-
from
|
|
6
|
-
from
|
|
3
|
+
from docwright.config import OutputConfig
|
|
4
|
+
from docwright.outputs.base import Output
|
|
5
|
+
from docwright.outputs.direct import DirectOutput
|
|
6
|
+
from docwright.outputs.pull_request import PullRequestOutput
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
def build_output(config: OutputConfig, repo_root: Path) -> Output:
|
|
@@ -8,8 +8,8 @@ from pathlib import Path
|
|
|
8
8
|
|
|
9
9
|
import httpx
|
|
10
10
|
|
|
11
|
-
from
|
|
12
|
-
from
|
|
11
|
+
from docwright.config import OutputConfig
|
|
12
|
+
from docwright.outputs.base import Output
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
class PullRequestOutput(Output):
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import os
|
|
2
2
|
|
|
3
|
-
from
|
|
4
|
-
from
|
|
5
|
-
from
|
|
6
|
-
from
|
|
7
|
-
from
|
|
3
|
+
from docwright.config import ProviderConfig
|
|
4
|
+
from docwright.providers.base import LLMProvider
|
|
5
|
+
from docwright.providers.claude import ClaudeProvider
|
|
6
|
+
from docwright.providers.ollama import OllamaProvider
|
|
7
|
+
from docwright.providers.openai import OpenAIProvider
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
def build_provider(config: ProviderConfig) -> LLMProvider:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "docwright"
|
|
3
|
-
version = "0.1.
|
|
3
|
+
version = "0.1.2"
|
|
4
4
|
description = "AI-powered documentation agent: auto-generates and maintains README & wiki on every commit"
|
|
5
5
|
authors = ["Artem Gotlib <gotlib.artem.m@gmail.com>"]
|
|
6
6
|
license = "MIT"
|
|
@@ -20,10 +20,10 @@ classifiers = [
|
|
|
20
20
|
"Topic :: Software Development :: Documentation",
|
|
21
21
|
"Topic :: Utilities",
|
|
22
22
|
]
|
|
23
|
-
packages = [{include = "
|
|
23
|
+
packages = [{include = "docwright"}]
|
|
24
24
|
|
|
25
25
|
[tool.poetry.scripts]
|
|
26
|
-
docwright = "
|
|
26
|
+
docwright = "docwright.cli:cli"
|
|
27
27
|
|
|
28
28
|
[tool.poetry.dependencies]
|
|
29
29
|
python = "^3.11"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{docwright-0.1.1/ai_docgen → docwright-0.1.2/docwright}/built_in_templates/readme/__init__.py
RENAMED
|
File without changes
|
{docwright-0.1.1/ai_docgen → docwright-0.1.2/docwright}/built_in_templates/readme/default.md.j2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{docwright-0.1.1/ai_docgen → docwright-0.1.2/docwright}/built_in_templates/wiki/api-contracts.md.j2
RENAMED
|
File without changes
|
{docwright-0.1.1/ai_docgen → docwright-0.1.2/docwright}/built_in_templates/wiki/architecture.md.j2
RENAMED
|
File without changes
|
{docwright-0.1.1/ai_docgen → docwright-0.1.2/docwright}/built_in_templates/wiki/data-model.md.j2
RENAMED
|
File without changes
|
{docwright-0.1.1/ai_docgen → docwright-0.1.2/docwright}/built_in_templates/wiki/db-schema.md.j2
RENAMED
|
File without changes
|
|
File without changes
|
{docwright-0.1.1/ai_docgen → docwright-0.1.2/docwright}/built_in_templates/wiki/integrations.md.j2
RENAMED
|
File without changes
|
{docwright-0.1.1/ai_docgen → docwright-0.1.2/docwright}/built_in_templates/wiki/operations.md.j2
RENAMED
|
File without changes
|
{docwright-0.1.1/ai_docgen → docwright-0.1.2/docwright}/built_in_templates/wiki/security.md.j2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|