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
├── config.schema.json    # JSON Schema validation
├── CONFIGURATION.md      # Configuration docs
└── 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 CONFIGURATION.md.

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.10.tar.gz (2.8 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.10-py3-none-any.whl (3.8 kB view details)

Uploaded Python 3

File details

Details for the file carlosferreyra-1.2.10.tar.gz.

File metadata

  • Download URL: carlosferreyra-1.2.10.tar.gz
  • Upload date:
  • Size: 2.8 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.10.tar.gz
Algorithm Hash digest
SHA256 6d04779dfd90811fdae31dda95f036511ad2987217f9309ae789fccc26ddf485
MD5 67c46702373fb341e2aa8550d5e58d73
BLAKE2b-256 e9022619c1e49f8da3e5e522d3ecff89b0a29f9282a78a572ec190daa8184719

See more details on using hashes here.

File details

Details for the file carlosferreyra-1.2.10-py3-none-any.whl.

File metadata

  • Download URL: carlosferreyra-1.2.10-py3-none-any.whl
  • Upload date:
  • Size: 3.8 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.10-py3-none-any.whl
Algorithm Hash digest
SHA256 a8186c116f914186fd4ec0c2b68aae72966ecd77e081ee5a3b3ff1755a058a5d
MD5 f5e0621f5517bdfd94c5c546cadba12e
BLAKE2b-256 672d5479f003b4550347e8a15ed14a1afa30dc30173661eceacc7d248fc7a23c

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