{"id":24766916,"url":"https://github.com/claquettes/pigeon","last_synced_at":"2026-02-13T21:08:30.521Z","repository":{"id":274707078,"uuid":"922971914","full_name":"Claquettes/pigeon","owner":"Claquettes","description":"🪹 CLI tool to scan NestJS projects and import them into API clients🐦","archived":false,"fork":false,"pushed_at":"2025-01-29T18:03:06.000Z","size":31,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-04T18:52:00.894Z","etag":null,"topics":["api-mapper","api-mapping","insomnia","insomnia-import","nestjs","postman"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/pigeon-nest-mapper","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Claquettes.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":"2025-01-27T12:26:51.000Z","updated_at":"2025-02-02T22:03:44.000Z","dependencies_parsed_at":"2025-01-28T22:38:32.231Z","dependency_job_id":null,"html_url":"https://github.com/Claquettes/pigeon","commit_stats":null,"previous_names":["claquettes/pigeon"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Claquettes/pigeon","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Claquettes%2Fpigeon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Claquettes%2Fpigeon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Claquettes%2Fpigeon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Claquettes%2Fpigeon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Claquettes","download_url":"https://codeload.github.com/Claquettes/pigeon/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Claquettes%2Fpigeon/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279007834,"owners_count":26084368,"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-10-11T02:00:06.511Z","response_time":55,"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":["api-mapper","api-mapping","insomnia","insomnia-import","nestjs","postman"],"created_at":"2025-01-29T00:33:12.369Z","updated_at":"2025-10-11T16:31:28.121Z","avatar_url":"https://github.com/Claquettes.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🐦 Pigeon - NestJS Route Mapper CLI\n\nPigeon is a **CLI tool** that scans a NestJS project and **automatically maps all API routes** into an **Insomnia or Postman**-compatible **import file**. 🚀\n\n🔍 **It recursively searches for controllers, extracts all endpoints**, and organizes them neatly into **Insomnia or Postman collections**.\n\n📦 **Available on NPM:** [Pigeon Nest Mapper on NPM](https://www.npmjs.com/package/pigeon-nest-mapper)\n🔍 **GitHub Repository:** [Pigeon on GitHub](https://github.com/Claquettes/pigeon)\n\n---\n\n## **✨ Features**\n- 🔍 **Scans NestJS projects** to detect all `@Controller()` routes.\n- 📁 **Groups routes by controller** inside **Insomnia or Postman**.\n- 📂 **Recursively finds controllers** in the entire project.\n- 📝 **Exports to `insomnia.json` or `postman.json`** for easy import.\n- 💡 **Simple CLI usage** with just one command.\n- 🕊️ **New:** Now you can choose between **Insomnia** (default) and **Postman**, or exit the CLI with \"Quit Pigeon\".\n\n---\n\n## **📥 Installation**\n### **From NPM (Recommended)**\n```sh\nnpm install -g pigeon-nest-mapper\n```\n\n### **From Source**\n1. Clone the repo:\n   ```sh\n   git clone https://github.com/claquettes/pigeon.git\n   cd pigeon\n   ```\n2. Install dependencies:\n   ```sh\n   npm install\n   ```\n3. Build \u0026 link:\n   ```sh\n   npm run build\n   npm link\n   ```\n\n---\n\n## **🚀 Usage**\nOnce installed globally, run:\n```sh\npigeon /path/to/nestjs-project\n```\n\n### **Example:**\n```sh\npigeon /home/user/my-nest-app\n```\n\nThis will prompt:\n```\n🪹 Scanning NestJS project at: /home/user/my-nest-app 🐦\nChoose the export format:\n  ❯ Insomnia\n    Postman\n    ──────────\n    Quit Pigeon\n```\n\n- If you choose **Insomnia**, the output file will be **`insomnia.json`**.\n- If you choose **Postman**, the output file will be **`postman.json`**.\n- If you choose **Quit Pigeon**, the CLI will exit.\n\nAfter selecting a format:\n```\n🎉 Scan Completed! Routes Found:\n📁 Controller: AuthController\n➡️  POST /auth/register\n➡️  POST /auth/login\n\n📁 Controller: UserController\n➡️  GET /user/profile\n➡️  POST /user/money\n\n📁 Insomnia import file generated at: /home/user/my-nest-app/insomnia.json\n```\n\nThen, **import the generated file (`insomnia.json` or `postman.json`) into your API tool to test all routes instantly!** 🚀\n\n---\n\n## **📦 Dependencies**\nPigeon relies on:\n- 📜 **[`commander`](https://www.npmjs.com/package/commander)** - CLI command parsing.\n- 🏗 **[`ts-morph`](https://www.npmjs.com/package/ts-morph)** - TypeScript AST parsing.\n- 🗂 **[`fs-extra`](https://www.npmjs.com/package/fs-extra)** - File system utilities.\n- 🎨 **[`chalk`](https://www.npmjs.com/package/chalk)** - Colored terminal output.\n- 🎛️ **[`inquirer`](https://www.npmjs.com/package/inquirer)** - CLI user input handling.\n\n---\n\n## **🌟 Contributing**\n- **Fork this repository**\n- Create a feature branch (`git checkout -b feature-name`)\n- Make your changes and commit (`git commit -m \"Added cool feature\"`)\n- Push the branch (`git push origin feature-name`)\n- Open a **Pull Request** 🚀\n\n---\n\n## **📝 License**\nMIT © [Claquettes](https://github.com/Claquettes)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclaquettes%2Fpigeon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fclaquettes%2Fpigeon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclaquettes%2Fpigeon/lists"}