BikeControl (SwiftControl)
使用 Zwift Click、Zwift Play、Shimano Di2 或任何藍牙控制器,搭配 MyWhoosh、Rouvy、Zwift 等。iOS、Android、Windows、macOS 均可免費試用。
AI 翻译
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗Live: https://surf-windows.vercel.app · Subscribe: https://surf-windows.vercel.app/feed.ics
Built in one afternoon with Claude Code, with 56 offline tests. The spec is in CLAUDE.md, and every decision is logged in DECISIONS.md.
Good surf is a rare alignment: waves from distant storms have to arrive alongside the right tide, wind, daylight and a few rain-free days. Surf Windows finds the hours at Pleasure Point, Santa Cruz, when they all line up, and puts them on your calendar as a live feed that updates with the forecast, so you can plan meetings and dinners around good surf.
Good surf needs five things to line up at once, and each changes on its own clock:
| Condition | Why it matters | Changes over |
|---|---|---|
| Waves | Energy from storms far out at sea. Too small is flat, too big is dangerous. | Days |
| Tide | Too high and the waves don't break well at this spot. | Twice a day |
| Wind | Calm wind keeps waves smooth; wind blowing onshore makes them choppy. | Hours |
| Rain | Runoff carries bacteria into the water; health officials advise waiting 72 hours. | Days |
| Daylight | You need to see. | Every day |
Forecast apps show the conditions, but I still had to check every day and work out when I was free. Surf Windows turns the forecast into calendar time.
Open-Meteo (swells, wind, rain) ─┐
NOAA (tides) ────────────────────┼─> score hours -> merge windows -> page (/) + feed (/feed.ics)
astral (sunrise, sunset) ────────┘
Set in config.yaml. The Pleasure Point settings:
spot:
high_tide_ft: 4.2 # tide reaching this is too high
ideal_tide_ft: 3.7 # staying below this is ideal
preferences:
size: {knee: skip, waist: ok, chest: fav, head: fav, overhead: ok, way_over: skip}
warn_sizes: [overhead] # 5–7 ft is okay, with a big-wave warning
tide: {low: ok, mid: ok, high: skip}
wind: {glassy: fav, light: ok, windy: skip}
rain: {skip_after_hours: 72, threshold_in: 0.1}
daylight: {before_sunrise_min: 60, after_sunset_min: 60}
Sizes use Surfline-style feet: knee 1–2, waist 2–3, chest 3–4 (Surfline's "waist to shoulder"), head 4–6, overhead 5–7, and way over 6–8 and up, which is a no-go.
pip install -r requirements.txt
pytest # offline, against tests/fixtures/
python scripts/record_fixtures.py # refresh the fixtures from the live APIs
vercel dev
Weather data by Open-Meteo.com. Tide predictions from NOAA CO-OPS. Built with Claude Code.