diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml
new file mode 100644
index 0000000..84fdb0f
--- /dev/null
+++ b/.github/workflows/pages.yml
@@ -0,0 +1,34 @@
+name: Deploy to GitHub Pages
+
+on:
+ push:
+ branches: [main]
+ workflow_dispatch:
+
+permissions:
+ contents: read
+ pages: write
+ id-token: write
+
+concurrency:
+ group: pages
+ cancel-in-progress: true
+
+jobs:
+ deploy:
+ environment:
+ name: github-pages
+ url: ${{ steps.deployment.outputs.page_url }}
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - name: Prepare Pages artifact
+ run: |
+ mkdir _site
+ cp index.html styles.css worktime.js app.js .nojekyll _site/
+ - uses: actions/configure-pages@v5
+ - uses: actions/upload-pages-artifact@v3
+ with:
+ path: _site
+ - id: deployment
+ uses: actions/deploy-pages@v4
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
new file mode 100644
index 0000000..3fa3cf3
--- /dev/null
+++ b/.github/workflows/test.yml
@@ -0,0 +1,15 @@
+name: Test
+
+on:
+ push:
+ pull_request:
+
+jobs:
+ worktime:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-node@v4
+ with:
+ node-version: "20"
+ - run: node --test worktime.test.js
diff --git a/.gitignore b/.gitignore
index 7e5a80c..e6d03cc 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,39 +1,18 @@
-# Visual Studio
+# Visual Studio / editors
.vs/
.vscode/
-
-# Archivos de compilación
-bin/
-obj/
-
-# Configuración de usuario
-*.userprefs
-*.user
*.suo
+*.user
+*.userprefs
-# Dependencias restaurables
-packages/
-.nuget/
-
-# Archivos de caché y logs
+# Logs and swap
*.log
*.swp
*.swo
-# MAUI-specific ignores
-Platforms/**/bin/
-Platforms/**/obj/
-Resources/Raw/**/*.db
-Resources/Raw/**/*.sqlite
-
-# Archivos específicos de macOS/iOS
-xcuserdata/
-Pods/
-DerivedData/
-*.xcworkspace
-*.xcuserstate
+# OS
+.DS_Store
+Thumbs.db
-# Archivos específicos de Android
-*.apk
-*.aab
-*.keystore
\ No newline at end of file
+# Local Pages artifact
+_site/
diff --git a/.nojekyll b/.nojekyll
new file mode 100644
index 0000000..e69de29
diff --git a/AGENTS.md b/AGENTS.md
index 76f985e..397e854 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -1,89 +1,60 @@
-# Agent Guide — Worktime Calculator
+# Agent Guide — Horas laborales
-This document helps AI coding agents work effectively in this repository.
-
-## Repository Overview
-
-**Worktime Calculator** is a small .NET MAUI application (.NET 9) for analyzing working hours over a date range. It is not a backend service or multi-module monorepo—the entire app lives under `WorktimeCalculator/`.
+This repository is a **static GitHub Pages site**. There is no .NET / MAUI app, no backend, and no bundler.
| Path | Purpose |
|------|---------|
-| `WorktimeCalculator/Utilities/WorktimeCalculator.cs` | Working-day count, expected hours, daily average |
-| `WorktimeCalculator/ViewModels/WorktimeCalculatorVM.cs` | Main view model; parse input and bind results |
-| `WorktimeCalculator/Views/WorktimeCalculatorPage.xaml` | Primary (and only) user screen |
-| `WorktimeCalculator/Converters/BoolToColorConverter.cs` | Red text when hours difference is negative |
-| `WorktimeCalculator/MauiProgram.cs` | App bootstrap; minimal configuration |
+| `index.html` | Single page UI (Spanish) |
+| `styles.css` | Page styles |
+| `worktime.js` | Working-day count, expected hours, parse/format `h:mm` |
+| `app.js` | Form defaults and live recalculation |
+| `worktime.test.js` | Node tests for `worktime.js` |
+| `.github/workflows/pages.yml` | Deploy to GitHub Pages from `main` |
+| `.github/workflows/test.yml` | Run `node --test worktime.test.js` |
## Conventions
-- **Language**: C# with `ImplicitUsings` and `Nullable` enabled.
-- **MVVM**: View models use `CommunityToolkit.Mvvm` (`ObservableObject`, `SetProperty`, `ICommand` via `Command`).
-- **Namespaces**: Match folder structure (e.g. `WorktimeCalculator.ViewModels`).
-- **Time format**: User input and display use `h:mm` strings (hours and minutes separated by `:`).
-- **Working day rules**: Monday–Friday minus dates in the static `holydays` list in `WorktimeCalculator.cs` (note: the field name is `holydays`, not `holidays`).
-- **Expected hours**: Fixed at **8 hours per working day**; change `CalculateExpectedWorkinghours` if this should be configurable.
-
-## Build Commands
-
-From the repo root:
-
-```bash
-dotnet restore WorktimeCalculator.sln
-dotnet build WorktimeCalculator.sln
-```
+- Vanilla HTML/CSS/JS. Classic `
+
+