{"id":21832663,"url":"https://github.com/tool3/shellfie-cli","last_synced_at":"2026-04-30T13:01:04.901Z","repository":{"id":341300475,"uuid":"1168711761","full_name":"tool3/shellfie-cli","owner":"tool3","description":"Transform your terminal output into beautiful SVG screenshots, directly from the command line.","archived":false,"fork":false,"pushed_at":"2026-04-21T17:46:23.000Z","size":1094,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-04-21T18:28:38.926Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tool3.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-27T17:55:50.000Z","updated_at":"2026-04-21T17:46:25.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/tool3/shellfie-cli","commit_stats":null,"previous_names":["tool3/shellfie-cli"],"tags_count":28,"template":false,"template_full_name":null,"purl":"pkg:github/tool3/shellfie-cli","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tool3%2Fshellfie-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tool3%2Fshellfie-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tool3%2Fshellfie-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tool3%2Fshellfie-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tool3","download_url":"https://codeload.github.com/tool3/shellfie-cli/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tool3%2Fshellfie-cli/sbom","scorecard":{"id":1244147,"data":{"date":"2026-02-23","repo":{"name":"github.com/tool3/shellfie-cli","commit":"63c6871a67d276d6cdfbddfbe3516670aa9d4d4a"},"scorecard":{"version":"v5.4.1-0.20260213160620-4eda2f56f70f","commit":"4eda2f56f70fa619b8785a63deb68aac8e3538ff"},"score":2.8,"checks":[{"name":"Code-Review","score":0,"reason":"Found 0/22 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/4eda2f56f70fa619b8785a63deb68aac8e3538ff/docs/checks.md#code-review"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/4eda2f56f70fa619b8785a63deb68aac8e3538ff/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/4eda2f56f70fa619b8785a63deb68aac8e3538ff/docs/checks.md#packaging"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:12: update your workflow using https://app.stepsecurity.io/secureworkflow/tool3/shellfie-cli/test.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/tool3/shellfie-cli/test.yml/master?enable=pin","Info:   0 out of   2 GitHub-owned GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/4eda2f56f70fa619b8785a63deb68aac8e3538ff/docs/checks.md#pinned-dependencies"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/4eda2f56f70fa619b8785a63deb68aac8e3538ff/docs/checks.md#binary-artifacts"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/4eda2f56f70fa619b8785a63deb68aac8e3538ff/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/test.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/4eda2f56f70fa619b8785a63deb68aac8e3538ff/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/4eda2f56f70fa619b8785a63deb68aac8e3538ff/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/4eda2f56f70fa619b8785a63deb68aac8e3538ff/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/4eda2f56f70fa619b8785a63deb68aac8e3538ff/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/4eda2f56f70fa619b8785a63deb68aac8e3538ff/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/4eda2f56f70fa619b8785a63deb68aac8e3538ff/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/4eda2f56f70fa619b8785a63deb68aac8e3538ff/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 3 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/4eda2f56f70fa619b8785a63deb68aac8e3538ff/docs/checks.md#sast"}}]},"last_synced_at":"2026-03-01T05:45:00.103Z","repository_id":341300475,"created_at":"2026-03-01T05:45:00.104Z","updated_at":"2026-03-01T05:45:00.104Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32465008,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T22:27:22.272Z","status":"online","status_checked_at":"2026-04-30T02:00:05.929Z","response_time":57,"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":["cli","npm","screenshot","terminal","xterm-js"],"created_at":"2024-11-27T19:24:45.083Z","updated_at":"2026-04-30T13:01:04.894Z","avatar_url":"https://github.com/tool3.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# shellfie-cli\n\nTurn terminal output into stunning SVG screenshots. Blazing fast.\n\n```sh\nnpm test | npx shellfie\n```\n\n![npm test](https://raw.githubusercontent.com/tool3/shellfie-cli/refs/heads/master/examples/tests.svg)\n\n## Why shellfie?\n\n- **Blazing fast** - Built for speed, renders instantly\n- **Full 256 color support** - Captures every color your terminal can display\n- **Auto syntax highlighting** - 12 languages detected and highlighted out of the box\n- **37 themes** - From Dracula to Nord to Tokyo Night, find your style\n- **Zero config** - Works perfectly with defaults, customize when you want\n- **Portable SVGs** - Embed fonts for pixel-perfect rendering anywhere\n\n## Installation\n\n### Homebrew (macOS/Linux)\n\n```sh\nbrew install tool3/tap/shellfie\n```\n\n### Shell script (macOS/Linux)\n\n```sh\ncurl -fsSL https://raw.githubusercontent.com/tool3/shellfie-cli/master/scripts/install.sh | bash\n```\n\n### npm\n\n```sh\n# Use directly with npx (no install needed)\nnpx shellfie-cli --help\n\n# Or install globally\nnpm install -g shellfie-cli\n\n# Or add to your project\nnpm install shellfie-cli -D\n```\n\n### Download binary\n\nPre-built binaries for macOS, Linux, and Windows are available on the [Releases](https://github.com/tool3/shellfie-cli/releases) page.\n\n## Quick Start\n\n### Pipe any command\n\n```sh\n# Capture test output\nnpm test 2\u003e\u00261 | shellfie\n\n# Git history\ngit log --oneline -10 | shellfie -i \"Recent Commits\"\n\n# Colorful output\nls -la --color=always | shellfie -T nord\n```\n\n### From a file\n\n```sh\nshellfie error.log -o error.svg\nshellfie banner.txt -t minimal -T monokai\n```\n\n### To stdout\n\n```sh\ncat output.txt | shellfie --stdout \u003e output.svg\necho \"Hello World\" | shellfie --stdout | pbcopy  # macOS clipboard\n```\n\n## Themes\n\n37 beautiful themes to choose from:\n\n| Theme | Theme | Theme | Theme |\n|-------|-------|-------|-------|\n| `night3024` | `a11yDark` | `base16Dark` | `base16Light` |\n| `blackboard` | `catppuccinMocha` | `cobalt` | `dark` |\n| `dracula` | `draculaPro` | `duotoneDark` | `githubDark` |\n| `githubLight` | `gruvboxDark` | `gruvboxLight` | `hopscotch` |\n| `lucario` | `material` | `monokai` | `nord` |\n| `oceanicNext` | `oneDark` | `oneLight` | `pandaSyntax` |\n| `paraisoDark` | `seti` | `shadesOfPurple` | `solarizedDark` |\n| `solarizedLight` | `synthwave84` | `terminal` | `tokyoNight` |\n| `twilight` | `verminal` | `vscode` | `yeti` |\n| `zenburn` | | | |\n\n```sh\n# List all themes\nshellfie --list-themes\n\n# Use a theme\nnpm test | shellfie -T dracula\n```\n\n## Templates\n\n| Template | Description |\n|----------|-------------|\n| `macos` | macOS-style with traffic light buttons (default) |\n| `windows` | Windows-style with square buttons |\n| `minimal` | Clean, no window chrome |\n\n## Options\n\n| Option | Alias | Description | Default |\n|--------|-------|-------------|---------|\n| `--output \u003cpath\u003e` | `-o` | Output file path | `./shellfie.svg` |\n| `--name \u003cname\u003e` | `-n` | Output filename (without extension) | - |\n| `--stdout` | `-s` | Print SVG to stdout instead of file | `false` |\n| `-t \u003cname\u003e` | `-t` | Window style: `macos`, `windows`, `minimal` | `macos` |\n| `-T \u003cname\u003e` | `-T` | Color theme (see [Themes](#themes)) | - |\n| `-i \u003ctext\u003e` | `-i` | Window title bar text | - |\n| `-W \u003ctext\u003e` | `-W` | Watermark text or SVG markup (bottom-right corner) | - |\n| `--watermark-style` | | Watermark CSS styles (`opacity: 0.5; padding: 20px`) | - |\n| `--width \u003ccols\u003e` | `-w` | Terminal width in columns | auto |\n| `--padding \u003cvalue\u003e` | `-p` | Padding in pixels (`16` or `top,right,bottom,left`) | - |\n| `--font-size \u003cpx\u003e` | `-f` | Font size in pixels | `14` |\n| `--line-height \u003cn\u003e` | `-l` | Line height multiplier | `1.4` |\n| `--font-family \u003ccss\u003e` | `-F` | CSS font-family string | - |\n| `--embed-font` | `-e` | Embed system font for portable SVGs | `false` |\n| `--controls` | `-C` | Show window control buttons | `true` |\n| `--custom-glyphs` | `-G` | Use pixel-perfect box drawing | `true` |\n| `--language \u003clang\u003e` | `-g` | Syntax highlighting language | `auto` |\n| `--highlight` | `-N` | Enable syntax highlighting | `true` |\n| `--header-height \u003cpx\u003e` | `-H` | Custom header bar height | - |\n| `--header-color \u003chex\u003e` | `-c` | Header background color | - |\n| `--footer-height \u003cpx\u003e` | `-r` | Footer bar height | - |\n| `--footer-color \u003chex\u003e` | `-R` | Footer background color | - |\n| `--list-themes` | `-L` | List all available themes | - |\n| `--list-templates` | `-P` | List all available templates | - |\n| `--help` | `-h` | Show help | - |\n| `--version` | `-v` | Show version | - |\n\nUse `--no-\u003coption\u003e` to negate boolean flags (e.g., `--no-controls`, `--no-highlight`).\n\n## Examples\n\n### Test results with Dracula theme\n\n```sh\nnpm test 2\u003e\u00261 | shellfie -T dracula -i \"Unit Tests\" -o tests.svg\n```\n![tests dracula](https://raw.githubusercontent.com/tool3/shellfie-cli/refs/heads/master/examples/tests-dracula.svg)\n\n### Git log with minimal template\n\n```sh\ngit log --oneline --graph --color=always | shellfie -t minimal -T githubDark\n```\n![git log](https://raw.githubusercontent.com/tool3/shellfie-cli/refs/heads/master/examples/git-log.svg)\n\n### Custom padding and font size\n\n```sh\ncat script.sh | shellfie -T draculaPro\n```\n![script](https://raw.githubusercontent.com/tool3/shellfie-cli/refs/heads/master/examples/script.svg)\n\n### Embed font for sharing\n\n```sh\nls -l | lolcat -f | shellfie -e\n```\n![portable](https://raw.githubusercontent.com/tool3/shellfie-cli/refs/heads/master/examples/portable.svg)\n\n### Add watermark\n\n```sh\nifconfig | grep inet | shellfie -W \"@$USER\" -T monokai\n```\n![watermark](https://raw.githubusercontent.com/tool3/shellfie-cli/refs/heads/master/examples/watermark.svg)\n\n### Styled watermark\n\nWatermarks support ANSI escape sequences and CSS styles:\n\n```sh\n# Colored watermark with ANSI codes\necho \"test\" | shellfie -W '\\033[31m@username\\033[0m'   # Red\necho \"test\" | shellfie -W '\\x1b[32m@username\\x1b[0m'   # Green\n\n# Custom CSS styles (opacity, padding, transform, etc.)\necho \"test\" | shellfie -W \"@tool3\" --watermark-style \"opacity: 0.5; padding: 20px\"\necho \"test\" | shellfie -W \"@tool3\" --watermark-style \"font-size: 16px; transform: rotate(-5deg)\"\n\n# SVG markup watermark (auto-detected)\necho \"test\" | shellfie -W '\u003ca href=\"https://github.com\"\u003e\u003ctext\u003eGitHub\u003c/text\u003e\u003c/a\u003e'\n```\n\n## Tips\n\n### Preserve colors\n\nMany commands disable colors when piped. Force them:\n\n```sh\nls -la --color=always | shellfie\ngrep --color=always pattern file | shellfie\ngit -c color.ui=always log | shellfie\nnpm test --color | shellfie\n```\n\n### Capture stderr\n\nInclude error output with `2\u003e\u00261`:\n\n```sh\nnpm test 2\u003e\u00261 | shellfie\n```\n\n### CI/CD Integration\n\n```yaml\n# GitHub Actions\n- name: Generate test screenshot\n  run: npm test 2\u003e\u00261 | npx shellfie-cli -T githubDark -o test-output.svg\n\n- name: Upload artifact\n  uses: actions/upload-artifact@v4\n  with:\n    name: test-screenshot\n    path: test-output.svg\n```\n\n### npm scripts\n\n```json\n{\n  \"scripts\": {\n    \"test:screenshot\": \"npm test 2\u003e\u00261 | shellfie -T dracula -o tests.svg\"\n  }\n}\n```\n\n## Related\n\n- [shellfie](https://github.com/tool3/shellfie) - Core library for programmatic use\n- [shellfied](https://github.com/tool3/shellfied) - Web app\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftool3%2Fshellfie-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftool3%2Fshellfie-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftool3%2Fshellfie-cli/lists"}