{"_id":"@alexlar/tbox","_rev":"3-8b22006ce4aefe4300c18b73dd82b3c2","name":"@alexlar/tbox","dist-tags":{"latest":"0.1.0","next":"0.0.1-next.1"},"versions":{"0.0.1-next.0":{"name":"@alexlar/tbox","version":"0.0.1-next.0","keywords":["cli","templates"],"author":{"name":"Alexander Larin"},"license":"MIT","_id":"@alexlar/tbox@0.0.1-next.0","maintainers":[{"name":"alexlar","email":"doremilarin@gmail.com"}],"bin":{"tbox":"bin/tbox"},"dist":{"shasum":"83b7861360843b4229369089a43ed125cc38053c","tarball":"https://registry.npmjs.org/@alexlar/tbox/-/tbox-0.0.1-next.0.tgz","fileCount":6,"integrity":"sha512-d4NJJ1Egyiakagrzr8Z8A6/Mz1l4k7xjs1hHQBDO9w0n94fydnuLaqmYiCir0jXh4jRzDl3xgjVWcV976Q6EWg==","signatures":[{"sig":"MEUCIQCvC3XKAXOgSuyYE1N507sPhAJh/+bNPMjQ/OL3m4LpBAIgJEFxhZl2BNDQ1WW9LfF+Y4hrhL4jROrnWpQPwn/XH8Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":120378},"main":"./dist/index.mjs","type":"module","gitHead":"155011fc748dda82ba785efe41cef707642374ea","scripts":{"build":"npm run type-check && npm run build-tsup","test:unit":"vitest run --dir __tests__/unit","build-tsup":"tsup","type-check":"tsc --noEmit --project tsconfig.src.json","prepublishOnly":"npm run build","test:integration":"vitest run --dir __tests__/integration"},"_npmUser":{"name":"alexlar","email":"doremilarin@gmail.com"},"_npmVersion":"11.5.2","description":"CLI tool for managing file/directory templates","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ora":"^8.2.0","zod":"^3.25.76","consola":"^3.4.2","p-limit":"^6.2.0","tsyringe":"^4.10.0","commander":"^13.1.0","fast-glob":"^3.3.3","minimatch":"^10.0.3","glob-parent":"^6.0.2","reflect-metadata":"^0.2.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.7.0","devDependencies":{"tsup":"^8.5.0","husky":"^9.1.7","memfs":"^4.17.2","tslib":"^2.8.1","eslint":"^9.36.0","rimraf":"^6.0.1","vitest":"^3.1.3","ts-node":"^10.9.2","prettier":"^3.6.2","tsc-alias":"^1.8.16","typescript":"^5.8.3","@types/node":"^22.14.0","lint-staged":"^16.1.6","@types/minimatch":"^5.1.2","@types/glob-parent":"^5.1.3"},"_npmOperationalInternal":{"tmp":"tmp/tbox_0.0.1-next.0_1758741439042_0.7483426708362115","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-next.1":{"name":"@alexlar/tbox","version":"0.0.1-next.1","keywords":["cli","templates"],"author":{"name":"Alexander Larin"},"license":"MIT","_id":"@alexlar/tbox@0.0.1-next.1","maintainers":[{"name":"alexlar","email":"doremilarin@gmail.com"}],"bin":{"tbox":"bin/tbox"},"dist":{"shasum":"ba36f91c5f3479b0669aac568e2bf97d0e17d92b","tarball":"https://registry.npmjs.org/@alexlar/tbox/-/tbox-0.0.1-next.1.tgz","fileCount":5,"integrity":"sha512-UlXVb9Jmw6/ssebWUcas/HqpMRgo20SrOw0wblTB2SQpJS8+SGOUnpaVYZ5pIY3hu77HyCmCwYwfGwTvOYV+qQ==","signatures":[{"sig":"MEYCIQDwuG7ET6R2zXOFU2vRRT9dj0WgI04gu7oPhLJIyUfkygIhAOhsKx3v19gIQ4o/K9uQCntPV0f1zJXkPWyZQQdxjkXn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24478},"main":"./dist/index.mjs","type":"module","gitHead":"cde49aec2b7ef9914a59ed6e3caf6fdbb187ea63","scripts":{"build":"npm run type-check && npm run build:tsup","test:int":"vitest run --dir __tests__/integration","test:unit":"vitest run --dir __tests__/unit","build:tsup":"tsup","type-check":"tsc --noEmit --project tsconfig.src.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"alexlar","email":"doremilarin@gmail.com"},"_npmVersion":"11.5.2","description":"CLI tool for managing file/directory templates","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ora":"^8.2.0","zod":"^3.25.76","consola":"^3.4.2","p-limit":"^6.2.0","tsyringe":"^4.10.0","commander":"^13.1.0","fast-glob":"^3.3.3","minimatch":"^10.0.3","glob-parent":"^6.0.2","reflect-metadata":"^0.2.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.7.0","readmeFilename":"README.md","devDependencies":{"tsup":"^8.5.0","husky":"^9.1.7","memfs":"^4.17.2","tslib":"^2.8.1","eslint":"^9.36.0","rimraf":"^6.0.1","vitest":"^3.1.3","ts-node":"^10.9.2","prettier":"^3.6.2","tsc-alias":"^1.8.16","typescript":"^5.8.3","@types/node":"^22.14.0","lint-staged":"^16.1.6","@types/minimatch":"^5.1.2","@types/glob-parent":"^5.1.3"},"_npmOperationalInternal":{"tmp":"tmp/tbox_0.0.1-next.1_1758958769054_0.7488265767464255","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@alexlar/tbox","version":"0.1.0","description":"CLI tool for managing file/directory templates","main":"./dist/index.mjs","type":"module","bin":{"tbox":"bin/tbox"},"scripts":{"build":"npm run type-check && npm run build:tsup","build:tsup":"tsup","prepublishOnly":"npm run build","type-check":"tsc --noEmit --project tsconfig.src.json","test":"vitest run --dir __tests__","test:unit":"vitest run --dir __tests__/unit","test:int":"vitest run --dir __tests__/integration"},"keywords":["cli","templates"],"repository":{"type":"git","url":"git+https://github.com/Alex-Lar/tbox.git"},"author":{"name":"Alexander Larin"},"license":"MIT","devDependencies":{"@types/glob-parent":"^5.1.3","@types/minimatch":"^5.1.2","@types/node":"^22.14.0","eslint":"^9.36.0","husky":"^9.1.7","lint-staged":"^16.1.6","memfs":"^4.17.2","prettier":"^3.6.2","rimraf":"^6.0.1","ts-node":"^10.9.2","tsc-alias":"^1.8.16","tslib":"^2.8.1","tsup":"^8.5.0","typescript":"^5.8.3","vitest":"^3.1.3"},"dependencies":{"commander":"^13.1.0","consola":"^3.4.2","fast-glob":"^3.3.3","glob-parent":"^6.0.2","minimatch":"^10.0.3","ora":"^8.2.0","p-limit":"^6.2.0","reflect-metadata":"^0.2.2","tsyringe":"^4.10.0","zod":"^3.25.76"},"_id":"@alexlar/tbox@0.1.0","gitHead":"ced779927c643c0a2d2c56213d9d604477786e97","bugs":{"url":"https://github.com/Alex-Lar/tbox/issues"},"homepage":"https://github.com/Alex-Lar/tbox#readme","_nodeVersion":"22.12.0","_npmVersion":"11.5.2","dist":{"integrity":"sha512-eUAu7uPNRSV1dKe4kv9xXKNLUJHElSD9EeYAPGqKhZYYFiqVb+JKZov52HX4iju6P0uMXUD1ZL54auPsA5UzmA==","shasum":"3d30630a6e92ed30ff95dd310d1882f68c3801c0","tarball":"https://registry.npmjs.org/@alexlar/tbox/-/tbox-0.1.0.tgz","fileCount":5,"unpackedSize":26520,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQChDDQ+gNjLW8lV/xoNxXhqP67eHnroH23pkEl8as1SPAIgMX5mOk7HPaVmu/pwcaRfaQyA81iOmuKzQ2qT91ucO/c="}]},"_npmUser":{"name":"alexlar","email":"doremilarin@gmail.com"},"directories":{},"maintainers":[{"name":"alexlar","email":"doremilarin@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/tbox_0.1.0_1759215967026_0.016934125235122277"},"_hasShrinkwrap":false}},"time":{"created":"2025-09-24T19:17:18.981Z","modified":"2025-09-30T07:06:07.404Z","0.0.1-next.0":"2025-09-24T19:17:19.215Z","0.0.1-next.1":"2025-09-27T07:39:29.242Z","0.1.0":"2025-09-30T07:06:07.220Z"},"author":{"name":"Alexander Larin"},"license":"MIT","keywords":["cli","templates"],"description":"CLI tool for managing file/directory templates","maintainers":[{"name":"alexlar","email":"doremilarin@gmail.com"}],"readme":"# `tbox`\r\n\r\n> **Note**: This tool is currently in active development. The API may change until version 1.0.0.\r\n\r\n**`tbox`** is your personal CLI template manager. Save frequently used file structures, configs, and entire projects to reuse them with a single command!\r\n\r\n## Features\r\n\r\n- Quickly save and reuse files, project structures, and configurations\r\n- Simple commands for template management: `save`, `get`, `delete`, `list`\r\n- Support for glob patterns and recursive directory copying\r\n- **Currently supports Unix-based systems (Windows support coming soon)**\r\n\r\n## Quick Start\r\n\r\n### Installation\r\n\r\n```bash\r\nnpm install -g @alexlar/tbox\r\n```\r\n\r\n### Basic Usage\r\n\r\n```bash\r\n# Save your current project structure as a template\r\ntbox save my-project ./ --recursive\r\n\r\n# Save specific files using glob patterns and overwrite old one\r\ntbox save my-template \"./src/**/*.ts\" \"*.json\" --force\r\n\r\n# Create a new project from the template\r\ntbox get my-template ./new-project\r\n\r\n# List all available templates\r\ntbox list\r\n\r\n# Delete a template\r\ntbox delete my-template\r\n\r\n# Delete multiple templates at once\r\ntbox delete old-template temp-backup\r\n```\r\n\r\n**Note:** When using glob patterns in the `save` command, make sure to wrap them in quotes to prevent shell expansion.\r\n\r\n## Documentation\r\n\r\n### Commands\r\n\r\n#### `save <template-name> <source...> [options]`\r\n\r\nSaves specified files and directories as a local template.\r\n\r\n**Options:**\r\n\r\n- `-f`, `--force` — Overwrite the template if it exists and ignore some errors.\r\n- `-p`, `--preserve-last-dir` — Preserve only the final directory name from path patterns (ignored for file sources).\r\n- `-r`, `--recursive` — Copy directories recursively (behaves like the `dir/**` glob pattern; without this flag, it behaves like `dir/*`).\r\n- `-x`, `--exclude <patterns>` — Exclude files/directories matching the specified comma-separated glob patterns.\r\n\r\n**Example glob patterns for `--exclude`:**\r\n\r\n```\r\nnode_modules    # Excludes all node_modules directories\r\n*.log           # Excludes all files with the .log extension\r\n./config.json   # Excludes only the config.json file in the root directory\r\n```\r\n\r\n#### `get <template-name> [destination]`\r\n\r\nCopies the specified template to the given destination path. If no destination is provided, the current working directory is used.\r\n\r\n#### `delete <template-name...>`\r\n\r\nDeletes the specified template(s).\r\n\r\n#### `list`\r\n\r\nLists all saved templates.\r\n","readmeFilename":"README.md","homepage":"https://github.com/Alex-Lar/tbox#readme","repository":{"type":"git","url":"git+https://github.com/Alex-Lar/tbox.git"},"bugs":{"url":"https://github.com/Alex-Lar/tbox/issues"}}