From 96aef57a70b90176befd7a5a7f920dae1bcd1cfe Mon Sep 17 00:00:00 2001 From: 7000pctAUTO Date: Thu, 29 Jan 2026 16:50:11 +0000 Subject: [PATCH] Initial commit: Add code-doc-cli project --- .README.md | 183 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 183 insertions(+) create mode 100644 .README.md diff --git a/.README.md b/.README.md new file mode 100644 index 0000000..849b17f --- /dev/null +++ b/.README.md @@ -0,0 +1,183 @@ +# code-doc-cli + +A CLI tool that automatically extracts documentation from code comments, function signatures, and type annotations to generate clean Markdown documentation. Supports Python, TypeScript, and Go with CI/CD integration capabilities. + +## Features + +- Multi-language Support: Parse Python, TypeScript, and Go source files +- Smart Comment Detection: Extract Google-style, JSDoc, and GoDoc comments +- Markdown Generation: Create well-structured documentation with syntax highlighting +- CI/CD Integration: Exit codes and flags for pipeline integration +- Configuration File: Customize behavior with `code-doc.toml` +- JSON Output: Machine-readable output for tooling integration + +## Installation + +### From Source + +```bash +pip install -e . +``` + +### From PyPI + +```bash +pip install code-doc-cli +``` + +## Quick Start + +Generate documentation for a single file: + +```bash +code-doc generate myfile.py +``` + +Generate documentation for an entire project: + +```bash +code-doc generate /path/to/project +``` + +Generate documentation and save to a file: + +```bash +code-doc generate -o docs/API.md /path/to/project +``` + +## Usage + +### Basic Commands + +```bash +# Generate documentation +code-doc generate + +# List supported languages +code-doc languages + +# Initialize configuration +code-doc init + +# Show version +code-doc version +``` + +### Options + +| Option | Description | +|--------|-------------| +| `--config, -c` | Path to configuration file | +| `--language, -l` | Programming language (python, typescript, go, auto) | +| `--output, -o` | Output file path | +| `--format, -f` | Output format (markdown, json) | +| `--fail-on-warning` | Exit with error code on warnings | +| `--exclude` | Exclude patterns | +| `--include-private` | Include private members | +| `--pattern, -p` | File patterns to match | + +### Examples + +Generate Python documentation: + +```bash +code-doc generate --language python src/ +``` + +Generate with JSON output: + +```bash +code-doc generate --format json src/ > docs.json +``` + +Exclude test files: + +```bash +code-doc generate --exclude "**/test_*.py" src/ +``` + +## Configuration + +Create a `code-doc.toml` file in your project root: + +```toml +[tool.code-doc] +input_patterns = ["**/*.py", "**/*.ts", "**/*.go"] +output_file = "docs/API.md" +language = "auto" +template_style = "default" +syntax_highlighting = true +theme = "default" +fail_on_warning = false +exclude_patterns = ["**/test_*", "**/*_test.go"] +include_private = false +output_format = "markdown" +``` + +### Configuration Options + +| Option | Description | Default | +|--------|-------------|---------| +| `input_patterns` | File patterns to include | All supported files | +| `output_file` | Output file path | stdout | +| `language` | Language to parse | auto-detect | +| `template_style` | Template style | default | +| `syntax_highlighting` | Enable syntax highlighting | true | +| `theme` | Syntax highlighting theme | default | +| `fail_on_warning` | Exit with error on warnings | false | +| `exclude_patterns` | Patterns to exclude | [] | +| `include_private` | Include private members | false | +| `output_format` | Output format | markdown | + +## CI/CD Integration + +### Exit Codes + +| Code | Description | +|------|-------------| +| 0 | Success | +| 1 | No source files found | +| 2 | Parse error | +| 3 | Invalid configuration | +| 4 | Warning (with --fail-on-warning) | + +## Supported Languages + +### Python + +Supports: +- Google-style docstrings +- NumPy-style docstrings +- Type annotations +- Class methods and attributes +- Decorators + +### TypeScript/JavaScript + +Supports: +- JSDoc comments +- TypeScript type signatures +- Interfaces +- Classes and methods +- Type annotations + +### Go + +Supports: +- GoDoc comments +- Function signatures +- Structs and interfaces +- Method receivers +- Type annotations + +## Contributing + +1. Fork the repository +2. Create a feature branch +3. Make your changes +4. Run tests: `pytest tests/ -v` +5. Submit a pull request + +## License + +MIT License \ No newline at end of file