Skip to content

Commit 2d0617b

Browse files
committed
0.1.0 inital release
0 parents  commit 2d0617b

43 files changed

Lines changed: 3990 additions & 0 deletions

Some content is hidden

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

.gitignore

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# dependencies
2+
/node_modules
3+
/.pnp
4+
.pnp.*
5+
.yarn/*
6+
!.yarn/patches
7+
!.yarn/plugins
8+
!.yarn/releases
9+
!.yarn/versions
10+
11+
# testing
12+
/coverage
13+
14+
# misc
15+
/.next/
16+
/out/
17+
.next/
18+
.vscode/
19+
20+
# production
21+
/build
22+
23+
# misc
24+
.DS_Store
25+
*.pem
26+
27+
# debug
28+
npm-debug.log*
29+
yarn-debug.log*
30+
yarn-error.log*
31+
.pnpm-debug.log*
32+
33+
# env files
34+
.env*.local
35+
36+
# typescript
37+
*.tsbuildinfo
38+
next-env.d.ts

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2026 Githubster
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
# Githubster
2+
3+
![Githubster](public/og-image.png)
4+
5+
Track your GitHub followers, unfollowers and following relationships.
6+
7+
![Githubster](https://img.shields.io/badge/Next.js-16-black?logo=next.js) ![TypeScript](https://img.shields.io/badge/TypeScript-5.9-blue?logo=typescript) ![Tailwind](https://img.shields.io/badge/Tailwind-4.3-38bdf8?logo=tailwindcss)
8+
9+
Githubster is a free, open-source tool that helps you understand your GitHub social graph. Instantly see who doesn't follow you back, discover followers you haven't followed yet, and get a clear overview of your connections — all without signing in or sharing any personal data.
10+
11+
## Features
12+
13+
- **Not Following Back** — people you follow who don't follow you back
14+
- **You Don't Follow Back** — people who follow you but you don't follow back
15+
- **Following** — everyone you follow
16+
- **Followers** — everyone who follows you
17+
- Search and filter within each tab
18+
- Optional GitHub token for higher rate limits
19+
- Dark theme with GitHub-inspired design
20+
- Fully client-side — no data stored on any server
21+
22+
## Getting Started
23+
24+
```bash
25+
# Install dependencies
26+
npm install
27+
28+
# Run development server
29+
npm run dev
30+
```
31+
32+
Open [http://localhost:3000](http://localhost:3000) in your browser.
33+
34+
## GitHub Token (Optional)
35+
36+
Without a token, the GitHub API allows 60 requests per hour. With a personal access token, you get 5,000 requests per hour.
37+
38+
To create a token:
39+
1. Go to [GitHub Settings → Developer settings → Personal access tokens](https://github.com/settings/tokens)
40+
2. Generate a new token (classic) — no scopes needed for public data
41+
3. Paste it in the token field in the app
42+
43+
## Tech Stack
44+
45+
- [Next.js 16](https://nextjs.org/) — React framework with Turbopack
46+
- [TypeScript 5.9](https://www.typescriptlang.org/) — type safety
47+
- [Tailwind CSS 4](https://tailwindcss.com/) — utility-first styling
48+
- [GitHub REST API](https://docs.github.com/en/rest) — data source
49+
50+
## License
51+
52+
MIT

next.config.ts

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
import type { NextConfig } from "next";
2+
3+
const nextConfig: NextConfig = {
4+
headers: async () => [
5+
{
6+
source: "/(.*)",
7+
headers: [
8+
{
9+
key: "X-DNS-Prefetch-Control",
10+
value: "on",
11+
},
12+
{
13+
key: "Strict-Transport-Security",
14+
value: "max-age=63072000; includeSubDomains; preload",
15+
},
16+
{
17+
key: "X-Content-Type-Options",
18+
value: "nosniff",
19+
},
20+
{
21+
key: "X-Frame-Options",
22+
value: "DENY",
23+
},
24+
{
25+
key: "X-XSS-Protection",
26+
value: "1; mode=block",
27+
},
28+
{
29+
key: "Referrer-Policy",
30+
value: "strict-origin-when-cross-origin",
31+
},
32+
{
33+
key: "Permissions-Policy",
34+
value: "camera=(), microphone=(), geolocation=()",
35+
},
36+
{
37+
key: "Content-Security-Policy",
38+
value: [
39+
"default-src 'self'",
40+
"script-src 'self' 'unsafe-inline' 'unsafe-eval'",
41+
"style-src 'self' 'unsafe-inline' https://fonts.googleapis.com",
42+
"img-src 'self' https://avatars.githubusercontent.com data:",
43+
"font-src 'self' https://fonts.gstatic.com",
44+
"connect-src 'self' https://api.github.com",
45+
"frame-ancestors 'none'",
46+
].join("; "),
47+
},
48+
],
49+
},
50+
],
51+
};
52+
53+
export default nextConfig;

0 commit comments

Comments
 (0)