{"_id":"@arwed/ovh-tools","_rev":"9-2e6cf70aba4da68621a1dd9eae20c0c7","name":"@arwed/ovh-tools","dist-tags":{"latest":"0.1.4"},"versions":{"0.1.0":{"name":"@arwed/ovh-tools","version":"0.1.0","keywords":["ovh"],"author":{"name":"Arwed Mett"},"license":"MIT","_id":"@arwed/ovh-tools@0.1.0","maintainers":[{"name":"arwed","email":"arwed.mett@googlemail.com"}],"homepage":"https://github.com/Pfeifenjoy/ovh-tools#readme","bugs":{"url":"https://github.com/Pfeifenjoy/ovh-tools/issues"},"bin":{"ovh-tools":"dist/bin.js"},"dist":{"shasum":"817fa630d9d526fff0ff432e376f8601e664b1f8","tarball":"https://registry.npmjs.org/@arwed/ovh-tools/-/ovh-tools-0.1.0.tgz","fileCount":86,"integrity":"sha512-P+iYhHdcAQ93fNmm+JxF5DCv1zVYyQMIQ/IJ8G1GsanHNJPgewY/w5DDPDqRPhmN+O2h2unkQ7CVpA6mImUrKA==","signatures":[{"sig":"MEQCIBdX8fwN4aqsRpdegooKBxru/xVTvRKg3EnvfLWGn/LQAiAhsVg/ukc3GrCMxAVLNiA5XN3Gy+h/S5EjXeZ0pK42QA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":102127},"main":"dist/index.js","type":"module","gitHead":"c331d26b092e5db6c5bd3e342db0f41d095a17bc","scripts":{"test":"npm run test:lint && npm run test:unit","build":"npx tsc","clean":"rm -rf dist","format":"npm run format:prettier && npm run format:eslint","prepare":"husky","release":"npm run clean && npm run build && npm run test","test:lint":"npm run test:lint:prettier && npm run test:lint:eslint && npm run test:lint:spell","test:unit":"c8 npx playwright test","format:eslint":"npx eslint --fix .","format:prettier":"npx prettier --write .","test:lint:spell":"npx cspell .","test:lint:eslint":"npx eslint .","test:lint:prettier":"npx prettier --check ."},"_npmUser":{"name":"arwed","email":"arwed.mett@googlemail.com"},"repository":{"url":"git+https://github.com/Pfeifenjoy/ovh-tools.git","type":"git"},"_npmVersion":"10.8.2","description":"Cli tool for more effective development with OVH.","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ix":"^7.0.0","ovh":"^2.0.3","zod":"^4.1.9","open":"^10.2.0","read":"^4.1.0","chalk":"^5.6.2","winston":"^3.17.0","commander":"^14.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","jiti":"^2.5.1","husky":"^9.1.7","cspell":"^9.2.1","eslint":"^9.35.0","globals":"^16.4.0","ts-jest":"^29.4.2","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.5.2","@types/read":"^0.0.32","@playwright/test":"^1.55.0","typescript-eslint":"^8.43.0","eslint-plugin-import":"^2.32.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4"},"_npmOperationalInternal":{"tmp":"tmp/ovh-tools_0.1.0_1759685018826_0.3399160254193394","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@arwed/ovh-tools","version":"0.1.1","keywords":["ovh"],"author":{"name":"Arwed Mett"},"license":"MIT","_id":"@arwed/ovh-tools@0.1.1","maintainers":[{"name":"arwed","email":"arwed.mett@googlemail.com"}],"homepage":"https://github.com/Pfeifenjoy/ovh-tools#readme","bugs":{"url":"https://github.com/Pfeifenjoy/ovh-tools/issues"},"bin":{"ovh-tools":"dist/bin.js"},"dist":{"shasum":"18b97709ffadef2728edb1be54105286b0c4d416","tarball":"https://registry.npmjs.org/@arwed/ovh-tools/-/ovh-tools-0.1.1.tgz","fileCount":86,"integrity":"sha512-q0iguFJaWmnI8gxXgQeQoep8HO0SjhOtAEGFQchSdXrGHotlZtarQwcex8AqHRilAjq94aokj9gTHHc8aiUezw==","signatures":[{"sig":"MEQCIEWGprmf9SAmfdoDGNHDQOIwc3gNsGEanetORKEfHMvGAiBDrifA6rvDUxlgV2wi1jxExVg+JJlzo+4CDSrBMM4ftg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":102883},"main":"dist/index.js","type":"module","gitHead":"5e4a6eec7690204740f552494da85b2c3fa01bf6","scripts":{"test":"npm run test:lint && npm run test:unit","build":"npx tsc","clean":"rm -rf dist","format":"npm run format:prettier && npm run format:eslint","prepare":"husky","release":"npm run clean && npm run build && npm run test","test:lint":"npm run test:lint:prettier && npm run test:lint:eslint && npm run test:lint:spell","test:unit":"c8 npx playwright test","format:eslint":"npx eslint --fix .","format:prettier":"npx prettier --write .","test:lint:spell":"npx cspell .","test:lint:eslint":"npx eslint .","test:lint:prettier":"npx prettier --check ."},"_npmUser":{"name":"arwed","email":"arwed.mett@googlemail.com"},"repository":{"url":"git+https://github.com/Pfeifenjoy/ovh-tools.git","type":"git"},"_npmVersion":"10.8.2","description":"Cli tool for more effective development with OVH.","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ix":"^7.0.0","ovh":"^2.0.3","zod":"^4.1.9","open":"^10.2.0","read":"^4.1.0","chalk":"^5.6.2","tslib":"^2.8.1","winston":"^3.17.0","commander":"^14.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","jiti":"^2.5.1","husky":"^9.1.7","cspell":"^9.2.1","eslint":"^9.35.0","globals":"^16.4.0","ts-jest":"^29.4.2","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.5.2","@types/read":"^0.0.32","@playwright/test":"^1.55.0","typescript-eslint":"^8.43.0","eslint-plugin-import":"^2.32.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4"},"_npmOperationalInternal":{"tmp":"tmp/ovh-tools_0.1.1_1759687620950_0.4908633765871453","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@arwed/ovh-tools","version":"0.1.2","keywords":["ovh"],"author":{"name":"Arwed Mett"},"license":"MIT","_id":"@arwed/ovh-tools@0.1.2","maintainers":[{"name":"arwed","email":"arwed.mett@googlemail.com"}],"homepage":"https://github.com/Pfeifenjoy/ovh-tools#readme","bugs":{"url":"https://github.com/Pfeifenjoy/ovh-tools/issues"},"bin":{"ovh-tools":"dist/bin.js"},"dist":{"shasum":"e8e8f65cfce480e8d8783b92aed395ee9805d3da","tarball":"https://registry.npmjs.org/@arwed/ovh-tools/-/ovh-tools-0.1.2.tgz","fileCount":109,"integrity":"sha512-9bICev1f9v5JqkJpyj6GQMJE7e0uTkOYNz0+77lfRhUszja9q89rQ669TCby+IuMRNa14+KnKnKvnBb2XxH0aw==","signatures":[{"sig":"MEYCIQCCvSoKQ99jYQkBRplzZcX8sTakeLHV/218wUaHB/JyWAIhANpNALI3ywYUi8NsiLN0VIEFdW6kY1qdWtek+V9OqwsR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":114912},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"1cf9fe92b03c104532806e4fa941a01774bcafe6","scripts":{"test":"npm run test:lint && npm run test:unit","build":"npx tsc","clean":"rm -rf dist","format":"npm run format:prettier && npm run format:eslint","prepare":"husky","release":"npm run clean && npm run build && npm run test","test:lint":"npm run test:lint:prettier && npm run test:lint:eslint && npm run test:lint:spell","test:unit":"c8 npx playwright test","format:eslint":"npx eslint --fix .","format:prettier":"npx prettier --write .","test:lint:spell":"npx cspell .","test:lint:eslint":"npx eslint .","test:lint:prettier":"npx prettier --check ."},"_npmUser":{"name":"arwed","email":"arwed.mett@googlemail.com"},"repository":{"url":"git+https://github.com/Pfeifenjoy/ovh-tools.git","type":"git"},"_npmVersion":"10.8.2","description":"Cli tool for more effective development with OVH.","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ix":"^7.0.0","ovh":"^2.0.3","zod":"^4.1.9","open":"^10.2.0","read":"^4.1.0","chalk":"^5.6.2","tslib":"^2.8.1","winston":"^3.17.0","commander":"^14.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","jiti":"^2.5.1","husky":"^9.1.7","cspell":"^9.2.1","eslint":"^9.35.0","globals":"^16.4.0","ts-jest":"^29.4.2","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.5.2","@types/read":"^0.0.32","@playwright/test":"^1.55.0","typescript-eslint":"^8.43.0","eslint-plugin-import":"^2.32.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4"},"_npmOperationalInternal":{"tmp":"tmp/ovh-tools_0.1.2_1760917423358_0.8948298460952857","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@arwed/ovh-tools","version":"0.1.3","keywords":["ovh"],"author":{"name":"Arwed Mett"},"license":"MIT","_id":"@arwed/ovh-tools@0.1.3","maintainers":[{"name":"arwed","email":"arwed.mett@googlemail.com"}],"homepage":"https://github.com/Pfeifenjoy/ovh-tools#readme","bugs":{"url":"https://github.com/Pfeifenjoy/ovh-tools/issues"},"bin":{"ovh-tools":"dist/bin.js"},"dist":{"shasum":"c6688f594e70b2d7d5137b5bdd423475c0dac1c9","tarball":"https://registry.npmjs.org/@arwed/ovh-tools/-/ovh-tools-0.1.3.tgz","fileCount":109,"integrity":"sha512-5l6ircgUoA5rzu3YT0lnQRsOCcP9ppI9c/4tLX8dElJVZcTGdakKH6jj6TuVegFGYcbIK9e/HSPV/uIWKUAjLg==","signatures":[{"sig":"MEYCIQC9BfuzB3fuPXslp/CkBXDJd9LqbcY4k1Hfm7KVtaIvRAIhALRx3MYeVhl7HjySFNOVGdv+6E43odEC7vTjgk0cexq0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":114927},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"bff7db3e12ed1a3ccc809c6b5d90ca93ab6f0b29","scripts":{"test":"npm run test:lint && npm run test:unit","build":"npx tsc","clean":"rm -rf dist","format":"npm run format:prettier && npm run format:eslint","prepare":"husky","release":"npm run clean && npm run build && npm run test","test:lint":"npm run test:lint:prettier && npm run test:lint:eslint && npm run test:lint:spell","test:unit":"c8 npx playwright test","format:eslint":"npx eslint --fix .","format:prettier":"npx prettier --write .","test:lint:spell":"npx cspell .","test:lint:eslint":"npx eslint .","test:lint:prettier":"npx prettier --check ."},"_npmUser":{"name":"arwed","email":"arwed.mett@googlemail.com"},"repository":{"url":"git+https://github.com/Pfeifenjoy/ovh-tools.git","type":"git"},"_npmVersion":"10.8.2","description":"Cli tool for more effective development with OVH.","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ix":"^7.0.0","ovh":"^2.0.3","zod":"^4.1.9","open":"^10.2.0","read":"^4.1.0","chalk":"^5.6.2","tslib":"^2.8.1","winston":"^3.17.0","commander":"^14.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","jiti":"^2.5.1","husky":"^9.1.7","cspell":"^9.2.1","eslint":"^9.35.0","globals":"^16.4.0","ts-jest":"^29.4.2","prettier":"^3.6.2","typescript":"^5.9.2","@types/node":"^24.5.2","@types/read":"^0.0.32","@playwright/test":"^1.55.0","typescript-eslint":"^8.43.0","eslint-plugin-import":"^2.32.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4"},"_npmOperationalInternal":{"tmp":"tmp/ovh-tools_0.1.3_1760917659721_0.9544575256141581","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@arwed/ovh-tools","version":"0.1.4","description":"Cli tool for more effective development with OVH.","keywords":["ovh"],"homepage":"https://github.com/Pfeifenjoy/ovh-tools#readme","bugs":{"url":"https://github.com/Pfeifenjoy/ovh-tools/issues"},"repository":{"type":"git","url":"git+https://github.com/Pfeifenjoy/ovh-tools.git"},"license":"MIT","author":{"name":"Arwed Mett"},"publishConfig":{"access":"public"},"type":"module","main":"dist/index.js","bin":{"ovh-tools":"dist/bin.js"},"scripts":{"clean":"rm -rf dist","build":"npx tsc","format:eslint":"npx eslint --fix .","format:prettier":"npx prettier --write .","format":"npm run format:prettier && npm run format:eslint","test:lint:eslint":"npx eslint .","test:lint:prettier":"npx prettier --check .","test:lint:spell":"npx cspell .","test:lint":"npm run test:lint:prettier && npm run test:lint:eslint && npm run test:lint:spell","test:unit":"c8 npx playwright test","test":"npm run test:lint && npm run test:unit","release":"npm run clean && npm run build && npm run test","prepare":"husky"},"devDependencies":{"@playwright/test":"^1.55.0","@types/node":"^24.5.2","@types/read":"^0.0.32","c8":"^10.1.3","cspell":"^9.2.1","eslint":"^9.35.0","eslint-config-prettier":"^10.1.8","eslint-plugin-import":"^2.32.0","eslint-plugin-prettier":"^5.5.4","globals":"^16.4.0","husky":"^9.1.7","jiti":"^2.5.1","prettier":"^3.6.2","ts-jest":"^29.4.2","typescript":"^5.9.2","typescript-eslint":"^8.43.0"},"dependencies":{"chalk":"^5.6.2","commander":"^14.0.1","ix":"^7.0.0","open":"^10.2.0","ovh":"^2.0.3","read":"^4.1.0","tslib":"^2.8.1","winston":"^3.17.0","zod":"^4.1.9"},"_id":"@arwed/ovh-tools@0.1.4","gitHead":"9b92d4808fb1c36cba44016b254a7c574de7f711","types":"./dist/index.d.ts","_nodeVersion":"20.19.5","_npmVersion":"10.8.2","dist":{"integrity":"sha512-YPafGRauznfjuiZpe/m+p1eneCq0OWV105YyVyGD/FOw4OK322OytkoZ+AOIRJ0YSZGigoYeIbpeklgW141PRg==","shasum":"b669ee6f8d0e3e5dfa7f4bf07a3eabc95d79d414","tarball":"https://registry.npmjs.org/@arwed/ovh-tools/-/ovh-tools-0.1.4.tgz","fileCount":109,"unpackedSize":115394,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQD80qAImCYPc4Fj3ZgsPXzJ5HEijM2qSNUXM4bhpKxoDgIhALz8Wkf8JofHXDmTiLRVz33HQjrUupUgA7pQ2iJkTudn"}]},"_npmUser":{"name":"arwed","email":"arwed.mett@googlemail.com"},"directories":{},"maintainers":[{"name":"arwed","email":"arwed.mett@googlemail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ovh-tools_0.1.4_1760918706282_0.143444308781709"},"_hasShrinkwrap":false}},"time":{"created":"2025-10-05T17:23:38.755Z","modified":"2025-10-20T00:05:06.679Z","0.0.1":"2025-10-05T16:24:26.534Z","0.0.2":"2025-10-05T17:08:10.173Z","0.1.0":"2025-10-05T17:23:39.007Z","0.1.1":"2025-10-05T18:07:01.133Z","0.1.2":"2025-10-19T23:43:43.536Z","0.1.3":"2025-10-19T23:47:39.960Z","0.1.4":"2025-10-20T00:05:06.470Z"},"bugs":{"url":"https://github.com/Pfeifenjoy/ovh-tools/issues"},"author":{"name":"Arwed Mett"},"license":"MIT","homepage":"https://github.com/Pfeifenjoy/ovh-tools#readme","keywords":["ovh"],"repository":{"type":"git","url":"git+https://github.com/Pfeifenjoy/ovh-tools.git"},"description":"Cli tool for more effective development with OVH.","maintainers":[{"name":"arwed","email":"arwed.mett@googlemail.com"}],"readme":"# 🛠️ OVH Tools\n\n> A powerful CLI tool for streamlined OVH development workflows\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![TypeScript](https://img.shields.io/badge/TypeScript-007ACC?logo=typescript&logoColor=white)](https://www.typescriptlang.org/)\n[![CI](https://github.com/Pfeifenjoy/ovh-tools/actions/workflows/ci.yml/badge.svg)](https://github.com/Pfeifenjoy/ovh-tools/actions/workflows/ci.yml)\n\n⚠️ **This project is currently in development and not yet ready for production use.**\n\n## ✨ Features\n\n- 🚀 Simplified OVH API interactions\n- 🔧 Developer-friendly command interface\n- 📦 TypeScript support with full type safety\n- 🎯 Optimized for modern development workflows\n- 🔐 Secure credential management with separate storage\n- 🌍 Multi-region support (EU/US)\n\n## 🚀 Installation\n\n```bash\nnpm install -g ovh-tools\n```\n\n## 📖 Usage\n\n### Create OVH Application\n\nFirst, create an OVH application to get your API credentials:\n\n```bash\novh-tools application create\n```\n\nThis will:\n\n1. Open your browser to the OVH application creation page\n2. Guide you through creating an application\n3. Save your application key, secret, and region to `.ovh-tools/application.json`\n\n### Obtain Consumer Key\n\nAfter creating an application, obtain a consumer key for API access:\n\n```bash\novh-tools credentials update\n```\n\nThis will:\n\n1. Request a consumer key from the OVH API\n2. Open your browser to validate the credentials\n3. Save the consumer key to `.ovh-tools/credentials.json`\n\n### File Structure\n\n```\n.ovh-tools/\n├── application.json    # Application key, secret, region\n└── credentials.json    # Consumer key for API access\n```\n\n## 🔌 Programmatic Usage\n\nYou can use ovh-tools programmatically in your Node.js applications:\n\n```javascript\nimport { CoreService } from \"ovh-tools\"\n\nconst core = new CoreService()\n\n// Get OVH credentials for use in your application\nconst credentials = await core.environmentService.requireCredentials()\n\nconsole.log(credentials.applicationKey)\nconsole.log(credentials.applicationSecret)\nconsole.log(credentials.consumerKey)\nconsole.log(credentials.endpoint) // 'ovh-eu' or 'ovh-us'\n```\n\nThis is useful for:\n\n- Building applications that need OVH API access\n- Integrating with existing OVH SDKs\n- Creating custom automation scripts\n- Testing and development workflows\n\n## 🔧 Commands\n\n| Command                        | Description                  |\n| ------------------------------ | ---------------------------- |\n| `ovh-tools application create` | Create a new OVH application |\n| `ovh-tools credentials update` | Obtain/update consumer key   |\n| `ovh-tools environment bash`   | Output bash export commands  |\n| `ovh-tools environment zsh`    | Output zsh export commands   |\n| `ovh-tools environment fish`   | Output fish set commands     |\n| `ovh-tools environment dotenv` | Create or update .env file   |\n| `ovh-tools --help`             | Show help information        |\n\n## 🏗️ Architecture\n\n- **Exception Hierarchy**: Custom exceptions extending BaseException\n- **Service Layer**: Modular services for different concerns\n- **Schema Validation**: Zod schemas for runtime type safety\n- **Browser Integration**: Automatic URL opening with fallbacks\n- **Secure Storage**: Separate files for different credential types\n\n## 🛠️ Development\n\n```bash\n# Install dependencies\nnpm install\n\n# Build the project\nnpm run build\n\n# Run tests\nnpm test\n\n# Format code\nnpm run format\n```\n\n## 📝 License\n\nMIT © [Arwed Mett](https://github.com/Pfeifenjoy)\n\n## 🤝 Contributing\n\nContributions, issues and feature requests are welcome!\n\nFeel free to check [issues page](https://github.com/Pfeifenjoy/ovh-tools/issues).\n","readmeFilename":"README.md"}