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.6.tar.gz (2.6 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.6-py3-none-any.whl (3.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: carlosferreyra-1.2.6.tar.gz
  • Upload date:
  • Size: 2.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.2 {"installer":{"name":"uv","version":"0.11.2","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.6.tar.gz
Algorithm Hash digest
SHA256 f814cc92d58aef8e950a9b6f59940ea887f663c5800703c712ca19e94967b257
MD5 17448e71ffb10c09c91a3129e287beb8
BLAKE2b-256 0cd3103dbf1825e99661fda99812ac293539435accd015d4c9d791875e5f53b7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: carlosferreyra-1.2.6-py3-none-any.whl
  • Upload date:
  • Size: 3.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.2 {"installer":{"name":"uv","version":"0.11.2","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.6-py3-none-any.whl
Algorithm Hash digest
SHA256 5a61ba1290359ca8e020b0860f3c8ac726e8fcf2f63d8a92cff06f0970001e95
MD5 8e7c2fa698648a984b0874cd256d17e9
BLAKE2b-256 014a3b829735228c1c81241faca76954af098481d2b599508bdada9f5476f33a

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