Package Exports
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (sathwik) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
sathwik
An interactive TUI portfolio for the terminal, built with Ink and React.
npx sathwikFeatures
- Animated splash screen with time-aware greeting and cfonts ASCII art title
- Star-spinner loading sequence and menu transition animation
- About Me screen with pulsing "Open to Work" indicator
- Skills screen with categorized tech list
- Projects screen with list → detail drill-down and in-browser link opening
- Contact screen with one-key clipboard copy (
c) - Vesper-inspired color theme: orange headings, mint links, dark background
- Cross-platform clipboard:
pbcopyon macOS,xclip/xselfallback on Linux - No JSX — pure
React.createElement()throughout
Keyboard Controls
| Key | Action |
|---|---|
↑ ↓ |
Navigate |
Enter |
Select / open |
c |
Copy to clipboard (Contact screen) |
Esc or b |
Go back |
q |
Quit |
Fork & Customize
All portfolio content lives in a single file: source/data.js. Edit that file, then publish under your own name.
Exports
| Export | Type | Description |
|---|---|---|
personal |
object | Name, role, location, bio, availability flag |
links |
object | GitHub, LinkedIn, portfolio URL, email |
skills |
array | { category, items[] } |
projects |
array | { id, name, description, detail, stack[], github, live } |
Set live: null on a project to hide the "Open Live Site" option.
Example personal object
export const personal = {
name: 'Your Name',
nameCfonts: 'Your Name', // spacing/casing for cfonts ASCII art
role: 'Software Engineer',
location: 'City, Country',
availableForWork: true,
tagline: 'Building things on the web.',
bio: [
'First paragraph of your bio.',
'Second paragraph.',
],
};Publish
# edit source/data.js, then:
npm publish --access public
# smoke test:
npx yournameTech Stack
| Package | Purpose |
|---|---|
| ink | React renderer for interactive CLIs |
| chalk | Terminal string styling |
| cfonts | ASCII art title on splash screen |
| cli-spinners | Spinner animation frames |
| ink-select-input | Navigable menu component |
| open | Opens URLs in the default browser |
- ESM-only (
"type": "module") - Node >= 18 required
Local Development
git clone https://github.com/sathwikanumandla/sathwik
cd sathwik
npm install
node bin/index.jsLicense
MIT