carlosferreyra
v1.2.11
Published
Interactive CLI business card - fast Rust implementation
Readme
Interactive CLI Business Card
A fast, interactive CLI business card implemented in Rust.
🚀 Quick Start
Cargo (direct Rust install)
cargo install carlosferreyra
carlosferreyrauvx (wrapper entrypoint)
uvx carlosferreyrabunx (wrapper entrypoint)
bunx carlosferreyraFeatures
- ⚡ Fast Rust CLI
- 📧 Direct email contact
- 🌐 Portfolio and social links
- 🖥️ Interactive menu
- 🔧 Non-interactive mode via
--open - 🎯 Config-driven behavior from a single
config.json
Project Structure
business-card/
├── src/ # Rust source code
│ └── main.rs
├── Cargo.toml # Rust package manifest
├── Cargo.lock
├── config.json # Centralized configuration
└── README.mdConfiguration
The CLI reads settings from root config.json:
- Personal information (name, title, company, location, skills)
- URLs (email, resume, portfolio, github, linkedin, twitter)
- Theme settings
For full configuration details, see config.json.
Distribution Model
- Source code in this repo: Rust only
uvx carlosferreyra: Python ecosystem entrypoint wrapper (generated/published in release pipeline)bunx carlosferreyra: Node ecosystem entrypoint wrapper (generated/published in release pipeline)
The uvx and bunx packages are distribution entrypoints, not source implementations in this
repository.
Release Pipeline
Releaseworkflow (.github/workflows/release.yml) is the source of truth.- It runs
cargo release <patch|minor|major> --execute --no-confirmand publishes to crates.io. - It then runs
cargo dist buildusingCargo.tomldist settings. - On successful completion,
release_pypi.ymlandrelease_npm.ymlrun automatically. - Those workflows generate Python/npm wrapper package metadata from
Cargo.tomlon the fly (no dedicatedpython/ortypescript/source folders).
Development
cargo run
cargo run -- --open portfolio
cargo check
cargo build --releaseConnect with Carlos
- GitHub: github.com/carlosferreyra
- LinkedIn: linkedin.com/in/eduferreyraok
- Website: carlosferreyra.com.ar
- Email: [email protected]
License
MIT
Appendix: Package Index Wrappers
The packages published to PyPI and npm are entrypoint wrappers around the Rust CLI binary.
pipx/uvxpackage: invokes the Rustcarlosferreyraexecutable.npx/bunxpackage: invokes the Rustcarlosferreyraexecutable.
If the binary is not available, wrappers attempt to bootstrap it from release artifacts generated by
cargo dist; if that fails, install directly with:
cargo install carlosferreyra