informatiq
v1.1.1
Published
π CLI tool to streamline developer machine setup for InformatiQ projects
Maintainers
Readme
π InformatiQ CLI
A powerful command-line tool to streamline developer onboarding and machine setup for InformatiQ projects.
β¨ Features
- π©Ί System Diagnostics: Verify your development environment setup (includes Docker check)
- π§ Auto-Installation: Automatically install missing dependencies (Node.js, Git, Docker)
- βοΈ Interactive Configuration: Easy setup wizard for credentials and settings
- π Secure Storage: Credentials stored securely in OS keychain
- π¦ NPM Authentication: Automatic configuration for Azure DevOps package registry
- π Cross-Platform: Works on macOS, Linux, and Windows
- π¨ Beautiful CLI: Colorful, emoji-rich interface for better UX
π¦ Installation
Install globally using npm:
npm install -g informatiqOr use npx to run without installation:
npx informatiq doctorπ Quick Start
1. Configure Your Environment
Run the interactive setup wizard:
informatiq configureYou'll be prompted for:
- Email: Your email address
- PAT: Azure DevOps Personal Access Token
2. Verify Your Setup
Check if everything is configured correctly:
informatiq doctorThis command checks:
- β Node.js installation
- β NPM installation
- β Git installation
- β InformatiQ configuration
- β NPM authentication
- β Local projects
3. Start Developing! π
You're all set! Your machine is now configured for InformatiQ development.
π Commands
informatiq doctor
Run system diagnostics to check your development environment.
# Check system without fixing
informatiq doctor
# Check and auto-fix issues
informatiq doctor --fixWhat it checks:
- Node.js version (requires 16+)
- NPM installation
- Git installation
- Docker installation and daemon status
- InformatiQ configuration (PAT, email)
- NPM authentication setup
Auto-fix capabilities (--fix flag):
- π§ Installs Node.js via nvm if missing
- π§ Installs nvm if required
- π§ Installs Git using platform-specific package managers
- π§ Installs Docker (Homebrew on macOS, script on Linux, manual on Windows)
- π§ Starts Docker daemon if installed but not running
See Auto-Installation Guide for more details.
informatiq configure
Interactive setup wizard to configure your environment.
informatiq configure
# Force reconfiguration
informatiq configure --forceWhat it does:
- Prompts for your email address
- Prompts for Azure DevOps Personal Access Token
- Saves credentials securely
- Optionally configures NPM authentication
informatiq config
Manage configuration values.
# Display all configuration
informatiq config
# Get a specific value
informatiq config get pat
informatiq config get email
# Set a specific value
informatiq config set email [email protected]
informatiq config set pat <your-pat>
# List all configuration (same as 'informatiq config')
informatiq config list
# Clear all configuration
informatiq config clear
informatiq config clear --force # Skip confirmationAvailable configuration keys:
pat: Personal Access Tokenemail: Email addressorganization: Azure DevOps organizationprojectId: Azure DevOps project ID
π Security
Credential Storage
InformatiQ CLI uses secure storage mechanisms:
- macOS: Keychain Access
- Windows: Credential Vault
- Linux: Secret Service API (libsecret)
If the OS keychain is unavailable, credentials are stored in an encrypted configuration file.
Personal Access Token (PAT)
To generate a PAT:
- Visit Azure DevOps User Settings
- Click "New Token"
- Set scopes: Packaging (Read)
- Copy the token and use it during configuration
β οΈ Important: Never share your PAT or commit it to version control!
π¦ NPM Authentication
InformatiQ CLI automatically configures your .npmrc file for Azure DevOps package registry.
Manual Configuration
If you need to manually configure NPM authentication, add the following to ~/.npmrc:
//pkgs.dev.azure.com/informatiq/453f2307-e604-4108-b840-892f91a34e4d/_packaging/Packages/npm/registry/:username=informatiq
//pkgs.dev.azure.com/informatiq/453f2307-e604-4108-b840-892f91a34e4d/_packaging/Packages/npm/registry/:_password=<BASE64_ENCODED_PAT>
//pkgs.dev.azure.com/informatiq/453f2307-e604-4108-b840-892f91a34e4d/_packaging/Packages/npm/:username=informatiq
//pkgs.dev.azure.com/informatiq/453f2307-e604-4108-b840-892f91a34e4d/_packaging/Packages/npm/:_password=<BASE64_ENCODED_PAT>
//pkgs.dev.azure.com/informatiq/453f2307-e604-4108-b840-892f91a34e4d/_packaging/Packages/npm/:email=<YOUR_EMAIL>Replace:
<BASE64_ENCODED_PAT>: Base64-encoded version of your PAT<YOUR_EMAIL>: Your email address
π οΈ Development
Prerequisites
- Node.js 16 or higher
- npm or yarn
Setup
# Clone the repository
git clone https://github.com/likhononair/informatiq-cli.git
cd informatiq-cli
# Install dependencies
npm install
# Build the project
npm run build
# Run locally
npm run dev -- doctorScripts
npm run build: Compile TypeScript to JavaScriptnpm run dev: Run CLI in development modenpm run watch: Watch for changes and rebuildnpm test: Run testsnpm run lint: Lint codenpm run format: Format code with Prettier
Contributing
We use Conventional Commits for commit messages:
# Examples
git commit -m "feat: add new feature"
git commit -m "fix: resolve bug"
git commit -m "docs: update README"Commit types:
feat: New featurefix: Bug fixdocs: Documentation changesstyle: Code style changes (formatting, etc.)refactor: Code refactoringperf: Performance improvementstest: Test changesbuild: Build system changesci: CI/CD changeschore: Other changes
πΊοΈ Roadmap
Future features planned:
- βοΈ Azure CLI Setup: Automatic Azure CLI installation and configuration
- π Proxy Management: Setup and run development proxy
- π Project Cloning: Easy cloning of InformatiQ projects
- π SSL Certificates: Generate SSL certificates for local development
- βΆοΈ Project Runner: Quick start for InformatiQ projects
- π Auto-Updates: Automatic CLI updates
- π Analytics: Development environment analytics
- π― Templates: Project templates for quick starts
π License
ISC Β© InformatiQ Team
π€ Support
- π§ Email: [email protected]
- π¬ Slack: #dev-tools
- π Issues: GitHub Issues
π Acknowledgments
Built with love using:
- Commander.js - CLI framework
- Inquirer.js - Interactive prompts
- Chalk - Terminal styling
- Ora - Elegant spinners
- Conf - Configuration management
- Keytar - Secure credential storage
Made with β€οΈ by the InformatiQ Team
