Skip to content

Commit d597f4e

Browse files
committed
Make the public repo readable and maintainable
Repo health was 28%: a README and nothing else. Adding what actually carries meaning rather than what merely fills the score: - LICENSE — the site source is public for transparency, not reuse. States plainly what is and is not permitted, and that the linked tools are MIT. - SECURITY.md — no public issue; Telegram or GitHub private reporting; and an honest account of what the attack surface is for a static site with no server, no JS, no cookies and no third-party requests. - CONTRIBUTING.md — says the thing most repos imply but never write down: PRs for the copy, design or pricing are not accepted. Bug and accessibility reports are genuinely welcome. - Issue form for site defects, so a broken link arrives with a URL and a kind. - Dependabot for npm and Actions, grouped weekly. An Astro minor or a stale Action should arrive as a green PR, not as a surprise in six months. - Weekly scheduled rebuild, so upstream breakage shows up as a failed run instead of a dead site. - package.json gains repository, homepage, author and the licence reality; .nvmrc pins the Node the CI uses. - README gets the share card as a banner and a jump list — the repo has a face now, and a visitor can scan it. Verified with `npm ci` from a clean checkout, since that is what the deploy runs.
1 parent 061296e commit d597f4e

9 files changed

Lines changed: 193 additions & 1 deletion

