{"_id":"@armyknife/backstage-installer","name":"@armyknife/backstage-installer","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@armyknife/backstage-installer","version":"0.1.0","description":"CLI tool for installing and configuring Armyknife Backstage packages","main":"dist/index.js","bin":{"armyknife-backstage":"dist/cli.js"},"scripts":{"build":"tsc","start":"node dist/cli.js","prepublishOnly":"yarn build"},"keywords":["backstage","armyknife","installer","cli"],"author":{"name":"Armyknife"},"license":"Apache-2.0","dependencies":{"chalk":"^4.1.2","commander":"^9.4.0","inquirer":"^8.2.4","ora":"^5.4.1","fs-extra":"^10.1.0","yaml":"^2.1.1","semver":"^7.3.7","node-fetch":"^2.6.7"},"devDependencies":{"@types/fs-extra":"^9.0.13","@types/inquirer":"^8.2.1","@types/node":"^16.11.26","@types/node-fetch":"^2.6.2","@types/semver":"^7.3.9","typescript":"^4.7.4"},"publishConfig":{"access":"public"},"_id":"@armyknife/backstage-installer@0.1.0","types":"./dist/index.d.ts","_nodeVersion":"22.14.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-cdgbyxKnoEm7xqlWN+xFaezYr8lt6mjlQUUwh+/4QFYQGP/vBzzvyeTrNcn/kLXS7T5LkZCjEUdeYVn36HVGuA==","shasum":"18745871fe68ea4106825b5105707cab3ff5ff4b","tarball":"https://registry.npmjs.org/@armyknife/backstage-installer/-/backstage-installer-0.1.0.tgz","fileCount":30,"unpackedSize":59485,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCzZWUj7gS5em0ovtMpEwwSJ91VKkulpTT7ojXbCBdt+QIhALwMwAI4f2jjDrgtGe/n3Wy+hi9VYzvoBqPxdlyg/3GP"}]},"_npmUser":{"name":"armyknife","email":"backstage@devexparty.com"},"directories":{},"maintainers":[{"name":"armyknife","email":"backstage@devexparty.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/backstage-installer_0.1.0_1740928782443_0.6480803600497216"},"_hasShrinkwrap":false}},"time":{"created":"2025-03-02T15:19:42.333Z","0.1.0":"2025-03-02T15:19:42.654Z","modified":"2025-03-02T15:19:42.933Z"},"maintainers":[{"name":"armyknife","email":"backstage@devexparty.com"}],"description":"CLI tool for installing and configuring Armyknife Backstage packages","keywords":["backstage","armyknife","installer","cli"],"author":{"name":"Armyknife"},"license":"Apache-2.0","readme":"# Armyknife Backstage Installer\n\nA command-line tool for installing and configuring Armyknife Backstage packages.\n\n## Features\n\n- Interactive installation of Armyknife Backstage packages\n- Automatic configuration of app-config.yaml\n- Updates to necessary app files (App.tsx, apis.ts, scaffolder.ts)\n- Verification of installation and configuration\n- Support for GitHub and GitLab authentication and templates\n\n## Available Packages\n\n- **@armyknife/backstage-github-auth**: GitHub authentication provider for Backstage\n- **@armyknife/backstage-gitlab-auth**: GitLab authentication provider for Backstage\n- **@armyknife/backstage-github-template**: GitHub repository template creation for Backstage\n- **@armyknife/backstage-gitlab-template**: GitLab repository template creation for Backstage\n\n## Installation\n\n```bash\n# Install globally\nnpm install -g @armyknife/backstage-installer\n\n# Or use npx\nnpx @armyknife/backstage-installer\n```\n\n## Usage\n\n### Installing Packages\n\n```bash\n# Interactive mode\narmyknife-backstage install\n\n# Install specific packages\narmyknife-backstage install --github-auth --github-template\n\n# Install all packages\narmyknife-backstage install --all\n\n# Install in a specific Backstage app directory\narmyknife-backstage install --path /path/to/backstage\n```\n\n### Configuring Packages\n\n```bash\n# Interactive mode\narmyknife-backstage configure\n\n# Configure specific packages\narmyknife-backstage configure --github-auth\n\n# Configure all installed packages\narmyknife-backstage configure --all\n```\n\n### Updating Packages\n\n```bash\n# Update all installed packages\narmyknife-backstage update\n```\n\n### Verifying Installation\n\n```bash\n# Verify installation and configuration\narmyknife-backstage verify\n```\n\n## How It Works\n\nThe installer performs the following steps:\n\n1. **Installation**:\n   - Detects your Backstage app\n   - Installs the selected packages using your package manager (npm or yarn)\n   - Copies configuration templates to your app\n\n2. **Configuration**:\n   - Prompts for necessary credentials and settings\n   - Updates your app-config.yaml with the provided values\n   - Ensures environment variables are properly set up\n\n3. **App Integration**:\n   - Updates App.tsx to include authentication providers\n   - Updates apis.ts if present\n   - Updates scaffolder.ts to include template actions\n\n4. **Verification**:\n   - Checks that all packages are properly installed\n   - Verifies configuration in app-config.yaml\n   - Ensures app files are correctly updated\n\n## Security Features\n\nThe GitHub template package includes support for:\n\n1. Branch protection rules\n2. Security scanning (CodeQL, SAST, dependency scanning, container scanning)\n3. Dependency updates via Dependabot\n4. Comprehensive security documentation\n5. CODEOWNERS file for code ownership\n6. GitHub issue and PR templates with security considerations\n7. GitHub Actions workflows for CI/CD with security checks\n\n## Best Practices\n\nWhen using the GitHub template package:\n\n1. Use standard github.com domain in all URLs and annotations\n2. Use the standard github.com/project-slug annotation format in catalog-info.yaml\n3. For testing templates without GitHub integration, replace publish and register steps with debug:log actions\n4. Simplify GitHub Actions workflows to avoid potential issues with complex configurations\n5. Ensure all template variables are properly interpolated in YAML files\n\n## License\n\nApache-2.0\n","readmeFilename":"README.md"}