{"id":21585195,"url":"https://github.com/patricktrainer/pbtree","last_synced_at":"2026-03-11T05:02:14.281Z","repository":{"id":255592310,"uuid":"845724199","full_name":"patricktrainer/pbtree","owner":"patricktrainer","description":"Like `pbcopy` but for LLM prompt building 🏗️","archived":false,"fork":false,"pushed_at":"2024-09-04T23:13:52.000Z","size":125,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-09-07T07:08:27.645Z","etag":null,"topics":["chatgpt","claude-ai","cli","llm","prompt-engineering"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/patricktrainer.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}},"created_at":"2024-08-21T20:01:35.000Z","updated_at":"2024-09-05T15:16:40.000Z","dependencies_parsed_at":"2024-09-06T07:08:28.184Z","dependency_job_id":null,"html_url":"https://github.com/patricktrainer/pbtree","commit_stats":null,"previous_names":["patricktrainer/pbtree"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/patricktrainer/pbtree","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patricktrainer%2Fpbtree","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patricktrainer%2Fpbtree/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patricktrainer%2Fpbtree/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patricktrainer%2Fpbtree/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/patricktrainer","download_url":"https://codeload.github.com/patricktrainer/pbtree/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patricktrainer%2Fpbtree/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30372126,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-10T21:41:54.280Z","status":"online","status_checked_at":"2026-03-11T02:00:07.027Z","response_time":84,"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":["chatgpt","claude-ai","cli","llm","prompt-engineering"],"created_at":"2024-11-24T15:09:23.487Z","updated_at":"2026-03-11T05:02:14.262Z","avatar_url":"https://github.com/patricktrainer.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🌳 PBTree\n\nPBTree is like `pbcopy`, but supercharged. 🚀\n\n\u003cimg src=\"./assets/pbtree.png\" height=\"350\"\u003e\n\n## ✨ Features\n\n- 🖥️ Interactive file navigation\n- 🔍 Quick search\n- ✅ Multi-select files and folders\n- 📋 Copy selected content to clipboard as XML\n\n## 🎯 Perfect for adding context to Claude\n\nPBTree generates XML output, making it ideal for [crafting prompts for Claude AI](https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/use-xml-tags)! Claude loves structured data in XML tags. 🤖❤️\n\n## 🛠️ Build \u0026 install\n\n1. Clone the repo:\n   ```bash\n   git clone https://github.com/patricktrainer/pbtree.git\n   cd pbtree\n   ```\n\n2. Install dependencies:\n   ```bash\n   npm install\n   ```\n\n3. Build the project:\n   ```bash\n   npm run build\n   ```\n\n4. Link the package globally:\n   ```bash\n   npm link\n   ```\n\nAlternatively, you can use the [rebuild script](./scripts/rebuild.js) to do all of the above:\n\n```bash\nnpm run rebuild\n```\n\n## 🕹️ How to use\n\nAfter building and linking, simply run `pbtree` in your terminal:\n\n```bash\npbtree\n```\n\n- ⌨️ Type to search.\n- ⬆️ ⬇️ Move up and down the list\n- ⬅️ ➡️ Navigate back and forth between folders\n- \u003ckbd\u003espace\u003c/kbd\u003e Select or deselect the current item (file or folder)\n- \u003ckbd\u003e⏎ return\u003c/kbd\u003e Copy selected content to the clipboard and exit.\n\n## 👨‍💻 Development\n\nTo run PBTree in development mode:\n\n```bash\nnpm run dev\n```\n\nThis uses `ts-node` to run the TypeScript files directly.\n\n## 📦 Dependencies\n\n- [react](https://www.npmjs.com/package/react) and [ink](https://www.npmjs.com/package/ink) for the CLI interface\n- [clipboardy](https://www.npmjs.com/package/clipboardy) for clipboard operations\n\nCheck `package.json` for the full list of dependencies and their versions.\n\n## 🤝 Contribute\n\nContributions welcome! 🎉\n\n1. Fork the repo\n2. Create your feature branch: `git checkout -b my-new-feature`\n3. Commit your changes: `git commit -am 'Add some feature'`\n4. Push to the branch: `git push origin my-new-feature`\n5. Submit a pull request\n\n🪂 **Enjoy!**","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpatricktrainer%2Fpbtree","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpatricktrainer%2Fpbtree","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpatricktrainer%2Fpbtree/lists"}