Skip to content

Code2Prompt basic usage

Guide Overview

Welcome to the Code2Prompt usage guide.

Generate a prompt from a codebase:

Terminal window
code2prompt path/to/codebase

Generate a prompt and copy it to the clipboard:

Terminal window
code2prompt path/to/codebase -c

Launch the interactive TUI:

Terminal window
code2prompt path/to/codebase --tui

Display the token-map

Terminal window
code2prompt path/to/codebase --token-map

Use a custom Handlebars template file:

Terminal window
code2prompt path/to/codebase -t path/to/template.hbs

Filter files using glob patterns:

Terminal window
code2prompt path/to/codebase --include="*.rs,*.toml"

Exclude files using glob patterns:

Terminal window
code2prompt path/to/codebase --exclude="*.txt,*.md"

Exclude files/folders from the source tree based on exclude patterns:

Terminal window
code2prompt path/to/codebase --exclude="*.npy,*.wav" --exclude-from-tree

Display the token count of the generated prompt:

Terminal window
code2prompt path/to/codebase --tokens

Specify a tokenizer for token count:

Terminal window
code2prompt path/to/codebase --tokens --encoding=p50k

Supported tokenizers: cl100k, p50k, p50k_edit, r50k_bas.

Save the generated prompt to an output file:

Terminal window
code2prompt path/to/codebase -O output.txt

Print output as XML:

Terminal window
code2prompt path/to/codebase -F JSON

The JSON output will have the following structure:

{
"prompt": "<Generated Prompt>",
"directory_name": "codebase",
"token_count": 1234,
"model_info": "ChatGPT models, text-embedding-ada-002",
"files": []
}

Generate a Git commit message (for staged files):

Terminal window
code2prompt path/to/codebase --diff -t templates/write-git-commit.hbs

Generate a Pull Request with branch comparing (for staged files):

Terminal window
code2prompt path/to/codebase --git-diff-branch 'main, development' --git-log-branch 'main, development' -t templates/write-github-pull-request.hbs

Add line numbers to source code blocks:

Terminal window
code2prompt path/to/codebase --line-number

Disable wrapping code inside markdown code blocks:

Terminal window
code2prompt path/to/codebase --no-codeblock

Code2prompt is a nice way to generate prompts in a token efficient way. It can be practical for a variety of use cases, such as:

  • Rewrite the code to another language.
  • Find bugs/security vulnerabilities.
  • Document the code.
  • Implement new features.