A modern, interactive command-line interface built with TypeScript that showcases Scott Kosman's professional information and provides quick access to external links.
Want your own version of this CLI? Check out npx-yournamehere, a template you can fork and fill in with your own content.
- Interactive Welcome Experience: Beautiful ASCII art with gradient styling and terminal image display
- Professional Bio: Displays Scott's current role and background information
- Quick Links Menu: Selectable list of external URLs that open in your default browser
- Persistent Menu: Loop back to the menu after opening links - no need to restart
- Modern CLI Architecture: Built with TypeScript, Commander.js, and modern Node.js practices
- Professional Branding: Custom styling with chalk, figlet, and gradient effects
npx scottkosmannpm install -g scottkosman# Clone the repository
git clone https://github.com/humantorch/scottkosman-cli.git
cd scottkosman-cli
# Install dependencies
npm install
# Build the project
npm run build
# Run in development mode
npm run devSimply run the CLI without any arguments to get the full interactive experience:
scottkosmanThis will display:
- Scott's profile image
- ASCII art title with gradient effects
- Professional bio and background information
- Interactive menu of external links (loops until you choose to exit)
# Show help information
scottkosman --help
# Display version
scottkosman --version
# Show enhanced help
scottkosman help
# Display CLI information
scottkosman info
# Initialize CLI (if needed)
scottkosman initThe CLI provides easy access to:
- 💻 scottkosman.com: Visit my personal website
- ⚙️ blackglass.me: Where I build tools for technical people who think carefully about how they work
- 🙋🏻♂️ How To Scott: My "Manager README", useful info if you currently do or want to work with/for me
- 📝 Blog: Blog posts on leadership, management, and surviving in tech
- 📜 Current Resume: Check out what I've done in the past
- 🌐 GitHub: If you're reading this you probably already know what GitHub is
- 🏢 LinkedIn: Join my Professional Network™
- 📸 Instagram: See what I had for lunch
- 🔧 This CLI Repository: See how this CLI was built (TypeScript, Commander.js, etc.)
- 📧 Email Me: Email? In 2026? I do check this, I promise
Halifax-based Engineering Manager at 1Password, 25+ year vet of the technology, marketing, and digital strategy world. A recovering front-end developer who pivoted to management back in 2014, I now enjoy leading teams building the next generation of stuff you do on this "internet" thing. He/him.
- Node.js 18.0.0 or higher
- npm or yarn
# Build the project
npm run build
# Run in development mode
npm run dev
# Start the built version
npm start
# Clean build artifacts
npm run clean
# Run tests
npm test
# Lint code
npm run lint
# Format code
npm run formatThis project uses Jest and ts-jest for testing.
npm test- Tests are located in
src/**/*.test.ts - Menu logic and data are tested in isolation for reliability
- To add more tests, create additional
*.test.tsfiles
The project includes automated publishing scripts:
# Publish with patch version bump (1.0.0 -> 1.0.1)
npm run publish:patch
# Publish with minor version bump (1.0.0 -> 1.1.0)
npm run publish:minor
# Publish with major version bump (1.0.0 -> 2.0.0)
npm run publish:major
# Or use the script directly
./scripts/publish.sh patchThese scripts will:
- Bump the version number
- Build the project
- Publish to npm
- Create a git tag
- Push changes to GitHub
scottkosman-cli/
├── src/
│ ├── commands/ # CLI commands
│ ├── utils/ # Utility functions
│ ├── types/ # TypeScript type definitions
│ └── index.ts # Main entry point
├── assets/ # Static assets (images, etc.)
├── dist/ # Built JavaScript files
└── package.json
- TypeScript: Type-safe JavaScript development
- Commander.js: CLI framework
- Chalk: Terminal styling and colors
- Inquirer: Interactive command-line interfaces
- Figlet: ASCII art text
- Gradient-string: Beautiful gradient effects
- Boxen: Terminal boxes and borders
- Terminal-image: Display images in terminal
- Open: Open URLs in default browser
- Profile image doesn't render on some Windows terminals: The welcome image is drawn using colored Unicode block characters, which requires truecolor ANSI support. On some Windows setups (including Windows Terminal in certain configurations) it may fail to render. This doesn't affect any other functionality, the CLI still works normally without the image. Honestly, though, if you're using Windows by choice you kinda deserve lesser experiences, it's your own fault.
MIT License - see LICENSE file for details.
Contributions are welcome! Please feel free to submit a Pull Request.
- Website: scottkosman.com
- Email: kosman.scott@gmail.com
- GitHub: @humantorch
- LinkedIn: Scott Kosman
Made with ❤️ by Scott Kosman
