My personal portfolio site with an interactive terminal.
It's my portfolio website that features a terminal emulator. You can run commands, play games, and explore my work through the command line interface.
npm install
npm run devOpen http://localhost:5173 in your browser.
Type help to see all commands. Here are some fun ones to try:
matrix- Watch the Matrix rain animationtrippy- Activate psychedelic modesnake- Play the classic gamedoom- Yes, it runs DOOMneofetch- System info displaycrypto- Check crypto prices
The terminal supports:
- Tab completion (press Tab)
- Command history (use arrow keys)
- Piping commands with
| - Chaining with
&&,||,; - A virtual filesystem you can navigate
- Dark/light mode toggle
- Animated backgrounds
- Smooth transitions
- Performance optimization for all devices
- React 19 with TypeScript
- Vite for blazing fast builds
- Tailwind CSS for styling
- Framer Motion for animations
- Js-dos for game emulator within terminal
- Many tests
ffi-vite/
├── src/ # Main website
├── modules/
│ └── y0f-terminal/ # Terminal module (self-contained)
└── public/ # Static assets
The terminal module is completely self-contained - it has all its own commands, games, styles, and tests.
npm run dev # Start development server
npm run build # Build for production
npm test # Run tests
npm run fix # Format and lint codeCommands live in modules/y0f-terminal/src/commands/. Each command is a simple object with a name, description, and execute function. Check existing commands for examples.
Run npm test to start the test watcher. The project has comprehensive test coverage for all terminal features.
- This isn't a monorepo - the modules folder is just for organization
- All terminal assets sync automatically during build
MIT