codedoc-ai 0.1.4__tar.gz → 0.7.1__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.
- {codedoc_ai-0.1.4 → codedoc_ai-0.7.1}/.env.example +7 -0
- codedoc_ai-0.7.1/CHANGELOG.md +223 -0
- {codedoc_ai-0.1.4 → codedoc_ai-0.7.1}/MANIFEST.in +2 -0
- codedoc_ai-0.7.1/PKG-INFO +675 -0
- codedoc_ai-0.7.1/README.md +639 -0
- {codedoc_ai-0.1.4 → codedoc_ai-0.7.1}/codedoc/__init__.py +1 -1
- {codedoc_ai-0.1.4 → codedoc_ai-0.7.1}/codedoc/agents/dependency_agent.py +35 -19
- {codedoc_ai-0.1.4 → codedoc_ai-0.7.1}/codedoc/agents/documentation_agent.py +9 -6
- {codedoc_ai-0.1.4 → codedoc_ai-0.7.1}/codedoc/agents/orchestrator.py +4 -4
- {codedoc_ai-0.1.4 → codedoc_ai-0.7.1}/codedoc/agents/structure_agent.py +9 -8
- codedoc_ai-0.7.1/codedoc/cli/cli.py +214 -0
- {codedoc_ai-0.1.4 → codedoc_ai-0.7.1}/codedoc/core/__init__.py +11 -8
- codedoc_ai-0.7.1/codedoc/core/db.py +14 -0
- {codedoc_ai-0.1.4 → codedoc_ai-0.7.1}/codedoc/core/graph.py +4 -8
- codedoc_ai-0.7.1/codedoc/core/loader.py +282 -0
- codedoc_ai-0.7.1/codedoc/core/output.py +103 -0
- codedoc_ai-0.7.1/codedoc/core/project_view.py +870 -0
- {codedoc_ai-0.1.4 → codedoc_ai-0.7.1}/codedoc/core/scanner.py +105 -98
- codedoc_ai-0.7.1/codedoc/llm/api_provider.py +232 -0
- codedoc_ai-0.7.1/codedoc/llm/factory.py +160 -0
- {codedoc_ai-0.1.4 → codedoc_ai-0.7.1}/codedoc/llm/local_provider.py +11 -0
- codedoc_ai-0.7.1/codedoc/pipeline.py +768 -0
- codedoc_ai-0.7.1/codedoc_ai.egg-info/PKG-INFO +675 -0
- {codedoc_ai-0.1.4 → codedoc_ai-0.7.1}/codedoc_ai.egg-info/SOURCES.txt +1 -3
- {codedoc_ai-0.1.4 → codedoc_ai-0.7.1}/codedoc_ai.egg-info/requires.txt +1 -0
- {codedoc_ai-0.1.4 → codedoc_ai-0.7.1}/pyproject.toml +4 -1
- {codedoc_ai-0.1.4 → codedoc_ai-0.7.1}/tests/test_graph.py +30 -4
- codedoc_ai-0.7.1/tests/test_llm_mock.py +382 -0
- codedoc_ai-0.7.1/tests/test_pipeline.py +1123 -0
- {codedoc_ai-0.1.4 → codedoc_ai-0.7.1}/tests/test_scanner.py +22 -0
- codedoc_ai-0.7.1/tests/test_scenarios.py +798 -0
- codedoc_ai-0.1.4/CHANGELOG.md +0 -66
- codedoc_ai-0.1.4/PKG-INFO +0 -500
- codedoc_ai-0.1.4/README.md +0 -465
- codedoc_ai-0.1.4/codedoc/cli/cli.py +0 -168
- codedoc_ai-0.1.4/codedoc/core/db.py +0 -226
- codedoc_ai-0.1.4/codedoc/core/loader.py +0 -161
- codedoc_ai-0.1.4/codedoc/core/output.py +0 -123
- codedoc_ai-0.1.4/codedoc/core/project_view.py +0 -269
- codedoc_ai-0.1.4/codedoc/llm/api_provider.py +0 -89
- codedoc_ai-0.1.4/codedoc/llm/factory.py +0 -76
- codedoc_ai-0.1.4/codedoc/pipeline.py +0 -264
- codedoc_ai-0.1.4/codedoc_ai.egg-info/PKG-INFO +0 -500
- codedoc_ai-0.1.4/tests/fixtures/python_app/__pycache__/main.cpython-312.pyc +0 -0
- codedoc_ai-0.1.4/tests/fixtures/python_app/__pycache__/models.cpython-312.pyc +0 -0
- codedoc_ai-0.1.4/tests/fixtures/python_app/__pycache__/utils.cpython-312.pyc +0 -0
- codedoc_ai-0.1.4/tests/test_llm_mock.py +0 -170
- codedoc_ai-0.1.4/tests/test_pipeline.py +0 -327
- {codedoc_ai-0.1.4 → codedoc_ai-0.7.1}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {codedoc_ai-0.1.4 → codedoc_ai-0.7.1}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {codedoc_ai-0.1.4 → codedoc_ai-0.7.1}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {codedoc_ai-0.1.4 → codedoc_ai-0.7.1}/CODE_OF_CONDUCT.md +0 -0
- {codedoc_ai-0.1.4 → codedoc_ai-0.7.1}/CONTRIBUTING.md +0 -0
- {codedoc_ai-0.1.4 → codedoc_ai-0.7.1}/LICENSE +0 -0
- {codedoc_ai-0.1.4 → codedoc_ai-0.7.1}/SECURITY.md +0 -0
- {codedoc_ai-0.1.4 → codedoc_ai-0.7.1}/codedoc/__main__.py +0 -0
- {codedoc_ai-0.1.4 → codedoc_ai-0.7.1}/codedoc/agents/__init__.py +0 -0
- {codedoc_ai-0.1.4 → codedoc_ai-0.7.1}/codedoc/agents/base_agent.py +0 -0
- {codedoc_ai-0.1.4 → codedoc_ai-0.7.1}/codedoc/bootstrap.py +0 -0
- {codedoc_ai-0.1.4 → codedoc_ai-0.7.1}/codedoc/cli/__init__.py +0 -0
- {codedoc_ai-0.1.4 → codedoc_ai-0.7.1}/codedoc/core/queue.py +0 -0
- {codedoc_ai-0.1.4 → codedoc_ai-0.7.1}/codedoc/llm/__init__.py +0 -0
- {codedoc_ai-0.1.4 → codedoc_ai-0.7.1}/codedoc/llm/base.py +0 -0
- {codedoc_ai-0.1.4 → codedoc_ai-0.7.1}/codedoc/parser/__init__.py +0 -0
- {codedoc_ai-0.1.4 → codedoc_ai-0.7.1}/codedoc/parser/factory.py +0 -0
- {codedoc_ai-0.1.4 → codedoc_ai-0.7.1}/codedoc/parser/generic_parser.py +0 -0
- {codedoc_ai-0.1.4 → codedoc_ai-0.7.1}/codedoc/parser/python_parser.py +0 -0
- {codedoc_ai-0.1.4 → codedoc_ai-0.7.1}/codedoc/parser/react_parser.py +0 -0
- {codedoc_ai-0.1.4 → codedoc_ai-0.7.1}/codedoc/utils/__init__.py +0 -0
- {codedoc_ai-0.1.4 → codedoc_ai-0.7.1}/codedoc/utils/errors.py +0 -0
- {codedoc_ai-0.1.4 → codedoc_ai-0.7.1}/codedoc/utils/logger.py +0 -0
- {codedoc_ai-0.1.4 → codedoc_ai-0.7.1}/codedoc_ai.egg-info/dependency_links.txt +0 -0
- {codedoc_ai-0.1.4 → codedoc_ai-0.7.1}/codedoc_ai.egg-info/entry_points.txt +0 -0
- {codedoc_ai-0.1.4 → codedoc_ai-0.7.1}/codedoc_ai.egg-info/top_level.txt +0 -0
- {codedoc_ai-0.1.4 → codedoc_ai-0.7.1}/setup.cfg +0 -0
- {codedoc_ai-0.1.4 → codedoc_ai-0.7.1}/tests/__init__.py +0 -0
- {codedoc_ai-0.1.4 → codedoc_ai-0.7.1}/tests/fixtures/flutter_app/app.dart +0 -0
- {codedoc_ai-0.1.4 → codedoc_ai-0.7.1}/tests/fixtures/flutter_app/main.dart +0 -0
- {codedoc_ai-0.1.4 → codedoc_ai-0.7.1}/tests/fixtures/java_app/Main.java +0 -0
- {codedoc_ai-0.1.4 → codedoc_ai-0.7.1}/tests/fixtures/java_app/Service.java +0 -0
- {codedoc_ai-0.1.4 → codedoc_ai-0.7.1}/tests/fixtures/python_app/main.py +0 -0
- {codedoc_ai-0.1.4 → codedoc_ai-0.7.1}/tests/fixtures/python_app/models.py +0 -0
- {codedoc_ai-0.1.4 → codedoc_ai-0.7.1}/tests/fixtures/python_app/utils.py +0 -0
- {codedoc_ai-0.1.4 → codedoc_ai-0.7.1}/tests/fixtures/react_app/App.tsx +0 -0
- {codedoc_ai-0.1.4 → codedoc_ai-0.7.1}/tests/fixtures/react_app/index.html +0 -0
- {codedoc_ai-0.1.4 → codedoc_ai-0.7.1}/tests/fixtures/react_app/main.tsx +0 -0
- {codedoc_ai-0.1.4 → codedoc_ai-0.7.1}/tests/fixtures/react_app/router.tsx +0 -0
- {codedoc_ai-0.1.4 → codedoc_ai-0.7.1}/tests/fixtures/react_sample.tsx +0 -0
- {codedoc_ai-0.1.4 → codedoc_ai-0.7.1}/tests/test_agents.py +0 -0
- {codedoc_ai-0.1.4 → codedoc_ai-0.7.1}/tests/test_parser.py +0 -0
- {codedoc_ai-0.1.4 → codedoc_ai-0.7.1}/tests/test_queue.py +0 -0
|
@@ -7,9 +7,16 @@
|
|
|
7
7
|
# Anthropic Claude
|
|
8
8
|
# ANTHROPIC_API_KEY=sk-ant-your-anthropic-key
|
|
9
9
|
|
|
10
|
+
# Google Gemini
|
|
11
|
+
# GEMINI_API_KEY=your-gemini-api-key
|
|
12
|
+
# GOOGLE_API_KEY=your-google-api-key
|
|
13
|
+
|
|
10
14
|
# Generic fallback API key used by codedoc when provider-specific keys are absent
|
|
11
15
|
# LLM_API_KEY=your-api-key
|
|
12
16
|
|
|
17
|
+
# API provider: auto, openai, anthropic, or gemini
|
|
18
|
+
# LLM_PROVIDER=auto
|
|
19
|
+
|
|
13
20
|
# Local LLM mode: Ollama, LM Studio, llama.cpp server, or another OpenAI-compatible server
|
|
14
21
|
# LLM_MODE=local
|
|
15
22
|
# API_BASE_URL=http://localhost:11434/v1
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## 0.7.1 - 2026-05-25
|
|
4
|
+
|
|
5
|
+
### Fixed: provider-specific default models not applied when `--model` is omitted (GitHub Issue #2)
|
|
6
|
+
|
|
7
|
+
- `codedoc/core/loader.py`: changed `DEFAULTS["model_name"]` from `"gpt-4o-mini"` to `""`.
|
|
8
|
+
- Previously, the global default `"gpt-4o-mini"` was a truthy string that short-circuited the `or` fallbacks in the provider factory for every provider. Running `--provider gemini` without `--model` would silently send requests to Gemini using the OpenAI model name `gpt-4o-mini`, causing a 404 from the Gemini API. The same bug applied to `--provider anthropic` without `--model`, which would have called Anthropic with `gpt-4o-mini` and failed.
|
|
9
|
+
- With an empty string default, the factory's per-provider fallbacks now activate correctly:
|
|
10
|
+
- Gemini with no model → `gemini-2.5-flash`
|
|
11
|
+
- Anthropic with no model → `claude-haiku-4-5-20251001`
|
|
12
|
+
- OpenAI / auto with no model → `gpt-4o-mini` (unchanged)
|
|
13
|
+
- Behaviour when `--model` is explicitly passed is unchanged.
|
|
14
|
+
|
|
15
|
+
## 0.7.0 - 2026-05-24
|
|
16
|
+
|
|
17
|
+
### MD-only incremental now works (Issue 1)
|
|
18
|
+
- `_build_meta_comment` now embeds a `file_hashes` dict inside the `<!-- codedoc-ai: ... -->` metadata comment written at the top of every `codedoc.md`. Each entry maps a relative file path to its SHA-256 hash.
|
|
19
|
+
- `_load_existing_file_docs` now falls back to the MD file when no JSON exists. It reads hashes from the metadata comment and file records from the parsed MD content. Users who only ever run `--format md` no longer pay full LLM cost on every run.
|
|
20
|
+
- MD files generated before 0.7.0 have no `file_hashes`; the first 0.7.0 run re-processes everything once, then subsequent runs are incremental.
|
|
21
|
+
- Zero extra files: MD-only output remains a single file.
|
|
22
|
+
|
|
23
|
+
### Cross-format resume (Issue 2)
|
|
24
|
+
- `_resolve_entry_and_docs` now checks for a same-stem `.md` sibling when a `.json` candidate does not exist (e.g. `--output codedoc/claude.json` after a previous run wrote `codedoc/claude.md`).
|
|
25
|
+
- `_load_existing_file_docs` checks the same-stem MD sibling before falling back to the configured MD filename.
|
|
26
|
+
|
|
27
|
+
### Warning when entry file not in scanned set (Issue 3)
|
|
28
|
+
- `_select_files` now logs a `WARNING` when the entry file exists on disk but is absent from the scanner's file map (unsupported extension, too large, in a skip directory).
|
|
29
|
+
|
|
30
|
+
### Removed dead `write_outputs` function (Issue 4)
|
|
31
|
+
- `codedoc/core/output.py`: removed the never-called `write_outputs()` backward-compat wrapper that still referenced removed fields (`id`, `format`, `last_processed`, `git_commit`, `author`). Unused `datetime`/`timezone` imports also removed.
|
|
32
|
+
|
|
33
|
+
### `--format both` with a named file is now a hard error (Issue 5)
|
|
34
|
+
- `_resolve_output_spec` raises `ConfigError` when `output_format` is `"both"` and a named file path is given. Previously this silently downgraded to a single format. The error message directs developers to use a directory path instead.
|
|
35
|
+
|
|
36
|
+
### Tests
|
|
37
|
+
- Added 5 regression tests covering all fixes above.
|
|
38
|
+
|
|
39
|
+
## 0.6.4 - 2026-05-24
|
|
40
|
+
|
|
41
|
+
- Removed `codedoc_db.json` entirely — the public `codedoc.json` output already stores `hash` per file, which is sufficient for incremental processing.
|
|
42
|
+
- Hash-based incremental check now compares `compute_file_hash(path)` against `existing_docs[rel].get("hash")` from the public JSON, replacing the DB lookup.
|
|
43
|
+
- Added `_deps` field per file in the public JSON: stores the raw `dependencies_analysis` dict so the dependency catalog can be fully rebuilt from unchanged files on the next incremental run without an LLM call. Not rendered in Markdown output.
|
|
44
|
+
- `_public_record_to_doc` now reads `_deps` back and sets it as `dependencies_analysis`; falls back to `links.external_dependencies` for old-format JSON files.
|
|
45
|
+
- No per-file checkpoint writes during a run — crash recovery now means re-running the affected files.
|
|
46
|
+
- Legacy cleanup: if `codedoc_db.json` exists in the output directory at run time, it is deleted and a log message is emitted.
|
|
47
|
+
- `codedoc/core/db.py` stripped to just the `compute_file_hash` utility; `CodeDocDB` class removed.
|
|
48
|
+
|
|
49
|
+
## 0.6.3 - 2026-05-24
|
|
50
|
+
|
|
51
|
+
- Trimmed `codedoc_db.json` to the minimum needed for incremental runs:
|
|
52
|
+
- Removed `history` array entirely — every field it contained (`file_path`, `processed_at`, `hash`, `author`) was already present in the `files` section, making it pure duplication. It was also never read anywhere in the pipeline.
|
|
53
|
+
- Removed `author` and `git_commit` fields from per-file DB entries — no longer stored in any output since 0.6.2, so they served no purpose in the cache.
|
|
54
|
+
- Removed git subprocess calls (`git rev-parse`, `git config user.name`) from the DB write path — nothing reads their output anymore, so there is no reason to shell out on every file write.
|
|
55
|
+
- Each DB entry now contains only: `hash`, `last_processed`, and (when present) `dependencies_analysis`.
|
|
56
|
+
- Existing `codedoc_db.json` files with the old format are migrated transparently on the next run (history is silently dropped).
|
|
57
|
+
|
|
58
|
+
## 0.6.2 - 2026-05-23
|
|
59
|
+
|
|
60
|
+
- Cleaned public output for better AI scannability (schema version 1.4):
|
|
61
|
+
- Removed `id` field per file (always identical to `hash` — pure duplication).
|
|
62
|
+
- Removed `last_processed` field per file (internal processing timestamp, not documentation content).
|
|
63
|
+
- Removed `state` field per file (always `"checked"` in public output — carries no signal).
|
|
64
|
+
- Removed `format` field per file (file extension is already in `path`; `language` covers the language name).
|
|
65
|
+
- Result: each file record is smaller and contains only documentation-relevant content.
|
|
66
|
+
- Markdown output no longer renders `**ID:**` or `**Format:**` header lines per file.
|
|
67
|
+
|
|
68
|
+
## 0.6.1 - 2026-05-23
|
|
69
|
+
|
|
70
|
+
- Improved run logging:
|
|
71
|
+
- Replaced animated file progress bars with stable log lines.
|
|
72
|
+
- Logs now show provider/model, configured file concurrency, file start events, completion percentage, and remaining file count.
|
|
73
|
+
- Format switches now log when an unselected public output file is removed.
|
|
74
|
+
- Parallel file processing is now visible in log output.
|
|
75
|
+
- Internal agent processing events demoted to debug level to reduce noise.
|
|
76
|
+
|
|
77
|
+
## 0.6.0 - 2026-05-23
|
|
78
|
+
|
|
79
|
+
- Added metadata-backed reruns:
|
|
80
|
+
- JSON output now includes a top-level `_codedoc` metadata block.
|
|
81
|
+
- Markdown output now includes a hidden `codedoc-ai` metadata comment.
|
|
82
|
+
- Stored metadata includes the entry file, schema version, and generation time.
|
|
83
|
+
- Subsequent runs can recover the entry file from a previously generated `.json` or `.md` documentation file.
|
|
84
|
+
- Changed first-run/resume behavior:
|
|
85
|
+
- First runs require an explicit entry file when no valid previous CodeDoc output is available.
|
|
86
|
+
- If no output path is provided, CodeDoc checks the default `codedoc/` folder for previous docs.
|
|
87
|
+
- Invalid or metadata-free documentation files now fail clearly instead of being treated as valid resume sources.
|
|
88
|
+
- Changed default generated output location from `docs_output/` to `codedoc/`.
|
|
89
|
+
- Kept JSON as the default public output format.
|
|
90
|
+
- Added support for output file paths:
|
|
91
|
+
- `--output docs/report.json` writes a named JSON file.
|
|
92
|
+
- `--output docs/report.md` writes a named Markdown file.
|
|
93
|
+
- File extension now determines the selected output format for explicit file paths.
|
|
94
|
+
- Unsupported output file extensions now raise a configuration error.
|
|
95
|
+
- Moved the incremental cache into the selected output directory:
|
|
96
|
+
- `codedoc_db.json` is now stored beside generated docs.
|
|
97
|
+
- Existing root-level `codedoc_db.json` files are migrated into the output directory when possible.
|
|
98
|
+
- Improved output cleanup:
|
|
99
|
+
- Default managed files (`codedoc.json`, `codedoc.md`) are removed when switching formats.
|
|
100
|
+
- Legacy per-file outputs such as `main.py.json` and `main.py.md` are cleaned up.
|
|
101
|
+
- Custom-named output files are preserved across runs.
|
|
102
|
+
- Simplified provider mode support for this release:
|
|
103
|
+
- Active providers are OpenAI/OpenAI-compatible, Anthropic, and Gemini.
|
|
104
|
+
- Local provider code remains in the package but is not exposed through the CLI/factory in 0.6.0.
|
|
105
|
+
- Removed `--llm` / `LLM_MODE` from the documented public workflow.
|
|
106
|
+
- Improved provider implementations:
|
|
107
|
+
- Reused Anthropic clients instead of creating a client per request.
|
|
108
|
+
- Added native JSON-mode handling for OpenAI and Gemini where available.
|
|
109
|
+
- Improved Gemini system-instruction handling.
|
|
110
|
+
- Updated CLI help, README, and version metadata for the 0.6.0 workflow.
|
|
111
|
+
- Added regression coverage for:
|
|
112
|
+
- Missing entry plus missing docs raising a clear configuration error.
|
|
113
|
+
- Resuming from existing JSON metadata.
|
|
114
|
+
- Custom output filename behavior.
|
|
115
|
+
- JSON remaining the default format.
|
|
116
|
+
- Cache/output cleanup and metadata preservation.
|
|
117
|
+
|
|
118
|
+
## 0.5.2 - 2026-05-13
|
|
119
|
+
|
|
120
|
+
- Fixed cache structure duplication issues in generated documentation output.
|
|
121
|
+
- Improved dependency/import resolution to prevent incorrect file mappings and false dependency relationships.
|
|
122
|
+
- Cleaned and normalized public dependency output generation.
|
|
123
|
+
- Reduced noisy dependency cycles in generated Markdown and JSON outputs.
|
|
124
|
+
- Added regression coverage for cache structure and dependency resolution behavior.
|
|
125
|
+
|
|
126
|
+
## 0.5.1 - 2026-05-13
|
|
127
|
+
|
|
128
|
+
- Cleaned generated cache and public JSON by pruning empty arrays, empty objects, nulls, and duplicate nested fields.
|
|
129
|
+
- Removed the top-level cache `version` field from newly written `codedoc_db.json`.
|
|
130
|
+
- Improved Markdown-to-JSON conversion so it no longer recreates empty default sections.
|
|
131
|
+
- Tightened agent prompts to avoid placeholder package names and empty output fields.
|
|
132
|
+
|
|
133
|
+
## 0.5.0 - 2026-05-13
|
|
134
|
+
|
|
135
|
+
- Promoted `codedoc-ai` to the 0.5.0 feature line.
|
|
136
|
+
- Added bounded file-level parallelism:
|
|
137
|
+
- Processes up to 5 files at a time by default.
|
|
138
|
+
- Adds `--max-parallel-files N` for CLI control.
|
|
139
|
+
- Adds `max_parallel_files`, `file_retry_attempts`, and `max_consecutive_failures` config options.
|
|
140
|
+
- Added sequential retry fallback for files that fail during parallel execution.
|
|
141
|
+
- Added provider/API health diagnostics when repeated file processing failures suggest bad credentials, rate limits, model errors, network issues, or provider downtime.
|
|
142
|
+
- Kept cache writes ordered and centralized so `codedoc_db.json` remains structured even when files are processed concurrently.
|
|
143
|
+
- Added AI-friendly dependency cataloging:
|
|
144
|
+
- File-level dependencies remain on each file.
|
|
145
|
+
- AI can suggest `catalog_updates` internally.
|
|
146
|
+
- Public output receives a merged `dependency_catalog`.
|
|
147
|
+
- Repeated dependency explanations are deduplicated across JSON and Markdown.
|
|
148
|
+
- Added deterministic JSON/Markdown conversion helpers so public JSON can become Markdown without another AI call, and generated Markdown can be parsed back into the public JSON shape.
|
|
149
|
+
- Clarified DependencyAgent output so generic import notes stay out of repeated file records unless they are file-specific.
|
|
150
|
+
- Added Google Gemini support through the official `google-genai` SDK.
|
|
151
|
+
- Added `llm_provider` config and `--provider auto|openai|anthropic|gemini` CLI selection.
|
|
152
|
+
- Expanded README with Codex/AI-agent analysis covering token savings, hallucination reduction, complex edit safety, and recommended workflows.
|
|
153
|
+
- Added tests for:
|
|
154
|
+
- File-level parallel processing.
|
|
155
|
+
- Retry behavior.
|
|
156
|
+
- Dependency catalog output.
|
|
157
|
+
- JSON/Markdown conversion.
|
|
158
|
+
- Format switching from cache.
|
|
159
|
+
|
|
160
|
+
## 0.1.4 - 2026-05-02
|
|
161
|
+
|
|
162
|
+
- Redesigned **public output structure** for cleaner, AI-friendly documentation.
|
|
163
|
+
- Separated **internal cache (`codedoc_db.json`)** from **public output (`codedoc.json` / `codedoc.md`)**.
|
|
164
|
+
- Added **project-level overview** including entry file, file count, languages, and folder summary.
|
|
165
|
+
- Added **project tree visualization** in both JSON and Markdown outputs.
|
|
166
|
+
- Added **folder-based grouping** with summarized purpose and file listings.
|
|
167
|
+
- Introduced **dependency graph** with internal file relationships and external dependencies.
|
|
168
|
+
- Flattened file structure in public output:
|
|
169
|
+
- Removed nested and duplicated `result` / `documentation` blocks.
|
|
170
|
+
- Consolidated descriptions, roles, functions, classes, and exports into a single clean structure.
|
|
171
|
+
- Added **file-level linking metadata**:
|
|
172
|
+
- `internal_dependencies`
|
|
173
|
+
- `external_dependencies`
|
|
174
|
+
- `imported_by`
|
|
175
|
+
- Removed **author and git metadata** from public output by default.
|
|
176
|
+
- Improved **Markdown output (`--format md`)**:
|
|
177
|
+
- Added Project Overview, Tree, Folder Map, Dependency Map, and structured file summaries.
|
|
178
|
+
- Ensured **format-specific output behavior**:
|
|
179
|
+
- `--format md` → only `codedoc.md`
|
|
180
|
+
- `--format json` → only `codedoc.json`
|
|
181
|
+
- `--format both` → both files
|
|
182
|
+
- Added **clear CLI and pipeline logging**:
|
|
183
|
+
- Displays selected output format
|
|
184
|
+
- Displays exact output file path
|
|
185
|
+
- Added **BOM-safe file reading (`utf-8-sig`)** across Python, JS/TS, and generic parsers.
|
|
186
|
+
- Ensured **language-agnostic processing** (no Python-only assumptions).
|
|
187
|
+
- Added tests for:
|
|
188
|
+
- New public output structure
|
|
189
|
+
- Markdown generation
|
|
190
|
+
- Dependency graph presence
|
|
191
|
+
- Cross-language compatibility (including TS/TSX)
|
|
192
|
+
- Cleaned up public output by removing:
|
|
193
|
+
- Cache history
|
|
194
|
+
- Raw agent responses
|
|
195
|
+
- Redundant description fields
|
|
196
|
+
|
|
197
|
+
## 0.1.3 - 2026-05-02
|
|
198
|
+
|
|
199
|
+
- Changed generated docs to one combined JSON file by default.
|
|
200
|
+
- Added `--format json|md|both` output selection.
|
|
201
|
+
- Added smart content-hash reuse for unchanged and duplicate files.
|
|
202
|
+
- Added cache-based output regeneration when selected docs are missing.
|
|
203
|
+
- Redesigned public output with project overview, tree, folder map, dependency graph, and flattened file summaries.
|
|
204
|
+
- Removed local author metadata and raw agent result duplication from public output.
|
|
205
|
+
- Expanded public README with provider setup, defaults, config, output, and cache behavior.
|
|
206
|
+
|
|
207
|
+
## 0.1.1 - 2026-05-01
|
|
208
|
+
|
|
209
|
+
- Added safer default scanning for virtual environments such as `myenv`.
|
|
210
|
+
- Added configurable `skip_dirs`.
|
|
211
|
+
- Added strict project-relative ignore paths through CLI, config, environment, and Python API.
|
|
212
|
+
- Added `--ignore PATH` CLI option.
|
|
213
|
+
- Added scanner tests for virtual environment and strict path ignores.
|
|
214
|
+
- Fixed misleading API key warning when CLI overrides select local LLM mode.
|
|
215
|
+
|
|
216
|
+
## 0.1.0 - 2026-05-01
|
|
217
|
+
|
|
218
|
+
- Initial alpha release.
|
|
219
|
+
- Added entry-file dependency traversal.
|
|
220
|
+
- Added local and API LLM provider support.
|
|
221
|
+
- Added per-file Markdown and JSON output.
|
|
222
|
+
- Added `_index.json`, `_summary.md`, and incremental `codedoc_db.json` memory.
|
|
223
|
+
- Added CLI and Python API entry points.
|