An interactive macOS-inspired portfolio theme for Astro, featuring an AI-powered terminal chat, dynamic backgrounds, and a responsive dock interface.
- OpenAI-powered terminal chat
- Dynamic rotating wallpapers
- Responsive macOS-style dock
- Built-in SEO optimization
- Automated sitemap generation
- Customizable system prompts
- Tailwind CSS styling
- Mobile-friendly design
- @astrojs/react
- @astrojs/vercel
- @astrolib/seo
- @astrojs/sitemap
- Node.js (v18 or higher)
- OpenAI API key
-
Clone the repository:
git clone https://github.com/yourusername/macos-terminal-portfolio
-
Install dependencies:
npm install
-
Create a .env file in the root directory:
cp .env.example .env
-
Add your OpenAI API key to the .env file:
OPENAI_API_KEY=your_api_key_here
-
Start the development server:
npm run dev
Update the following files with your information:
src/components/global/MacTerminal.tsx
:
- Modify welcomeMessage and systemPrompt with your details
- Customize placeholder messages
src/pages/index.astro
:
- Update SEO metadata
- Add your website URL
src/components/global/BaseHead.astro
:
- Update meta tags
- Add your favicon
Replace or add images in src/assets/images/
directory.
Modify src/components/global/DesktopDock.tsx
and MobileDock.tsx to customize your dock shortcuts.
Update SEO metadata in:
src/pages/index.astro
src/components/global/BaseHead.astro
The sitemap is automatically generated using @astrojs/sitemap. Configure in astro.config.mjs.
This theme is configured for deployment on Vercel. Update astro.config.mjs if you prefer a different platform.
MIT License - feel free to use this theme for your portfolio!
Contributions, issues, and feature requests are welcome!
- Inspired by macOS interface
- Powered by OpenAI's API
- Built with Astro
For questions or support, please open an issue on GitHub.
Made with ❤️ in Austin, TX by Johnny Culbreth