Skip to main content

🔏 Imprint v3

Imprint Demo

Stamp your developer environment on any machine.

Imprint is a premium CLI tool that snapshots your entire machine's developer setup — dotfiles, VS Code extensions, Neovim plugins, tmux config, global packages, shell settings — and restores it perfectly on a new machine in seconds. Now with named profiles, AES-256-GCM encryption, and multi-format export.


✨ What's New in v3

  • 🧑‍💻 Named Profiles — work, home, laptop — switch with imp profile use
  • 🔐 AES-256-GCM Encryption — encrypt dotfiles before pushing to GitHub
  • 📤 Multi-Format Export — JSON, YAML, Markdown, or shell script
  • 🔭 6 New Collectors — Neovim, Cursor IDE, tmux, SSH config, Cargo, uv
  • 🩺 Doctor & Diagnostics — imp doctor validates your entire setup
  • 📜 Snapshot History — browse past snapshots with imp history
  • 🔄 Compare Snapshots — diff two snapshots with imp compare
  • 👁️ Watch Mode — auto-snapshot on file changes
  • 🎨 Nord Theme — premium UI with branded dashboard

🚀 Quick Start

1. Installation

pip install imprint-cli

# With encryption support
pip install imprint-cli[crypto]

# With watch mode
pip install imprint-cli[watch]

# Everything
pip install imprint-cli[full]

2. First-Run Setup

imp init

3. Capture Your World

imp snapshot

4. Move to a New Machine

imp restore https://github.com/your-username/my-imprint-config.git

🛠️ All Commands

Command Action
imp Interactive dashboard with machine info
imp init First-run setup wizard
imp snapshot Capture full environment and push
imp restore [url] Restore from local or GitHub source
imp restore [url] --dry-run Preview what would be restored
imp diff See what changed since last snapshot
imp update Quick snapshot + push
imp status Overview of tracked configuration
imp doctor Health check & diagnostics
imp history Browse past snapshots
imp export --fmt md Export as Markdown report
imp profile list List named profiles
imp profile use work Switch to a named profile
imp compare latest previous Diff two snapshots
imp encrypt --init Generate encryption key
imp watch Auto-snapshot on file changes

🔍 What Gets Captured?

Category Details
Dotfiles .zshrc, .bashrc, .gitconfig, .vimrc, and more
VS Code Complete extension manifest + settings.json
Neovim lazy.nvim / packer plugins, init.lua
Cursor IDE Extensions list
tmux Config, prefix key, TPM plugins
Packages pip, npm, apt/brew/winget, cargo, uv
Shell Oh My Zsh theme, plugins, aliases, functions
SSH Config Host aliases only (never keys or passwords)
Scripts Everything in ~/bin
System Python, Node.js, Git versions, OS info

🔏 Security First

Imprint is designed to be secure by default. It never captures sensitive files. The .imprintignore system automatically blocks:

  • 🔑 SSH Keys (.ssh/id_*, *.pem, *.key)
  • 🎫 Tokens & Secrets (*.token, *secret*, *api_key*)
  • 🌐 Environment files (.env, .env.*)
  • ☁️ Cloud credentials (.aws/credentials, .gcloud/, .kube/)
  • 📜 Shell history (.bash_history, .zsh_history)
  • 🔒 GPG keys (.gnupg/)

All subprocess calls use list arguments (no shell=True) to prevent shell injection.


📦 Publishing

imprint-cli uses GitHub Actions with a PYPI_API_TOKEN secret for automated publishing:

# Tag a release on main (after merging PR)
git tag v3.0.0
git push origin main --tags
# GitHub Actions automatically builds and publishes to PyPI

Setup: Add your PyPI API token as a repository secret named PYPI_API_TOKEN in Settings → Secrets → Actions.


🤝 Contributing

See CONTRIBUTING.md for development setup, git workflow, and how to add new collectors.

📜 Code of Conduct

See CODE_OF_CONDUCT.md.


📄 License

MIT © Venkatesh-6921

Metadata

Release files for imprint-cli 3.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for imprint-cli 3.0.0
File Size Uploaded
imprint_cli-3.0.0.tar.gz 126.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for imprint-cli 3.0.0
File Interpreter ABI Platform
imprint_cli-3.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 166.2 kB

Release files / imprint_cli-3.0.0.tar.gz

Download URL imprint_cli-3.0.0.tar.gz
Size 126.4 kB
Tags Source
SHA-256 checksum
How to use checksums
47f1fa541d71924a14334ef80e2eafb1d5135483334b057bdf0d5d16630d5728
BLAKE2b-256 checksum
How to use checksums
d2dd8123513b2af1eb36741cf413b8bdf55a86ff0238e3dfcc9d6a332f65260f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / imprint_cli-3.0.0-py3-none-any.whl

Download URL imprint_cli-3.0.0-py3-none-any.whl
Size 39.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b5ef6ce5bb7219149ef07bb026762fa0db0c6a38f42fa41616b321f8d178966a
BLAKE2b-256 checksum
How to use checksums
f969146efdcef7c197ba4a505b03271aad89b35c33f5851cec9c27b08fed48e0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release history Release notifications | RSS feed

This release

3.0.0 This release

2 release files

2.0.1

2 release files

2.0.0

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page