Skip to content

Commit 9717720

Browse files
authored
Merge branch 'is-a-dev:main' into main
2 parents fb206e4 + 35993e0 commit 9717720

File tree

859 files changed

+6844
-934
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

859 files changed

+6844
-934
lines changed

.github/copilot-instructions.md

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
# GitHub Copilot Instructions for is-a-dev/register
2+
3+
## Repository Purpose
4+
This repository handles pull requests that register new `.is-a.dev` subdomains. Every PR adds or modifies **only** JSON files in the `domains/` directory. These files define DNS records.
5+
6+
Copilot must review **every PR** with these priorities:
7+
1. The PR description **must** exactly match and fully complete the `.github/PULL_REQUEST_TEMPLATE.md`
8+
2. Every JSON file must follow the exact filename rules, JSON schema, and validation rules from https://docs.is-a.dev/domain-structure/
9+
3. If anything is wrong in the PR description **or** any JSON file, post a clear comment using the exact copy-pasta error messages (or very close variations that match the style). Be direct and helpful.
10+
4. Only comment on real issues. Do not approve the PR if any errors exist.
11+
12+
## PR Description / Template Check (Critical)
13+
(unchanged from previous version — keep the same checks and copy-pasta for incomplete template, no preview, inaccessible site, etc.)
14+
15+
## Filename Rules (Strict)
16+
Files **must** be in the `domains/` directory and follow these exact rules:
17+
- Must end in `.json`
18+
- All lowercase letters only (no uppercase anywhere)
19+
- Alphanumeric + dashes/underscores only (no consecutive dashes)
20+
- Filenames (without `.json`) **cannot** match any entry in `util/reserved.json`
21+
22+
Reserved names are listed in `util/reserved.json`. These subdomain names may NOT be registered.
23+
24+
**Invalid filename errors to use verbatim:**
25+
- "File does not end in .json. Make sure the file extension is correct. Reopen this PR when you have this corrected."
26+
- "File is not in the correct directory. Must be in the domains directory. Reopen this PR when you have this corrected."
27+
- "Filenames cannot have uppercase characters. See docs for more information: https://docs.is-a.dev/"
28+
- "Filename is reserved. See util/reserved.json for the full list. Reopen this PR when you have this corrected."
29+
30+
## JSON Schema & Validation Rules (Updated & Expanded)
31+
Every file must be valid JSON and follow this exact structure from https://docs.is-a.dev/domain-structure/:
32+
33+
```json
34+
{
35+
"owner": {
36+
"username": "exact-github-username-of-pr-author",
37+
"email": "optional@email.com"
38+
},
39+
"records": {
40+
// record types here
41+
}
42+
}
43+
```
44+
45+
**Critical rules (enforce strictly):**
46+
47+
- `"owner"."username"` **MUST** exactly match the GitHub username of the person who opened the PR, **unless** the PR author is a trusted maintainer listed in `util/trusted.json`.
48+
Trusted maintainers: STICKnoLOGIC, DEV-DIBSTER, iostpa, orangci, Stef-00012, satr14washere, wdhdev.
49+
50+
- `"records"` is required (note: it must be `"records"`, never `"record"`).
51+
- **CNAME records cannot be used with any other records and vice versa.** Only one record type is allowed if CNAME is present.
52+
- **A records must be an array of strings** (never a single string, object, or scalar value). Example: `"A": ["192.0.2.1"]`
53+
- A records **cannot** contain public DNS resolver IPs (Cloudflare, Google, Quad9, OpenDNS, etc.). Prohibited examples: 1.1.1.1, 1.1.1.2, 1.0.0.1, 8.8.8.8, 8.8.4.4, 9.9.9.9, 149.112.112.112, 208.67.222.222, 208.67.220.220.
54+
- CNAME must be a single lowercase string (no protocols, no paths, no query parameters, no arrays).
55+
- TXT verification records must be paired correctly (separate `_vercel.*.json` for Vercel, proper TXT for GitHub Pages).
56+
- Other record types (AAAA, MX, NS, etc.) must follow the exact array/object formats shown in the docs.
57+
58+
**Use these exact (or matching-style) error messages:**
59+
- "File does not follow proper schema. See docs for more information: https://docs.is-a.dev/"
60+
- "This should be `records` not `record`."
61+
- "Cannot use CNAME in conjunction with other records and vice versa. See docs for more information: https://docs.is-a.dev/"
62+
- "A records must be placed within an array. Example: \"A\": [\"192.0.2.1\"]. Reopen this PR when fixed."
63+
- "A records cannot use public DNS resolver IPs (1.1.1.1, 8.8.8.8, 9.9.9.9, etc.). Reopen this PR when fixed."
64+
- "Invalid username, username does not match the GitHub account that is opening the pull request. See docs for more information: https://docs.is-a.dev/ (trusted maintainers exempt — see util/trusted.json)"
65+
- "Invalid CNAME. CNAME cannot contain protocols, file paths, URL parameters, or anything combination of those. CNAME records must be lowercased. See docs for more information: https://docs.is-a.dev/ Reopen PR when this is fixed."
66+
- All previous verification, JSON, and socials copy-pasta remain valid.
67+
68+
## Verification-Specific Guidance
69+
70+
## General Review Style
71+
- Be concise and use the exact copy-pasta messages whenever they match the issue.
72+
- Always link back to https://docs.is-a.dev/ or the specific guide.
73+
- If the site has "Little content provided" → use the existing copy-pasta.
74+
- For new rule violations, use the exact phrasing above so maintainers instantly recognize the feedback.
75+
- Suggest reopening the PR after fixes.
76+
- You may add a short polite note around the copy-pasta, but keep the core error verbatim.
77+
- Do not approve or merge any PR that has errors.
78+
79+
Follow these instructions on every PR review. This ensures full consistency with the automated tests in `/tests`, the reserved/trusted lists, and maintainer expectations.

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121
name: Tests
2222
runs-on: ubuntu-latest
2323
steps:
24-
- uses: actions/checkout@v4
24+
- uses: actions/checkout@v6
2525

