rename: archdoc → wtismycode (WTIsMyCode)

This commit is contained in:
2026-02-15 12:12:33 +03:00
parent 136697caf0
commit f4f8b8fa34
87 changed files with 244 additions and 212 deletions

View File

@@ -1,4 +1,4 @@
# ArchDoc
# WTIsMyCode
![Rust](https://img.shields.io/badge/Rust-1.85%2B-orange?logo=rust)
![License](https://img.shields.io/badge/License-MIT-blue)
@@ -6,7 +6,7 @@
**Automatic architecture documentation generator for Python projects.**
ArchDoc analyzes your Python codebase using AST parsing and generates comprehensive Markdown documentation covering module structure, dependencies, integration points, and critical hotspots.
WTIsMyCode analyzes your Python codebase using AST parsing and generates comprehensive Markdown documentation covering module structure, dependencies, integration points, and critical hotspots.
## Features
@@ -15,7 +15,7 @@ ArchDoc analyzes your Python codebase using AST parsing and generates comprehens
- **Integration Detection** — Automatically identifies HTTP, database, and message queue integrations
- **Diff-Aware Updates** — Preserves manually written sections while regenerating docs
- **Caching** — Content-hash based caching for fast incremental regeneration
- **Config Validation** — Comprehensive validation of `archdoc.toml` with helpful error messages
- **Config Validation** — Comprehensive validation of `wtismycode.toml` with helpful error messages
- **Statistics** — Project-level stats: file counts, symbol counts, fan-in/fan-out metrics
- **Consistency Checks** — Verify documentation stays in sync with code changes
@@ -24,33 +24,33 @@ ArchDoc analyzes your Python codebase using AST parsing and generates comprehens
Requires Rust 1.85+:
```bash
cargo install --path archdoc-cli
cargo install --path wtismycode-cli
```
## Quick Start
```bash
# Initialize config in your Python project
archdoc init
wtismycode init
# Generate architecture docs
archdoc generate
wtismycode generate
# View project statistics
archdoc stats
wtismycode stats
# Check docs are up-to-date
archdoc check
wtismycode check
```
## Commands
### `archdoc generate`
### `wtismycode generate`
Scans the project, analyzes Python files, and generates documentation:
```
$ archdoc generate
$ wtismycode generate
🔍 Scanning project...
📂 Found 24 Python files in 6 modules
🔬 Analyzing dependencies...
@@ -65,12 +65,12 @@ Output includes:
- **Integration map** — HTTP, database, and queue integration points
- **Critical points** — High fan-in/fan-out symbols and dependency cycles
### `archdoc stats`
### `wtismycode stats`
Displays project statistics without generating docs:
```
$ archdoc stats
$ wtismycode stats
📊 Project Statistics
Files: 24
Modules: 6
@@ -80,29 +80,29 @@ $ archdoc stats
Edges: 134
```
### `archdoc check`
### `wtismycode check`
Verifies documentation consistency with the current codebase:
```
$ archdoc check
$ wtismycode check
✅ Documentation is up-to-date
```
Returns non-zero exit code if docs are stale — useful in CI pipelines.
### `archdoc init`
### `wtismycode init`
Creates a default `archdoc.toml` configuration file:
Creates a default `wtismycode.toml` configuration file:
```
$ archdoc init
✅ Created archdoc.toml with default settings
$ wtismycode init
✅ Created wtismycode.toml with default settings
```
## Configuration Reference
ArchDoc is configured via `archdoc.toml`:
WTIsMyCode is configured via `wtismycode.toml`:
| Section | Key | Default | Description |
|---------|-----|---------|-------------|
@@ -125,7 +125,7 @@ ArchDoc is configured via `archdoc.toml`:
| `thresholds` | `critical_fan_in` | `20` | Fan-in threshold for critical symbols |
| `thresholds` | `critical_fan_out` | `20` | Fan-out threshold for critical symbols |
| `caching` | `enabled` | `true` | Enable analysis caching |
| `caching` | `cache_dir` | `".archdoc/cache"` | Cache directory |
| `caching` | `cache_dir` | `".wtismycode/cache"` | Cache directory |
| `caching` | `max_cache_age` | `"24h"` | Cache TTL (supports s, m, h, d, w) |
### Example Configuration
@@ -172,12 +172,12 @@ max_cache_age = "24h"
## Architecture
```
archdoc/
├── archdoc-cli/ # CLI binary (commands, output formatting)
wtismycode/
├── wtismycode-cli/ # CLI binary (commands, output formatting)
│ └── src/
│ ├── main.rs
│ └── commands/ # generate, check, stats, init
├── archdoc-core/ # Core library
├── wtismycode-core/ # Core library
│ └── src/
│ ├── config.rs # Config loading & validation
│ ├── scanner.rs # File discovery