Manage your CV from your $TERM

The txtcv CLI lets you publish your CV from your terminal. Installation takes just a few seconds. Install it on your laptop, or on Github Actions, or anywhere else, up to you.

brew install txtcv/tap/txtcv

Available for macOS and Linux via Homebrew

Publish your CV in three easy steps

1. init

Initialize a CV JSON file on your local machine, if you don't have one already.

2. auth login

Generate a Personal Access Token to interact with txtcv from your terminal.

3. publish

Publish your CV online straight from the terminal in just a few seconds.

Built for terminal-native workflows

Developer Friendly

Keep your CV next to all your projects. The CLI fits naturally into Git-based workflows and keeps everything in sync from your favorite $EDITOR.

Schema Aware

Validate your cv.json against the JSON Resume schema before you publish so you never ship a broken CV again.

Ready Anywhere

Install it locally, on your CI runners, or on that spare server under your desk. txtcv works anywhere you can run a shell.

A quick terminal walkthrough

Start with your resume JSON file, authenticate once, and publish changes in seconds. Here's a typical flow developers follow.

  1. Generate a starter cv.json with realistic placeholders.
  2. Log in using a Personal Access Token from your txtcv settings.
  3. Publish updates from any branch or machine when you're ready.
txtcv init
txtcv auth login
txtcv validate --file cv.json
txtcv publish --id your-cv-id cv.json

Keep your access token safe. Store it in a credential manager or CI secret instead of committing it to Git.

Automate publishing with Github Actions

Let txtcv keep your hosted CV in sync with your repository. Trigger a publish whenever cv.json changes and stay confident that recruiters always see the latest version.

.github/workflows/publish.yml
name: Publish CV
on:
  push:
    paths:
      - cv.json
jobs:
  publish:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Install txtcv CLI
        run: brew install txtcv/tap/txtcv
      - name: Authenticate
        run: txtcv auth login --token ${{ secrets.TXTCV_ACCESS_TOKEN }}
      - name: Publish CV
        run: txtcv publish --id your-cv-id cv.json

Store your Personal Access Token as TXTCV_ACCESS_TOKEN in your repository secrets.

Start publishing your CV from your terminal.

Create your txtcv account, generate an access token, and connect the CLI so every push keeps your hosted CV up to date.