Skip to content

Commit 523c546

Browse files
committed
docs: remove duplicated contributor guidance
1 parent 3ccbe11 commit 523c546

1 file changed

Lines changed: 7 additions & 91 deletions

File tree

README.md

Lines changed: 7 additions & 91 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ html2rss-web converts arbitrary websites into RSS 2.0 feeds with a slim Ruby bac
77
## Links
88

99
- Docs & feed directory: https://html2rss.github.io
10+
- Contributor Guide: [docs/README.md](docs/README.md)
1011
- Discussions: https://github.com/orgs/html2rss/discussions
1112
- Sponsor: https://github.com/sponsors/gildesmarais
1213

@@ -17,26 +18,13 @@ html2rss-web converts arbitrary websites into RSS 2.0 feeds with a slim Ruby bac
1718
- Signed public feed URLs that work in standard RSS readers.
1819
- Built-in URL validation, scoped feed access controls, and HMAC-protected tokens.
1920

20-
## Architecture
21+
## Architecture Overview
2122

2223
- **Backend:** Ruby + Roda, backed by the `html2rss` gem for extraction.
2324
- **Frontend:** Preact app built with Vite into `frontend/dist` and served at `/`.
24-
- **Distribution:** Docker Compose by default; other deployments require manual wiring.
25-
- [Project notes](docs/README.md)
25+
- **Distribution:** Docker Compose by default.
2626

27-
## REST API Snapshot
28-
29-
```bash
30-
# List available strategies
31-
curl -H "Authorization: Bearer <token>" \
32-
"https://your-domain.com/api/v1/strategies"
33-
34-
# Create a feed and capture the signed public URL
35-
curl -X POST "https://your-domain.com/api/v1/feeds" \
36-
-H "Authorization: Bearer <token>" \
37-
-H "Content-Type: application/json" \
38-
-d '{"url":"https://example.com","name":"Example Feed"}'
39-
```
27+
For detailed architecture and internal rules, see [docs/README.md](docs/README.md).
4028

4129
## Trial Run (Docker Pull And Run)
4230

@@ -54,16 +42,8 @@ Then open:
5442

5543
- `http://localhost:4000/` for the web UI
5644
- `http://localhost:4000/microsoft.com/azure-products.rss` for a built-in Azure updates feed
57-
- `http://localhost:4000/phys.org/weekly.rss` for a built-in science headlines feed
58-
- `http://localhost:4000/softwareleadweekly.com/issues.rss` for a built-in newsletter archive feed
59-
60-
This trial run is intentionally minimal:
61-
62-
- it uses the image's bundled config set, including embedded `html2rss-configs` feeds
63-
- automatic feed generation stays disabled by default
64-
- Browserless is not wired in yet
6545

66-
Use Docker Compose for Browserless, auto-updates, or local feed overrides.
46+
This trial run is intentionally minimal. Use Docker Compose for Browserless, auto-updates, or local feed overrides.
6747

6848
## Deploy (Docker Compose)
6949

@@ -73,76 +53,12 @@ Use Docker Compose for Browserless, auto-updates, or local feed overrides.
7353

7454
UI + API run on `http://localhost:4000`. The app exits if the secret key is missing.
7555

76-
The default compose file now uses the bundled config set.
77-
If you want to add or override static feeds locally, uncomment the bind mount in [docker-compose.yml](docker-compose.yml) and provide `./config/feeds.yml`.
78-
79-
## Development (Dev Container)
56+
## Development
8057

8158
Use the repository's [Dev Container](.devcontainer/README.md) for all local development and tests.
8259
Running the app directly on the host is not supported.
8360

84-
Quick start inside the Dev Container:
85-
86-
```
87-
make setup
88-
make dev
89-
make test
90-
make ready
91-
make yard-verify-public-docs
92-
bundle exec rubocop -F
93-
bundle exec rspec
94-
make openapi
95-
```
96-
97-
Dev URLs: Ruby app at `http://localhost:4000`, frontend dev server at `http://localhost:4001`.
98-
99-
Backend code under the `Html2rss::Web` namespace now lives under `app/web/**`, so Zeitwerk can mirror constant paths directly instead of relying on directory-specific namespace wiring.
100-
`make ready` also runs `rake zeitwerk:verify`, which eager-loads the app and fails on loader drift early.
101-
For contributors and AI agents changing backend structure, follow the rules in [docs/README.md](docs/README.md).
102-
103-
## Make Targets
104-
105-
| Command | Purpose |
106-
| ------------------------------ | ---------------------------------------------------------- |
107-
| `make help` | List available shortcuts. |
108-
| `make setup` | Install Ruby and Node dependencies. |
109-
| `make dev` | Run Ruby (port 4000) and frontend (port 4001) dev servers. |
110-
| `make dev-ruby` | Start only the Ruby server. |
111-
| `make dev-frontend` | Start only the frontend dev server (port 4001). |
112-
| `make test` | Run Ruby and frontend test suites. |
113-
| `make test-ruby` | Run Ruby specs. |
114-
| `make test-frontend` | Run frontend unit and contract tests. |
115-
| `make lint` | Run all linters. |
116-
| `make lintfix` | Auto-fix lint warnings where possible. |
117-
| `make yard-verify-public-docs` | Enforce typed YARD docs for public methods in `app/`. |
118-
| `make openapi` | Regenerate `public/openapi.yaml` from request specs. |
119-
| `make openapi-verify` | Regenerate + fail if OpenAPI file is stale. |
120-
| `make clean` | Remove build artefacts. |
121-
122-
## OpenAPI Contract
123-
124-
The OpenAPI file is generated from Ruby request specs only.
125-
126-
- Regenerate: `make openapi`
127-
- Verify drift (CI behavior): `make openapi-verify`
128-
129-
## Frontend npm Scripts (inside Dev Container)
130-
131-
| Command | Purpose |
132-
| ----------------------- | -------------------------------------------- |
133-
| `npm run dev` | Vite dev server with hot reload (port 4001). |
134-
| `npm run build` | Build static assets into `frontend/dist/`. |
135-
| `npm run test:run` | Unit tests (Vitest). |
136-
| `npm run test:contract` | Contract tests with MSW. |
137-
138-
## Testing Strategy
139-
140-
| Layer | Tooling | Focus |
141-
| ----------------- | ------------------------ | ---------------------------------------------------- |
142-
| Ruby API | RSpec + Rack::Test | Feed creation, retrieval, auth paths. |
143-
| Frontend unit | Vitest + Testing Library | Component rendering and hooks with mocked fetch. |
144-
| Frontend contract | Vitest + MSW | End-to-end fetch flows against mocked API responses. |
145-
| Docker smoke | RSpec (`:docker`) | Net::HTTP probes against the containerised service. |
61+
See the [Contributor Guide](docs/README.md) for setup commands, testing strategy, and backend structure rules.
14662

14763
## Contributing
14864

0 commit comments

Comments
 (0)