Name | srcs2md JSON |
Version |
0.1.0
JSON |
| download |
home_page | None |
Summary | A CLI utility to generate markdown files from source code using glob patterns |
upload_time | 2025-08-04 09:32:46 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.8 |
license | MIT |
keywords |
context
documentation
llm
markdown
source-code
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# srcs2md
A CLI utility to generate markdown files from source code using glob patterns. Perfect for creating context files for LLM models.
## Installation
```bash
pip install -e .
```
Or with development dependencies:
```bash
pip install -e ".[dev]"
```
## Usage
### Basic Usage
1. Create a configuration file:
```bash
srcs2md --init
```
2. Edit `srcs2md.yaml` to specify your source patterns
3. Generate markdown:
```bash
srcs2md # Output to stdout
srcs2md -o output.md # Output to file
```
### Configuration File
The default configuration file `srcs2md.yaml` supports:
- **Header**: Include README content or custom text at the top
- **Patterns**: Glob patterns with language specification
- **Ignore**: Files/patterns to exclude
- **Output**: Formatting options
Example configuration:
```yaml
header:
include_file: "README.md"
custom_text: |
## Source codes
This section contains source code files.
patterns:
- pattern: "src/**/*.py"
language: python
description: "Python source files"
- pattern: "src/**/*.rs"
language: rust
description: "Rust source files"
ignore:
- "**/__pycache__/**"
- "**/.git/**"
- "**/*.pyc"
output:
include_paths: true
sort_files: true
```
### Command Line Options
- `-c, --config PATH`: Specify configuration file (default: srcs2md.yaml)
- `-o, --output PATH`: Output file (default: stdout)
- `-p, --pattern PATTERN`: Add file pattern in format 'pattern;language' (can be used multiple times)
- `--no-config`: Skip configuration file entirely, use only command-line options
- `--init`: Create default configuration file
- `--version`: Show version
### Pattern Examples
```bash
# Use configuration file patterns
srcs2md
# Add additional patterns to default config file (srcs2md.yaml) patterns
srcs2md -p "src/**/*.py;python" -p "*.md;markdown"
# Use only command line patterns (no config file needed)
srcs2md -p "src/**/*.rs;rust" -p "tests/**/*.rs;rust" -o output.md
# Mix config file and command line patterns
srcs2md -c custom.yaml -p "scripts/*.sh;bash"
# Skip config file entirely (even if srcs2md.yaml exists)
srcs2md --no-config -p "*.py;python" -p "*.rs;rust"
```
## Development
Install development dependencies:
```bash
pip install -e ".[dev]"
```
Run linting and type checking:
```bash
ruff check .
ruff format .
mypy srcs2md/
```
## License
MIT
Raw data
{
"_id": null,
"home_page": null,
"name": "srcs2md",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "context, documentation, llm, markdown, source-code",
"author": null,
"author_email": "larme <dev@zsy.im>",
"download_url": "https://files.pythonhosted.org/packages/fa/eb/067f611f20aef7a22b30e7b409b1cfe4a7ed5e3cceb2908ccf0abb3568bd/srcs2md-0.1.0.tar.gz",
"platform": null,
"description": "# srcs2md\n\nA CLI utility to generate markdown files from source code using glob patterns. Perfect for creating context files for LLM models.\n\n## Installation\n\n```bash\npip install -e .\n```\n\nOr with development dependencies:\n\n```bash\npip install -e \".[dev]\"\n```\n\n## Usage\n\n### Basic Usage\n\n1. Create a configuration file:\n ```bash\n srcs2md --init\n ```\n\n2. Edit `srcs2md.yaml` to specify your source patterns\n\n3. Generate markdown:\n ```bash\n srcs2md # Output to stdout\n srcs2md -o output.md # Output to file\n ```\n\n### Configuration File\n\nThe default configuration file `srcs2md.yaml` supports:\n\n- **Header**: Include README content or custom text at the top\n- **Patterns**: Glob patterns with language specification\n- **Ignore**: Files/patterns to exclude\n- **Output**: Formatting options\n\nExample configuration:\n\n```yaml\nheader:\n include_file: \"README.md\"\n custom_text: |\n ## Source codes\n \n This section contains source code files.\n\npatterns:\n - pattern: \"src/**/*.py\"\n language: python\n description: \"Python source files\"\n \n - pattern: \"src/**/*.rs\"\n language: rust\n description: \"Rust source files\"\n\nignore:\n - \"**/__pycache__/**\"\n - \"**/.git/**\"\n - \"**/*.pyc\"\n\noutput:\n include_paths: true\n sort_files: true\n```\n\n### Command Line Options\n\n- `-c, --config PATH`: Specify configuration file (default: srcs2md.yaml)\n- `-o, --output PATH`: Output file (default: stdout)\n- `-p, --pattern PATTERN`: Add file pattern in format 'pattern;language' (can be used multiple times)\n- `--no-config`: Skip configuration file entirely, use only command-line options\n- `--init`: Create default configuration file\n- `--version`: Show version\n\n### Pattern Examples\n\n```bash\n# Use configuration file patterns\nsrcs2md\n\n# Add additional patterns to default config file (srcs2md.yaml) patterns\nsrcs2md -p \"src/**/*.py;python\" -p \"*.md;markdown\"\n\n# Use only command line patterns (no config file needed)\nsrcs2md -p \"src/**/*.rs;rust\" -p \"tests/**/*.rs;rust\" -o output.md\n\n# Mix config file and command line patterns\nsrcs2md -c custom.yaml -p \"scripts/*.sh;bash\"\n\n# Skip config file entirely (even if srcs2md.yaml exists)\nsrcs2md --no-config -p \"*.py;python\" -p \"*.rs;rust\"\n```\n\n## Development\n\nInstall development dependencies:\n\n```bash\npip install -e \".[dev]\"\n```\n\nRun linting and type checking:\n\n```bash\nruff check .\nruff format .\nmypy srcs2md/\n```\n\n## License\n\nMIT\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A CLI utility to generate markdown files from source code using glob patterns",
"version": "0.1.0",
"project_urls": null,
"split_keywords": [
"context",
" documentation",
" llm",
" markdown",
" source-code"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "14f24489be3b0ee77b3fa9e487d2d6255cdbed5e3880d443c65e2e1aad7cc44b",
"md5": "fecc47ac1f559725e4d7b3f5d5e9399b",
"sha256": "423ad5196cfc674b6491407358cb0dfee6f17f60c0c52db93d4d786511802de4"
},
"downloads": -1,
"filename": "srcs2md-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "fecc47ac1f559725e4d7b3f5d5e9399b",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 7015,
"upload_time": "2025-08-04T09:32:44",
"upload_time_iso_8601": "2025-08-04T09:32:44.871863Z",
"url": "https://files.pythonhosted.org/packages/14/f2/4489be3b0ee77b3fa9e487d2d6255cdbed5e3880d443c65e2e1aad7cc44b/srcs2md-0.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "faeb067f611f20aef7a22b30e7b409b1cfe4a7ed5e3cceb2908ccf0abb3568bd",
"md5": "c4fd1b33f8a2b6a838e04ddb05cd4bed",
"sha256": "be999a5815993eb97b31a30c3c0de1bab33f50dc459099a171e26867fc37bd2d"
},
"downloads": -1,
"filename": "srcs2md-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "c4fd1b33f8a2b6a838e04ddb05cd4bed",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 6285,
"upload_time": "2025-08-04T09:32:46",
"upload_time_iso_8601": "2025-08-04T09:32:46.253714Z",
"url": "https://files.pythonhosted.org/packages/fa/eb/067f611f20aef7a22b30e7b409b1cfe4a7ed5e3cceb2908ccf0abb3568bd/srcs2md-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-04 09:32:46",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "srcs2md"
}