@@ -41,10 +41,11 @@ Fix rubocop `RSpec/MultipleExpectations` adding rspec tag `:aggregate_failures`.
4141- ✅ Add caching headers where appropriate (` Rack::Cache ` ).
4242- ✅ Errors: friendly messages for users, detailed logging internally.
4343- ✅ ** Frontend** : Use Astro components in ` frontend/src/ ` . Keep it simple.
44- - ✅ ** CSS** : Use frontend styles in ` frontend/public/styles.css ` . Water.css for fallback .
44+ - ✅ ** CSS** : Use frontend styles provided by Astro Starlight .
4545- ✅ ** Specs** : RSpec for Ruby, build tests for frontend.
4646
4747## Don't
48+
4849- ❌ Don't use Ruby's URI class or addressable gem directly. Strictly use ` Html2rss::Url ` only.
4950- ❌ Don't bypass SSRF filter or weaken CSP.
5051- ❌ Don't add databases, ORMs, or background jobs.
@@ -53,23 +54,6 @@ Fix rubocop `RSpec/MultipleExpectations` adding rspec tag `:aggregate_failures`.
5354- ❌ Don't modify ` frontend/dist/ ` - it's generated by build process.
5455- ❌ NEVER expose the auth token a user provides.
5556
56- ## Project Structure
57-
58- - ` app.rb ` – main Roda app
59- - ` app/ ` – core modules (config, cache, ssrf, health)
60- - ` routes/ ` – route handlers (` hash_branch ` )
61- - ` helpers/ ` – pure helper modules (` module_function ` )
62- - ` views/ ` – ERB templates (fallback)
63- - ` public/ ` – static assets (CSS/JS, minimal)
64- - ` frontend/ ` – Astro frontend application
65- - ` src/pages/ ` – Astro pages (index.astro, gallery.astro)
66- - ` src/layouts/ ` – Astro layouts (Layout.astro)
67- - ` public/ ` – frontend static assets
68- - ` package.json ` – Node.js dependencies
69- - ` astro.config.mjs ` – Astro configuration
70- - ` config/feeds.yml ` – feed definitions
71- - ` spec/ ` – RSpec tests + VCR cassettes
72-
7357## Environment
7458
7559- ` RACK_ENV ` – environment
@@ -78,6 +62,7 @@ Fix rubocop `RSpec/MultipleExpectations` adding rspec tag `:aggregate_failures`.
7862- ` SENTRY_DSN ` (optional)
7963
8064### Verification Steps
65+
8166- Run ` ruby -c app.rb ` to check syntax
8267- Run ` bundle exec rspec ` to verify tests
8368- Check ` bundle install ` removes unused dependencies
0 commit comments