File tree

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
name: Something is broken
2+
description: A broken link, a typo, a page that does not work, or an accessibility defect on the live site.
3+
title: "[site] "
4+
labels: ["bug"]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
This repository is the source of a commercial website, published so its claims can be
10+
checked. **Work enquiries go to [Telegram](https://t.me/relaystack)** — not here.
11+
Security issues must **not** be filed publicly; see [SECURITY.md](../blob/main/SECURITY.md).
12+
- type: input
13+
id: url
14+
attributes:
15+
label: Which page?
16+
description: The full URL, or the file path if it is in the repository.
17+
placeholder: https://relaystack.github.io/preise/
18+
validations:
19+
required: true
20+
- type: dropdown
21+
id: kind
22+
attributes:
23+
label: What kind of problem?
24+
options:
25+
- Broken link (404)
26+
- Typo or factual error
27+
- Layout or rendering defect
28+
- Accessibility problem
29+
- Wrong or missing structured data
30+
- Something else
31+
validations:
32+
required: true
33+
- type: textarea
34+
id: detail
35+
attributes:
36+
label: What happens, and what should happen?
37+
description: If it is a link, the target that fails. If it is accessibility, the page and the problem.
38+
validations:
39+
required: true
40+
- type: input
41+
id: environment
42+
attributes:
43+
label: Browser or device (optional)
44+
placeholder: Firefox 141, Android 15
45+
validations:
46+
required: false

‎.github/dependabot.yml‎

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
version: 2
2+
3+
# Keeps the site from rotting: an Astro minor or a stale Action should arrive as
4+
# a PR with a green build, not as a surprise in six months. Grouped so this does
5+
# not turn into a wall of pull requests for a marketing site.
6+
updates:
7+
- package-ecosystem: npm
8+
directory: "/"
9+
schedule:
10+
interval: weekly
11+
day: monday
12+
open-pull-requests-limit: 3
13+
groups:
14+
npm-minor-patch:
15+
patterns: ["*"]
16+
update-types: ["minor", "patch"]
17+
18+
- package-ecosystem: github-actions
19+
directory: "/"
20+
schedule:
21+
interval: weekly
22+
day: monday
23+
open-pull-requests-limit: 3

‎.github/workflows/deploy.yml‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@ on:
44
push:
55
branches: [main]
66
workflow_dispatch:
7+
# A marketing site that silently rots is worse than one that never shipped.
8+
# This catches an upstream dependency break before a visitor does.
9+
schedule:
10+
- cron: "0 5 * * 1"
711

812
permissions:
913
contents: read

‎.nvmrc‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
22

‎CONTRIBUTING.md‎

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# Contributing
2+
3+
This repository is the source of a commercial website. It is public so the claims
4+
on the site can be checked — not because it is an open project.
5+
6+
## Pull requests
7+
8+
**Not accepted** for the site's copy, design, structure or pricing. Those are the
9+
business, not a community artefact, and a well-meant rewrite of a price or a claim
10+
would be a commercial change dressed as a contribution.
11+
12+
## What is genuinely welcome
13+
14+
- **Broken links, typos, and accessibility defects.** If something on the live site
15+
does not work, that is a real bug and I want to know. Open an issue using the
16+
template.
17+
- **Security reports.** Do not open a public issue — see [SECURITY.md](SECURITY.md).
18+
- **Corrections to the market figures** cited on the price page. If you have a
19+
better public source for DACH pricing, that improves the site for everyone.
20+
21+
## Work enquiries
22+
23+
This is not a contribution channel. If you want a website or SEO work, message
24+
[@relaystack on Telegram](https://t.me/relaystack).
25+
26+
## If you are forking anyway
27+
28+
The [LICENSE](LICENSE) does not permit it. Read it before you spend time.

‎LICENSE‎

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
Copyright (c) 2026 RelayStack. All rights reserved.
2+
3+
This repository contains the source code of a commercial website. It is public
4+
for transparency — so that the claims the site makes can be checked against what
5+
it actually ships — and not as a grant of rights.
6+
7+
## Not permitted without written permission
8+
9+
- Copying, modifying or redistributing this source, in whole or in part
10+
- Reusing the design, layout, visual system or copy
11+
- Reusing the typefaces bundled in `public/fonts/` as webfonts for another site
12+
(they are licensed from their foundry for use on this domain)
13+
- Publishing a derivative site built from this repository
14+
15+
## Permitted
16+
17+
- Reading it
18+
- Quoting short excerpts with attribution, for review or comment
19+
- Linking to it
20+
21+
## Separate, and open
22+
23+
The open-source projects this site links to are **not** covered by the above and
24+
are licensed under MIT:
25+
26+
- https://github.com/RelayStack/astro-seo-toolkit
27+
- https://github.com/RelayStack/astro-local-business
28+
29+
## Trademarks
30+
31+
Product names, logos and brands referenced in this repository remain the property
32+
of their respective owners. The fonts are used under their own licence, not
33+
granted here.
34+
35+
## No warranty
36+
37+
The software is provided "as is", without warranty of any kind. Nothing in this
38+
file creates a licence to any trademark or to any third-party work.

‎README.md‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@ Schweiz. Festpreise, gemessene Werte, kein Baukasten.
55

66
**[→ Live ansehen](https://relaystack.github.io/)** · **[→ Auf Telegram fragen](https://t.me/relaystack)**
77

8+
<img src="public/og-card.png" alt="Websites und SEO, die gefunden werden" width="100%">
9+
10+
[Für wen](#für-wen) · [Das Problem](#das-problem-in-einem-satz) · [Leistungen und Preise](#leistungen-und-preise) · [Was nicht wirkt](#was-nicht-wirkt) · [Ablauf](#in-drei-schritten) · [Für Entwickler](#für-entwickler)
11+
812
---
913

1014
## Für wen

‎SECURITY.md‎

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# Security policy
2+
3+
## Reporting a vulnerability
4+
5+
**Do not open a public issue.** Message [@relaystack on Telegram](https://t.me/relaystack)
6+
and include what you found, where, and how to reproduce it. If you prefer, use
7+
GitHub's [private vulnerability reporting](../../security/advisories/new) on this
8+
repository.
9+
10+
I aim to acknowledge within three working days. There is no bounty — this is a
11+
one-person business, and I would rather say that up front than imply otherwise.
12+
13+
## Scope
14+
15+
This is a **static site**: no server, no database, no authentication, no user
16+
accounts, no cookies, and no client-side JavaScript. That removes most of the
17+
usual attack surface. The parts that remain real:
18+
19+
- **The build and its dependencies** — supply chain, including the GitHub Actions
20+
used to deploy
21+
- **The deploy path** — anything that could get code onto the published site
22+
- **Content** — a link, a claim, or an embedded asset that misleads a visitor
23+
24+
Out of scope: findings that require the visitor to have already compromised their
25+
own machine, and reports produced solely by an automated scanner with no working
26+
proof.
27+
28+
## What the site does deliberately
29+
30+
- **No third-party requests.** Fonts are self-hosted; there are no analytics,
31+
pixels or embedded widgets. A visitor's browser talks to this domain and nothing
32+
else, except when they click a link out.
33+
- **No client-side JavaScript.** Nothing executes on the visitor's machine.
34+
- **No form, no data collection.** Contact happens on Telegram, which is a separate
35+
service with its own terms.
36+
- **Dependencies pinned** by lockfile; Dependabot watches npm and the Actions.
37+
- **Deploys only from `main`**, through the workflow in `.github/workflows/deploy.yml`,
38+
which fails the build if the SEO files are missing or any internal link is broken.

‎package.json‎

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,19 @@
11
{
22
"name": "relaystack-site",
3+
"description": "RelayStack \u2014 the source of relaystack.github.io: Astro websites and SEO visibility for the German-speaking market.",
34
"type": "module",
45
"version": "0.1.0",
56
"private": true,
6-
"description": "RelayStack \u2014 Astro websites and SEO visibility for the German-speaking market.",
7+
"license": "UNLICENSED",
8+
"author": {
9+
"name": "RelayStack",
10+
"url": "https://relaystack.github.io/"
11+
},
12+
"homepage": "https://relaystack.github.io/",
13+
"repository": {
14+
"type": "git",
15+
"url": "git+https://github.com/RelayStack/relaystack.github.io.git"
16+
},
717
"engines": {
818
"node": ">=22.22.0"
919
},

0 commit comments

Comments
 (0)