2626
- run: npm install
2727

.github/workflows/dnscontrol.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
name: Tests
1818
runs-on: ubuntu-latest
1919
steps:
20-
- uses: actions/checkout@v4
20+
- uses: actions/checkout@v6
2121

2222
- uses: is-a-dev/dnscontrol-action@main
2323
with:

.github/workflows/publish.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
name: DNS
2020
runs-on: ubuntu-latest
2121
steps:
22-
- uses: actions/checkout@v4
22+
- uses: actions/checkout@v6
2323

2424
- name: Generate creds.json
2525
run: echo '{"cloudflare":{"TYPE":"CLOUDFLAREAPI","apitoken":"$CLOUDFLARE_API_TOKEN"}}' > ./creds.json

.github/workflows/raw-api.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ jobs:
2121
runs-on: ubuntu-latest
2222

2323
steps:
24-
- uses: actions/checkout@v4
24+
- uses: actions/checkout@v6
2525

26-
- uses: actions/setup-node@v4
26+
- uses: actions/setup-node@v6
2727
with:
2828
node-version: 20.x
2929

.github/workflows/stale.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
name: Label
1212
runs-on: ubuntu-latest
1313
steps:
14-
- uses: actions/stale@v3
14+
- uses: actions/stale@v10
1515
with:
1616
repo-token: ${{ secrets.GITHUB_TOKEN }}
1717
days-before-stale: 3

README.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
</p> -->
44

55
<p align="center">
6-
<img height="350" alt="is-a.dev Octoverse 2025 Banner" src="https://raw.githubusercontent.com/is-a-dev/register/main/media/octoverse-2025/is-a-dev_register_1200x630.jpg">
6+
<img height="350" alt="is-a.dev Banner" src="https://raw.githubusercontent.com/is-a-dev/register/main/media/banner.png">
77
</p>
88

99
<p align="center">
@@ -36,6 +36,13 @@ Not all announcements are posted on GitHub[^1], however they will always be post
3636
- Once your PR is merged, your DNS records should be published with-in a few minutes.
3737
- Enjoy your new `.is-a.dev` subdomain! Please consider leaving a star ⭐️ to help support us!
3838

39+
## Spam Pull Requests
40+
With the recent rising of invalid PRs, including PRs generated with AI, we reserve the right to:
41+
42+
- Close these PRs without explanation.
43+
- Block or limit the author's ability to interact with is-a.dev's repositories and resources.
44+
- Remove any existing domains owned by the author if connected to TOS-violating content.
45+
3946
## Report Abuse
4047
If you find any subdomains being abused or breaking our TOS, please report them by [creating an issue](https://github.com/is-a-dev/register/issues/new?assignees=&labels=report-abuse&projects=&template=report-abuse.md&title=Report+abuse) with relevant evidence.
4148

SECURITY.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
# Security Policy
22

33
## Reporting a vulnerability
4-
Please report all vulnerabilities to security@is-a.dev.
4+
Please report all vulnerabilities to admin@is-a.dev.

TERMS_OF_SERVICE.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Terms of Service
22
Welcome to **is-a.dev** ("our", "us", "we"), a free subdomain service provided to individuals. By using our service, you agree to the following Terms of Service ("Terms"). Please read them carefully.
33

4-
For questions or concerns about these Terms, please contact us at support@is-a.dev.
4+
For questions or concerns about these Terms, please contact us at admin@is-a.dev.
55

66
**Last Updated**: 27th October, 2025
77

@@ -62,7 +62,7 @@ We reserve the right to terminate your subdomain at any time, for any reason.
6262
Termination may occur without prior notice. Any donations will not be refunded.
6363

6464
## 7. Privacy
65-
For privacy-related inquiries, please contact us at support@is-a.dev. We are not responsible for any data or privacy breaches resulting from the use of our service.
65+
For privacy-related inquiries, please contact us at admin@is-a.dev. We are not responsible for any data or privacy breaches resulting from the use of our service.
6666

6767
We do not collect or process personal data beyond what is necessary to operate the service.
6868

domains/0xpriyanshu.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"owner": {
3+
"username": "priyanshuthakare",
4+
"email": "anshulthakare83@gmail.com"
5+
},
6+
"records": {
7+
"CNAME": "priyanshuthakare.github.io"
8+
}
9+
}

0 commit comments

Comments
 (0)