shubham0401
v2.0.0
Published
Hacker-themed interactive CLI resume — boot sequence, animated sections, and terminal portfolio for Shubham Malik
Downloads
35
Maintainers
Readme
CLI Resume — Interactive Terminal Portfolio
A hacker-themed, interactive CLI resume for Shubham Malik — navigate your portfolio like you're decrypting a secure shell session.
Overview
CLI Resume is a command-line portfolio built with Node.js. Instead of a static PDF, recruiters and developers get a cinematic terminal experience:
- Matrix-style boot sequence with progress bars
- Centered ASCII banner and session HUD
- Interactive menu-driven resume sections
- Color-coded output (green terminal + cyan highlights)
- Cinematic shutdown sequence on exit
- Clickable contact links (GitHub, LinkedIn, WhatsApp, Email)
Perfect for developers who want their resume to stand out in terminals, GitHub READMEs, and dev portfolios.
Preview
root@resume-node:~$ sudo ./unlock_resume.sh --force
[NET] Tunneling secure shell to resume-node...
[AUTH] Bypassing firewall... handshake OK
[SCAN] [======================] [100%][OK]
[DECRYPT] [======================] [100%][OK]
███████╗██╗ ██╗██╗ ██╗██████╗ ██╗ ██╗ █████╗ ███╗ ███╗
... SHUBHAM MALIK (block ASCII banner) ...
╭────────────────────────────────────────────────────╮
│ SESSION :: resume-cli │
│ IDENTITY SHUBHAM MALIK │
│ ROLE Full-Stack AI Developer │
│ NODE resume-node@local │
│ LOCATION Sonipat, IN │
│ EDU B.Tech CSE · Class of 2026 │
│ STATUS ONLINE │
╰────────────────────────────────────────────────────╯
[SYS] Select module to decrypt:
❯ About Me
Education
Professional Experience
Tech Skills
Projects
...Features
Boot & Welcome
| Feature | Description |
|--------|-------------|
| Boot sequence | Simulated shell unlock with typed logs |
| Progress bars | [SCAN] and [DECRYPT] with [100%][OK] |
| Matrix drizzle | Random binary/katakana rain effect |
| ASCII banner | Centered block font name banner |
| Session HUD | Identity, role, node, location, education, status |
| Role scan | Cycles taglines → locks on Full-Stack AI Developer |
| Access granted | Centered panel when shell is ready |
Resume Navigation
| Feature | Description |
|--------|-------------|
| Interactive menu | Arrow keys + Enter via inquirer |
| 9 sections | About, Education, Experience, Skills, Projects, Achievements, Certifications, Interests, Contact |
| Section headers | [>] DUMP :: SECTION_NAME terminal style |
| Back / Exit | Loop menu or trigger shutdown |
Styling & Colors
| Content | Color |
|---------|-------|
| Experience headers (dates, role, company) | Green |
| Experience bullets (→) | Cyan |
| Project titles [Name] | Bright green |
| Project descriptions | Cyan |
| Tech skill labels (Languages:) | Bright green |
| Tech list (TypeScript, React…) | Cyan |
| About, Education, Achievements, etc. | Cyan |
| Contact labels | Green · links cyan |
Exit Sequence
| Step | Description |
|------|-------------|
| Shutdown header | Red bordered panel |
| 5 teardown tasks | SYS, NET, SEC, LOG, MEM with progress bars |
| Farewell message | Typewriter transmission |
| Matrix wipe | Trace purge animation |
| Glitch flash | SIGNAL LOST → CONNECTION TERMINATED |
| Final panel | Red bordered goodbye box |
Contact Links
- GitHub, LinkedIn, LeetCode, Portfolio — clickable URLs
- Email —
mailto:link - WhatsApp —
wa.medeep link
Quick Start
Prerequisites
- Node.js v14+ (v18+ recommended)
- npm or yarn
- A terminal that supports ANSI colors (macOS Terminal, iTerm2, Windows Terminal, VS Code/Cursor integrated terminal)
Local setup
# Clone the repo
git clone https://github.com/subhm2004/CLI-Resume.git
cd CLI-Resume
# Install dependencies
npm install
# Run the resume
npm startAlternative:
node index.jsGlobal install (optional)
Install as a global CLI command:
npm install -g shubham0401
shubham0401Usage
- Run
npm start - Wait for the boot animation and welcome HUD (~6–8 seconds)
- Use ↑ / ↓ to select a resume section
- Press Enter to view content
- Choose Back to return to the menu or Exit for shutdown animation
Available sections
| Section | Contents | |---------|----------| | About Me | Bio, LeetCode stats, focus areas | | Education | Degree, CGPA, coursework | | Professional Experience | Internships at Jaggery Consulting & StarkSeek | | Tech Skills | Languages, frontend, backend, cloud, AI | | Projects | 7 projects with descriptions + tech stack | | Achievements | LeetCode Knight, contest rank, deployments | | Certifications | 100xDevs, Code Help DSA | | Personal Interest | CP, system design, chess, badminton | | Contact Me | GitHub, LinkedIn, LeetCode, Portfolio, WhatsApp, Email |
Project Structure
CLI-Resume/
├── data/
│ └── resume.json # All resume content (single source of truth)
├── index.js # Main CLI app, menu, section rendering
├── welcome.js # Boot sequence, banner, HUD, role scan
├── animation.js # Intro prompt + exit/shutdown animations
├── theme.js # Colors, progress bars, panels, centering helpers
├── package.json
├── .eslintrc
└── README.mdFile responsibilities
| File | Role |
|------|------|
| index.js | Entry point, inquirer menu, color logic per section, contact link handling |
| welcome.js | Startup: shell unlock → banner → HUD → inject → access granted |
| animation.js | Post-welcome prompt; full shutdown sequence on exit |
| theme.js | Shared HACK color palette, progress bars, HUD/border panels, glitch helpers |
| data/resume.json | Structured resume data consumed by the CLI |
Customizing Your Resume
All content lives in data/resume.json. Edit this file — no code changes needed for most updates.
Array sections (About Me, Education, Projects, etc.)
"About Me": [
"Line one of your bio.",
"Line two..."
]Professional Experience format
"Professional Experience": [
"Jan 2025 – Jun 2025 · SDE Intern @ Company Name (City, India)",
" → First bullet point with impact metrics.",
" → Second bullet point.",
"",
"Next internship header...",
" → Bullet..."
]- Header lines use
·between date and role,@before company - Bullet lines must start with
→(two spaces + arrow) for cyan styling
Projects format
"Projects": [
"ProjectName",
" First description line.",
" Second description line (optional).",
" Tech Stack: Next.js · React · TypeScript",
"",
"NextProject",
" ..."
]- Title line = no leading spaces
- Description lines = two leading spaces, not starting with
Tech Stack: - Stack line starts with
Tech Stack:orStack ·
Contact Me (object)
"Contact Me": {
"GitHub": "https://github.com/yourusername",
"LinkedIn": "https://linkedin.com/in/you",
"LeetCode": "https://leetcode.com/you",
"Portfolio": "https://yourportfolio.vercel.app",
"WhatsApp": "+91 9876543210",
"Email": "[email protected]"
}WhatsApp auto-converts to https://wa.me/.... Email opens mailto:.
Tech Stack
| Layer | Tools |
|-------|-------|
| Runtime | Node.js |
| CLI input | inquirer v6 |
| Styling | chalk v2 |
| ASCII art | cfonts |
| Animation | chalk-animation |
| Links | terminal-link |
| Data | Static JSON (data/resume.json) |
| Linting | ESLint + eslint-plugin-node |
Scripts
| Command | Description |
|---------|-------------|
| npm start | Run the CLI resume |
| npm run lint | Run ESLint on the project |
| npm test | Placeholder (no tests configured) |
Color Theme
The app uses a custom hacker green palette defined in theme.js:
HACK = {
green: "#00ff41", // Primary terminal green
bright: "#39ff14", // Bold highlights
dim: "#00aa2a", // Muted green
cyan: "#00ffff", // Descriptions / bullets
red: "#ff3333", // Shutdown / errors
warn: "#ffcc00" // Warnings
}To change the theme, edit theme.js → HACK object.
Tips
- Best experience: Widen your terminal to ~100+ columns for centered banner and panels
- Clickable links: Work in iTerm2, VS Code/Cursor terminal, Windows Terminal — may show plain text in basic terminals
- Faster iteration: Edit
resume.jsonand re-runnpm start— no rebuild needed - Fork it: Replace
resume.jsoncontent with your own profile and updatepackage.jsonauthor/bin name
Author
Shubham Malik
Full-Stack AI Developer · B.Tech CSE · Class of 2026
| | | |---|---| | Portfolio | shubhammalik1.vercel.app | | GitHub | @subhm2004 | | LinkedIn | shubham04012003 | | LeetCode | subhm2003 |
License
ISC © Shubham Malik
