srcs2md


Namesrcs2md JSON
Version 0.1.0 PyPI version JSON
download
home_pageNone
SummaryA CLI utility to generate markdown files from source code using glob patterns
upload_time2025-08-04 09:32:46
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseMIT
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"
}
        
Elapsed time: 1.49233s