Configuration¶
Anything beyond the command-line flags is set in a folder2md.yaml file placed in the directory you process. The tool searches for folder2md.yaml in that directory and walks up its parent directories. Point at a specific file with --config <file>.
The keys below are the full set the tool reads, with their default values. This is the same content produced by the tool's own template, so it stays in sync with the installed version.
Output¶
# Output format: markdown, html, or plain
output_format: markdown
# Include the folder structure tree
include_tree: true
# Include repository statistics
include_stats: true
# Syntax highlighting fences in the output
syntax_highlighting: true
Condensing¶
# Condense Python files to signatures and docstrings
condense_python: false
# Python condensing mode: signatures, signatures_with_docstrings, structure
python_condense_mode: signatures_with_docstrings
# Condense other code files (JS, TS, Java, etc.) to signatures
condense_code: false
# Code condensing mode: signatures, signatures_with_docstrings, structure
code_condense_mode: signatures_with_docstrings
# Languages to condense (or "all")
condense_languages: [js, ts, java, json, yaml]
Smart condensing (anti-truncation)¶
# Enable intelligent, budget-aware processing
smart_condensing: false
# Budget strategy: conservative, balanced, aggressive
token_budget_strategy: balanced
# Analyse content priority automatically
priority_analysis: true
# Apply condensing progressively based on available budget
progressive_condensing: true
# Glob patterns for files that must never be condensed
critical_files: []
Token and size limits¶
# Optional limits for LLM workflows (null = no limit)
token_limit: null
char_limit: null
# Token estimation method: conservative, average, optimistic
token_estimation_method: average
# Token counting: tiktoken, average, conservative, optimistic
token_counting_method: tiktoken
# Target model for tiktoken encoding
target_model: gpt-4
# Maximum size of an individual file to process (bytes); default 100MB
max_file_size: 104857600
file_size_limit: 104857600
# Memory ceiling for streaming (MB)
max_memory_mb: 1024
Documents¶
# Convert documents (PDF, DOCX, XLSX, etc.) to text
convert_docs: true
# Describe binary files instead of embedding raw bytes
describe_binaries: true
# Document conversion caps
pdf_max_pages: 50
xlsx_max_sheets: 10
notebook_max_cells: 200
notebook_include_outputs: true
Filtering and performance¶
# Honour .gitignore files
use_gitignore: true
# Parallel workers
max_workers: 4
# Progress bar during processing
progress_bar: true
Updates and output detection¶
# Automatic update checking
update_check_enabled: true
update_check_interval: 86400 # seconds (24h)
# Detect and offer to ignore an existing folder2md output file
auto_ignore_output: true
Ignore files vs config¶
Config controls how files are processed. Which files are processed is decided by:
.gitignore(honoured whenuse_gitignore: true)..folder2md_ignore, a gitignore-style file you scaffold withfolder2md --init-ignoreand then edit.
There are no include_patterns / exclude_patterns config keys; use the ignore files instead.