Interactive CLI business card - fast Rust implementation
Project description
Interactive CLI Business Card
A fast, interactive CLI business card implemented in Rust.
🚀 Quick Start
Cargo (direct Rust install)
cargo install carlosferreyra
carlosferreyra
uvx (wrapper entrypoint)
uvx carlosferreyra
bunx (wrapper entrypoint)
bunx carlosferreyra
Features
- ⚡ 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.md
Configuration
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 --release
Connect with Carlos
- GitHub: github.com/carlosferreyra
- LinkedIn: linkedin.com/in/eduferreyraok
- Website: carlosferreyra.com.ar
- Email: eduferreyraok@gmail.com
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file carlosferreyra-1.2.11.tar.gz.
File metadata
- Download URL: carlosferreyra-1.2.11.tar.gz
- Upload date:
- Size: 2.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.6 {"installer":{"name":"uv","version":"0.11.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b6e97716fa3c7766323334fa9002f95ee373fe0083a48066b016765a05048623
|
|
| MD5 |
a3e8b1cacfc71dc87fd81d59acbacb14
|
|
| BLAKE2b-256 |
0657c3ee58714dc0577f6a20e8b3bcfeb71fba468b1d87a2d7cc487c4df1aaef
|
File details
Details for the file carlosferreyra-1.2.11-py3-none-any.whl.
File metadata
- Download URL: carlosferreyra-1.2.11-py3-none-any.whl
- Upload date:
- Size: 3.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.6 {"installer":{"name":"uv","version":"0.11.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4f8974843291226639761f2620c34ad797903308b8b12790d7f93cb4618fa054
|
|
| MD5 |
e56a4ad1991af0e62f31e5056a5a7d77
|
|
| BLAKE2b-256 |
1b15474579364de54cbea643e38f77fcf2a909e0a10bd54ea7ad46c86ac3c78e
|