Website for the Kyma TUI tool. Built with React, TypeScript, and Framer Motion for smooth animations and interactive elements.
- Frontend: React 19, TypeScript
- Styling: Tailwind CSS 4.x with custom design system
- Animations: Framer Motion 12.x
- State Management: TanStack Query for server state
- Build Tool: Vite 6.x
- GitHub API: Octokit for fetching release data
- Fonts: Geist Sans & Geist Mono
-
Clone the repository
git clone <repository-url> cd kyma-website
-
Install dependencies
npm install # or pnpm install
-
Set up environment variables
cp .env.example .env
Add your GitHub token to
.env
:VITE_GITHUB_TOKEN=your_github_token_here
-
Start the development server
npm run dev # or pnpm dev
-
Open your browser Navigate to
http://localhost:5173
The website requires a GitHub token to fetch the latest Kyma release version:
- Create a GitHub Personal Access Token with
public_repo
permissions - Add it to your
.env
file asVITE_GITHUB_TOKEN
- The website will automatically display the latest release tag
src/components/
├── ui/
│ ├── hero.tsx # Main hero section
│ ├── typewriter-effect.tsx # Animated typewriter component
│ └── button.tsx # Reusable button component
- Fork the repository
- Create a feature branch
git checkout -b feature/amazing-feature
- Make your changes
- Run the linter
npm run lint
- Commit your changes
git commit -m 'Add some amazing feature'
- Push to the branch
git push origin feature/amazing-feature
- Open a Pull Request
- Follow the existing TypeScript and React patterns
- Use semantic commit messages
- Ensure all animations are performant and accessible
- Test responsive design across different screen sizes
- Maintain the terminal/CLI aesthetic in new features
- Framer Motion - For incredible animation capabilities
- Tailwind CSS - For the utility-first CSS framework
- Geist Font - For the beautiful typography
- Lucide React - For the clean, consistent icons
- shadcn/ui - For component design inspiration
- Aceternity - For the Typewriter Component