Skip to main content

Interactive CLI business card - fast Rust implementation

Project description

Interactive CLI Business Card

A fast, interactive CLI business card implemented in Rust.

License: MIT Rust uvx bunx

🚀 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

  • Release workflow (.github/workflows/release.yml) is the source of truth.
  • It runs cargo release <patch|minor|major> --execute --no-confirm and publishes to crates.io.
  • It then runs cargo dist build using Cargo.toml dist settings.
  • On successful completion, release_pypi.yml and release_npm.yml run automatically.
  • Those workflows generate Python/npm wrapper package metadata from Cargo.toml on the fly (no dedicated python/ or typescript/ source folders).

Development

cargo run
cargo run -- --open portfolio
cargo check
cargo build --release

Connect with Carlos

License

MIT


Appendix: Package Index Wrappers

The packages published to PyPI and npm are entrypoint wrappers around the Rust CLI binary.

  • pipx/uvx package: invokes the Rust carlosferreyra executable.
  • npx/bunx package: invokes the Rust carlosferreyra executable.

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

carlosferreyra-1.2.11.tar.gz (2.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

carlosferreyra-1.2.11-py3-none-any.whl (3.7 kB view details)

Uploaded Python 3

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

Hashes for carlosferreyra-1.2.11.tar.gz
Algorithm Hash digest
SHA256 b6e97716fa3c7766323334fa9002f95ee373fe0083a48066b016765a05048623
MD5 a3e8b1cacfc71dc87fd81d59acbacb14
BLAKE2b-256 0657c3ee58714dc0577f6a20e8b3bcfeb71fba468b1d87a2d7cc487c4df1aaef

See more details on using hashes here.

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

Hashes for carlosferreyra-1.2.11-py3-none-any.whl
Algorithm Hash digest
SHA256 4f8974843291226639761f2620c34ad797903308b8b12790d7f93cb4618fa054
MD5 e56a4ad1991af0e62f31e5056a5a7d77
BLAKE2b-256 1b15474579364de54cbea643e38f77fcf2a909e0a10bd54ea7ad46c86ac3c78e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page