{"id":29729151,"url":"https://github.com/ever0de/fcat-rs","last_synced_at":"2026-07-03T21:03:48.607Z","repository":{"id":304935410,"uuid":"1020579031","full_name":"ever0de/fcat-rs","owner":"ever0de","description":"The CLI tool for turning your codebase into a single, copy-pasteable context for LLMs","archived":false,"fork":false,"pushed_at":"2025-07-16T07:50:23.000Z","size":32,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-17T08:20:40.743Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ever0de.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-16T05:05:38.000Z","updated_at":"2025-07-16T11:24:49.000Z","dependencies_parsed_at":"2025-07-17T13:09:49.968Z","dependency_job_id":"a247cb84-4e56-4e9a-9f39-f5f25405e1ba","html_url":"https://github.com/ever0de/fcat-rs","commit_stats":null,"previous_names":["ever0de/fcat-rs"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/ever0de/fcat-rs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ever0de%2Ffcat-rs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ever0de%2Ffcat-rs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ever0de%2Ffcat-rs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ever0de%2Ffcat-rs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ever0de","download_url":"https://codeload.github.com/ever0de/fcat-rs/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ever0de%2Ffcat-rs/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266950860,"owners_count":24011471,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-25T02:00:09.625Z","response_time":70,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-07-25T03:33:43.314Z","updated_at":"2025-10-23T07:33:07.354Z","avatar_url":"https://github.com/ever0de.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# fcat\n\n`fcat` is a command-line utility that recursively scans directories, processes files, and consolidates the contents of all found files into a single text file or directly to your clipboard.\n\nIt's designed to make it easy to gather project context, create source code archives, or generate project overviews. Its primary use case is to quickly create a single context file that can be pasted into a prompt for a Large Language Model (LLM), providing the AI with the full context of a project.\n\n## Installation\n\n### Cargo\n\nTODO:\n\n### From Source\n\nAlternatively, you can build it from the source code:\n\n1.  Clone the repository:\n\n    ```bash\n    git clone https://github.com/ever0de/fcat-rs.git\n    cd fcat-rs\n    ```\n\n2.  Build and install the binary:\n\n    ```bash\n    cargo install --path .\n    ```\n\n## Usage\n\nThe basic command structure is simple:\n\n```bash\nfcat [OPTIONS] \u003cPATHS\u003e...\n```\n\n### Arguments\n\n| Argument | Description                                                                                              |\n| -------- | -------------------------------------------------------------------------------------------------------- |\n| `\u003cPATHS\u003e...` | One or more paths to target directories or files. Supports shell-expanded glob patterns (e.g., `src/**/*.rs`). |\n\n### Options\n\n| Option                 | Short | Description                                                        | Default       |\n| ---------------------- | ----- | ------------------------------------------------------------------ | ------------- |\n| `--output-file`        | `-o`  | The path for the output file.                                      | `bundler.txt` |\n| `--clipboard`          | `-c`  | Copy the output directly to the clipboard instead of a file.       | (disabled)    |\n| `--exclude-dir`        | `-e`  | A specific directory to exclude from the scan.                     | (none)        |\n| `--no-default-ignores` |       | Disables the default ignore list (includes `.git`, `target`, etc.). | (disabled)    |\n| `--help`               | `-h`  | Print help information.                                            |               |\n| `--version`            | `-V`  | Print version information.                                         |               |\n\n### Examples\n\n**1. Copy Current Directory to Clipboard**\n\nThis is the most common use case. Run this command in your project's root directory. It will bundle the project's contents and copy the result directly to your clipboard.\n\n```bash\nfcat . -c\n```\n\n**2. Select Specific Files and Directories**\n\nYou can specify multiple paths. For example, to bundle all files in the `src` directory and the `Cargo.toml` file:\n\n```bash\nfcat src Cargo.toml -c\n```\n\n**3. Use Glob Patterns to Select Files**\n\nUse your shell's globbing capabilities to select files with specific patterns. For example, to bundle all `.rs` files in the `src` directory and the `Cargo.toml` file:\n\n```bash\nfcat src/**/*.rs Cargo.toml -c\n```\n\n*(Note: Glob pattern behavior may vary slightly depending on your shell, e.g., zsh, bash.)*\n\n\n**4. Generate an Output File**\n\nIf you prefer to save the context to a file, omit the `-c` or `--clipboard` flag. This command will create a `bundler.txt` file.\n\n```bash\nfcat .\n```\n\n**5. Exclude an Additional Directory**\n\nBundle the project but also ignore the `docs` folder, in addition to the default ignores.\n\n```bash\nfcat . -c --exclude-dir ./docs\n```\n\n## Output Format\n\n`fcat` wraps the content of each file with a simple header and footer indicating the file's path. This makes the resulting bundle easy to read and parse.\n\n**Example output:**\n\n```text\n\u003csrc/main.rs\u003e\nfn main() {\n    println!(\"Hello from main!\");\n}\n\u003csrc/main.rs/\u003e\n\n\u003csrc/lib.rs\u003e\npub fn a_helpful_function() -\u003e bool {\n    true\n}\n\u003csrc/lib.rs/\u003e\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fever0de%2Ffcat-rs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fever0de%2Ffcat-rs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fever0de%2Ffcat-rs/lists"}