Skip to content

Commit e25162e

Browse files
refactor(docs): code analysis engine
stats: lines: "+9537/-9627 (net -90)" files: 13 complexity: "Stable complexity"
1 parent e1604f6 commit e25162e

File tree

17 files changed

+9561
-9629
lines changed

17 files changed

+9561
-9629
lines changed

CHANGELOG.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,28 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [3.0.2] - 2026-03-08
11+
12+
### Docs
13+
- Update project/context.md
14+
15+
### Test
16+
- Update tests/project/dashboard.html
17+
- Update tests/project/project.yaml
18+
19+
### Other
20+
- Update VERSION
21+
- Update code2docs/__init__.py
22+
- Update project/analysis.json
23+
- Update project/analysis.toon
24+
- Update project/analysis.yaml
25+
- Update project/calls.mmd
26+
- Update project/dashboard.html
27+
- Update project/flow.mmd
28+
- Update project/flow.toon
29+
- Update project/map.toon
30+
- ... and 1 more files
31+
1032
## [0.2.11] - 2026-03-08
1133

1234
### Docs

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# code2docs
22

3-
![version](https://img.shields.io/badge/version-0.2.11-blue) ![python](https://img.shields.io/badge/python-%3E%3D3.9-blue) ![docs](https://img.shields.io/badge/docs-auto--generated-blueviolet)
3+
![version](https://img.shields.io/badge/version-3.0.2-blue) ![python](https://img.shields.io/badge/python-%3E%3D3.9-blue) ![docs](https://img.shields.io/badge/docs-auto--generated-blueviolet)
44

55
> Auto-generate and sync project documentation from source code analysis.
66
@@ -140,7 +140,7 @@ code2docs can update only specific sections of an existing README using markers:
140140
```markdown
141141
<!-- code2docs:start --># code2docs
142142

143-
![version](https://img.shields.io/badge/version-0.2.11-blue) ![python](https://img.shields.io/badge/python-%3E%3D3.9-blue) ![coverage](https://img.shields.io/badge/coverage-unknown-lightgrey) ![functions](https://img.shields.io/badge/functions-276-green)
143+
![version](https://img.shields.io/badge/version-3.0.2-blue) ![python](https://img.shields.io/badge/python-%3E%3D3.9-blue) ![coverage](https://img.shields.io/badge/coverage-unknown-lightgrey) ![functions](https://img.shields.io/badge/functions-276-green)
144144
> **276** functions | **57** classes | **51** files | CC̄ = 3.8
145145

146146
> Auto-generated project documentation from source code analysis.

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.2.11
1+
3.0.2

code2docs/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
README.md, API references, module docs, examples, and architecture diagrams.
66
"""
77

8-
__version__ = "0.2.11"
8+
__version__ = "3.0.2"
99
__author__ = "Tom Sapletta"
1010

1111
from .config import Code2DocsConfig

project/analysis.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

project/analysis.toon

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -86,9 +86,9 @@ FUNCTIONS (CC≥10, 22 of 237):
8686
11.0 ArchitectureGenerator._generate_class_diagram 12n 2exit loops+cond+ret
8787
10.0 ConfigDocsGenerator._render_section 14n 2exit loops+cond+ret
8888
10.0 ApiReferenceGenerator._has_content 6n 3exit cond+ret
89-
10.0 Code2DocsConfig.from_yaml 20n 3exit cond+ret
9089
10.0 ApiChangelogGenerator._diff_functions 9n 1exit loops+cond
9190
10.0 ApiChangelogGenerator._diff_classes 15n 1exit loops+cond
91+
10.0 Code2DocsConfig.from_yaml 20n 3exit cond+ret
9292
10.0 _run_check 11n 1exit loops+cond
9393

9494
summary:
@@ -152,16 +152,16 @@ CLASSES:
152152
DefaultGroup █ 1m CC̄=4.0 max=4
153153
GenerateContext 0m CC̄=0.0 max=0.0
154154
ChangelogEntry 0m CC̄=0.0 max=0.0
155+
ApiChange 0m CC̄=0.0 max=0.0
155156
ReadmeConfig 0m CC̄=0.0 max=0.0
156157
DocsConfig 0m CC̄=0.0 max=0.0
157158
ExamplesConfig 0m CC̄=0.0 max=0.0
158159
SyncConfig 0m CC̄=0.0 max=0.0
159160
Code2LlmConfig 0m CC̄=0.0 max=0.0
160-
ApiChange 0m CC̄=0.0 max=0.0
161+
DocstringInfo 0m CC̄=0.0 max=0.0
162+
Endpoint 0m CC̄=0.0 max=0.0
161163
DependencyInfo 0m CC̄=0.0 max=0.0
162164
ProjectDependencies 0m CC̄=0.0 max=0.0
163-
Endpoint 0m CC̄=0.0 max=0.0
164-
DocstringInfo 0m CC̄=0.0 max=0.0
165165

166166
D:
167167
code2docs/generators/readme_gen.py:
@@ -269,6 +269,15 @@ Thi...
269269
e: ContributingGenerator
270270
ContributingGenerator # Generate CONTRIBUTING.md by detecting dev tools from pyproje...
271271
__init__(2) CC=1.0
272+
code2docs/analyzers/docstring_extractor.py:
273+
e: DocstringInfo,DocstringExtractor
274+
DocstringInfo # Parsed docstring with sections....
275+
DocstringExtractor # Extract and parse docstrings from AnalysisResult....
276+
extract_all(1) CC=5.0
277+
→ parse(1) CC=2.0
278+
→ _extract_summary(0) CC=2.0
279+
→ _parse_sections(2) CC=8.0
280+
→ _classify_section(0) CC=5.0
272281
code2docs/analyzers/dependency_scanner.py:
273282
e: DependencyInfo,ProjectDependencies,DependencyScanner
274283
DependencyInfo # Information about a project dependency....
@@ -280,15 +289,6 @@ Thi...
280289
→ _parse_dep_string(0) CC=2.0
281290
→ _parse_setup_py(1) CC=4.0
282291
→ _parse_requirements_txt(1) CC=5.0
283-
code2docs/analyzers/docstring_extractor.py:
284-
e: DocstringInfo,DocstringExtractor
285-
DocstringInfo # Parsed docstring with sections....
286-
DocstringExtractor # Extract and parse docstrings from AnalysisResult....
287-
extract_all(1) CC=5.0
288-
→ parse(1) CC=2.0
289-
→ _extract_summary(0) CC=2.0
290-
→ _parse_sections(2) CC=8.0
291-
→ _classify_section(0) CC=5.0
292292
code2docs/llm_helper.py:
293293
e: LLMHelper,_get_litellm
294294
LLMHelper # Thin wrapper around litellm for documentation generation.
@@ -324,17 +324,17 @@ I...
324324
should_run(0) CC=1.0
325325
Code2LlmAdapter # Adapter for code2llm analysis generation....
326326
should_run(0) CC=1.0
327-
code2docs/formatters/toc.py:
328-
e: generate_toc,extract_headings,_slugify
329-
generate_toc(markdown_content,max_depth)
330-
extract_headings(content,max_depth)
331-
_slugify(text)
332327
code2docs/sync/differ.py:
333328
e: ChangeInfo,Differ
334329
ChangeInfo # Describes a detected change....
335330
__str__(0) CC=1.0
336331
Differ # Detect changes between current source and previous state....
337332
__init__(1) CC=2.0
333+
code2docs/formatters/toc.py:
334+
e: generate_toc,extract_headings,_slugify
335+
generate_toc(markdown_content,max_depth)
336+
extract_headings(content,max_depth)
337+
_slugify(text)
338338
code2docs/generators/changelog_gen.py:
339339
e: ChangelogEntry,ChangelogGenerator
340340
ChangelogEntry # A single changelog entry....

0 commit comments

Comments
 (0)