{"id":24388805,"url":"https://github.com/siguici/panam","last_synced_at":"2026-03-08T21:06:40.903Z","repository":{"id":271297318,"uuid":"912743573","full_name":"siguici/panam","owner":"siguici","description":"🛠️ One tool to manage all runtimes, package managers 📦️ and much more (git, docker, ...).","archived":false,"fork":false,"pushed_at":"2025-06-12T20:54:08.000Z","size":262,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-19T18:41:09.302Z","etag":null,"topics":["bun","cross-package-manager","cross-pm","cross-runtime","cross-spawn","deno","docker","git","jsr","nodejs","npm","package-manager","panam","pnpm","process","runtime","spawn","subprocess","yarn"],"latest_commit_sha":null,"homepage":"https://npm.im/panam","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/siguici.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","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-01-06T09:57:36.000Z","updated_at":"2025-06-12T20:54:12.000Z","dependencies_parsed_at":"2025-04-11T06:44:34.456Z","dependency_job_id":"161d8428-5c03-472e-b87d-45cb29acfd4c","html_url":"https://github.com/siguici/panam","commit_stats":null,"previous_names":["siguici/panpm"],"tags_count":12,"template":false,"template_full_name":null,"purl":"pkg:github/siguici/panam","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/siguici%2Fpanam","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/siguici%2Fpanam/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/siguici%2Fpanam/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/siguici%2Fpanam/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/siguici","download_url":"https://codeload.github.com/siguici/panam/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/siguici%2Fpanam/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30273335,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-08T20:45:49.896Z","status":"ssl_error","status_checked_at":"2026-03-08T20:45:49.525Z","response_time":56,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["bun","cross-package-manager","cross-pm","cross-runtime","cross-spawn","deno","docker","git","jsr","nodejs","npm","package-manager","panam","pnpm","process","runtime","spawn","subprocess","yarn"],"created_at":"2025-01-19T14:49:03.600Z","updated_at":"2026-03-08T21:06:40.869Z","avatar_url":"https://github.com/siguici.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Panam \u003cspan\u003e\u003cimg src=\"https://github.com/siguici/art/blob/HEAD/images/logo.svg\" alt=\"⚡\" width=\"24\" /\u003e\u003c/span\u003e\n\nA universal tool for executing commands across multiple package managers,\nindependent of runtime or environment. Supporting popular tools\nlike *npm*, *cnpm*, *pnpm*, *yarn*, *bun*, *deno*, and even *jsr*,\nit provides a consistent interface to simplify development workflows\nand automate tasks, regardless of the package manager being used.\n\nThis monorepo contains two main packages:\n\n1. **[Panam](./packages/core)**: The core programmatic API\nfor interacting with package managers.\n2. **[Panam CLI](./packages/cli)**: The command-line interface for Panam.\n\n---\n\n## 🚀 Features\n\n- 🌍 **Cross-runtime compatibility**:\nWorks seamlessly with the most popular package managers\nlike `npm`, `cnpm`, `pnpm`, `yarn`, `bun`, `deno`, and `jsr`.\n- 🎯 **Unified interface**: One tool to handle commands across different managers,\nso you can focus on building.\n- ⚡ **Performance optimized**: Executes commands efficiently with runtime detection\nand intelligent fallback strategies.\n- 🔧 **Future-ready**: Easily extendable to support new package managers.\n- 🛠️ **Command flexibility**: Support for `install`, `add`, `remove`, `run`, `exec`,\nand `dlx` commands with consistent behavior across environments.\n- 📂 **Custom detection**: Automatically detects the appropriate package manager\nfor a given project or allows explicit specification.\n\n---\n\n## 📂 Packages\n\n### 1. **Panam core**\n\nThe [`panam`](https://npm.im/panam) package provides a programmatic interface for developers\nwho want to integrate Panam functionality into their own applications.\n\n- [Read more about Panam core](./packages/core/README.md)\n\n### 2. **Panam CLI**\n\nThe [`panam-cli`](https://npm.im/panam-cli) package offers a command-line interface\nto execute Panam commands directly in your terminal.\n\n- [Read more about Panam CLI](./packages/cli/README.md)\n\n---\n\n## 🚀 Installation\n\nInstall the specific Panam package based on your needs\nusing your preferred package manager:\n\n### Install Panam\n\n- **With `NPM`**:\n\n  ```bash\n  npm install panam\n  ```\n\n- **With `Yarn`**:\n\n  ```bash\n  yarn add panam\n  ```\n\n- **With `PNPM`**:\n\n  ```bash\n  pnpm add panam\n  ```\n\n- **With `Bun`**:\n\n  ```bash\n  bun add panam\n  ```\n\n- **With `Deno`**:\n\n  ```bash\n  deno add --allow-scrits npm:panam\n  ```\n\n### Install Panam CLI\n\n- **With `NPM`**:\n\n  ```bash\n  npm install -g panam-cli\n  ```\n\n- **With `Yarn`**:\n\n  ```bash\n  yarn global add panam-cli\n  ```\n\n- **With `PNPM`**:\n\n  ```bash\n  pnpm add -g panam-cli\n  ```\n\n- **With `Bun`**:\n\n  ```bash\n  bun install -g panam-cli\n  ```\n\n- **With `Deno`**:\n\n  ```bash\n  deno install --allow-scripts npm:panam-cli\n  ```\n\n---\n\n## 🧑‍💻 Usage\n\n### Run a command\n\nPanam automatically detects the active package manager for your project:\n\n```bash\npnm install\n```\n\n### Execute a script\n\nRun a script defined in your `package.json`:\n\n```bash\npnm run \u003cscript-name\u003e\n```\n\n### Use `exec` or `dlx`\n\nPanam adapts commands like `exec` or `dlx` for compatibility across package managers:\n\n```bash\npnm exec vite --template vue\n```\n\n---\n\n## 💡 Examples\n\n### Install dependencies\n\n```bash\npnm install\n```\n\n### Add a package\n\n```bash\npnm add @qwikdev/astro\n```\n\n### Remove a package\n\n```bash\npnm remove @qwikdev/astro\n```\n\n### Create a new project\n\n```bash\npnm create @qwikdev/astro my-qwik-astro-app\n```\n\n### Execute a global tool\n\n```bash\npnm exec @qwikdev/create-astro .\n```\n\n### Use `dlx` to run a package without installing it globally\n\n```bash\npnm dlx @qwikdev/create-astro my-qwik-astro-app\n```\n\n---\n\n## 🛠️ Programmatic API\n\nPanam also exposes a powerful programmatic API for advanced use cases:\n\n```typescript\nimport pnm from 'panam';\n\nconst version = await pnm.version();\nconsole.log(`Current runtime version: ${version}`);\n\nawait pnm.help(); // Show the runtime help message\n\nawait pnm.pm.$('install');\n\nawait pnm.install();\n\nawait pnm.create('@qwikdev/astro');\n\nawait pnm.add('@qwikdev/astro');\n\nawait pnm.run('create-astro');\n\nawait pnm.exec('astro add @qwikdev/astro');\n\nawait pnm.dlx('@qwikdev/create-astro my-qwik-astro-app');\n\nawait pnm.x('astro add @qwikdev/astro');\n```\n\n---\n\n## 📖 Supported Package Managers\n\nPanam currently supports the following package managers:\n\n- ✅ npm\n- ✅ cnpm\n- ✅ pnpm\n- ✅ yarn\n- ✅ bun\n- ✅ deno\n- ✅ jsr\n\nMore package managers can be added with ease.\n\n---\n\n## 📚 Documentation\n\nGo to [https://siguici.github.io/panam](https://siguici.github.io/panam)\nfor more documentation and usage examples.\n\n---\n\n## 🛡️ License\n\nUnder the [MIT License](./LICENSE.md).\nCreated with ❤️ by [Sigui Kessé Emmanuel](https://github.com/siguici).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsiguici%2Fpanam","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsiguici%2Fpanam","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsiguici%2Fpanam/lists"}