JSPM

sathwik

1.0.0
    • ESM via JSPM
    • ES Module Entrypoint
    • Export Map
    • Keywords
    • License
    • Repository URL
    • TypeScript Types
    • README
    • Created
    • Published
    • Downloads 24
    • Score
      100M100P100Q71691F
    • License MIT

    Interactive TUI portfolio — npx sathwik

    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.

      npm version node license

      npx sathwik

      Features

      • 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: pbcopy on macOS, xclip/xsel fallback 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 yourname

      Tech 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.js

      License

      MIT