{"id":24754844,"url":"https://github.com/imcasero/my-website","last_synced_at":"2026-04-11T11:04:43.734Z","repository":{"id":204921011,"uuid":"712917190","full_name":"imcasero/my-website","owner":"imcasero","description":"This is my perosnal website repository","archived":false,"fork":false,"pushed_at":"2025-01-07T20:47:04.000Z","size":12103,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-28T12:39:56.704Z","etag":null,"topics":["astro","tailwindcss","typescript","vercel"],"latest_commit_sha":null,"homepage":"https://imcasero.dev","language":"Astro","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/imcasero.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-11-01T13:24:12.000Z","updated_at":"2025-01-07T20:47:07.000Z","dependencies_parsed_at":"2023-12-31T11:36:03.357Z","dependency_job_id":"ff18af9d-7228-4b61-98c5-5598c6496ffb","html_url":"https://github.com/imcasero/my-website","commit_stats":null,"previous_names":["imcasero/my-website"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imcasero%2Fmy-website","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imcasero%2Fmy-website/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imcasero%2Fmy-website/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imcasero%2Fmy-website/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/imcasero","download_url":"https://codeload.github.com/imcasero/my-website/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245061390,"owners_count":20554563,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["astro","tailwindcss","typescript","vercel"],"created_at":"2025-01-28T12:32:52.796Z","updated_at":"2026-04-11T11:04:43.729Z","avatar_url":"https://github.com/imcasero.png","language":"Astro","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🚀 my-website (imcasero.dev)\n\nPersonal portfolio built with **Svelte 5**, **TypeScript**, **Vite**, and **Tailwind CSS v4**.\n\n## ✨ Features\n\n- 🎨 **Svelte 5 with Runes** - Using the latest Svelte 5 syntax (`$state`, `$derived`)\n- 🌓 **Dark/Light Theme** - Persistent theme system with system preference support\n- 💻 **Interactive Terminal View** - Functional terminal with custom commands\n- 📱 **Responsive Design** - Adapted to all devices\n- ⚡ **Vite** - Ultra-fast build tool\n- 🎨 **Tailwind CSS v4** - Custom theme system in OKLCH color space\n- 🧪 **Complete Testing** - Vitest with 119 tests and high coverage\n\n## 🛠️ Tech Stack\n\n- [Svelte 5](https://svelte.dev/) - Reactive framework\n- [TypeScript](https://www.typescriptlang.org/) - Type safety\n- [Vite](https://vitejs.dev/) - Build tool and dev server\n- [Tailwind CSS v4](https://tailwindcss.com/) - Utility-first CSS\n- [Vitest](https://vitest.dev/) - Testing framework\n\n## 📦 Installation\n\n```bash\n# Install dependencies\npnpm install\n\n# Start development server\npnpm dev\n\n# Build for production\npnpm build\n\n# Preview build\npnpm preview\n```\n\n## 🧪 Testing\n\n```bash\n# Run tests in watch mode\npnpm test\n\n# Run tests with visual UI\npnpm test:ui\n\n# Run tests once\npnpm test:run\n\n# Generate coverage report\npnpm test:coverage\n```\n\nFor more information about testing, check [TESTING.md](./TESTING.md).\n\n### 📊 Test Coverage\n\n- **119 tests** passing\n- **~90% coverage** on stores\n- **~94% coverage** on terminal logic\n- **100% coverage** on virtual filesystem\n\n## 📁 Project Structure\n\n```\nsrc/\n├── lib/\n│   ├── components/\n│   │   ├── shared/          # Reusable components\n│   │   ├── StaticView/      # Static portfolio view\n│   │   └── TerminalView/    # Interactive terminal view\n│   ├── stores/              # State management with Svelte 5 runes\n│   │   ├── theme.svelte.ts\n│   │   ├── mode.svelte.ts\n│   │   └── terminal.svelte.ts\n│   └── terminal/            # Terminal logic\n│       ├── commands.ts\n│       └── filesystem.ts\n├── test/\n│   └── setup.ts             # Test configuration\n├── App.svelte\n└── main.ts\n```\n\n## 🎯 Available Commands\n\n### Development\n- `pnpm dev` - Start development server\n- `pnpm build` - Generate production build\n- `pnpm preview` - Preview production build\n- `pnpm check` - Run Svelte and TypeScript type checking\n\n### Testing\n- `pnpm test` - Tests in watch mode\n- `pnpm test:ui` - Visual test interface\n- `pnpm test:run` - Run all tests once\n- `pnpm test:coverage` - Generate coverage report\n\n## 🌟 Terminal Features\n\nThe interactive terminal includes the following commands:\n\n- `help` or `?` - Show help\n- `ls [path]` - List files and directories\n- `cd \u003cpath\u003e` - Change directory\n- `pwd` - Show current directory\n- `cat \u003cfile\u003e` - Display file contents\n- `sh \u003cscript.sh\u003e` - Execute scripts\n- `clear` - Clear screen\n- `whoami` - User information\n- `history` - Command history\n- `banner` - Welcome banner\n\n### Navigation\n- `↑` / `↓` - Navigate through command history\n- `cd ..` - Go up one level\n- `./script.sh` - Execute scripts directly\n\n## 🎨 Theme System\n\nThe project implements a theme system with:\n\n- **Persistence** in localStorage\n- **Synchronization** with system preferences\n- **CSS Variables** in OKLCH color space\n- **Separate themes** for UI and terminal\n\n## 📄 License\n\nThis is a personal project without a specific license.\n\n## 👤 Author\n\n**Diego Casero** (@imcasero)\n\n- Portfolio: [imcasero.dev](https://imcasero.dev)\n- GitHub: [@imcasero](https://github.com/imcasero)\n\n---\n\n⭐ If you like this project, feel free to give it a star!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimcasero%2Fmy-website","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fimcasero%2Fmy-website","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimcasero%2Fmy-website/lists"}