Skip to content
This repository was archived by the owner on Nov 24, 2025. It is now read-only.

Commit d164c8b

Browse files
committed
docs: add GitHub repository setup automation
- Add automated GitHub setup script for easy repository creation - Include comprehensive setup guide with step-by-step instructions - Cover repository configuration, branch protection, and CI/CD setup - Provide guidance for open source project promotion and community engagement
1 parent 9427c36 commit d164c8b

2 files changed

Lines changed: 225 additions & 0 deletions

File tree

GITHUB_SETUP.md

Lines changed: 148 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,148 @@
1+
# GitHub Repository Setup Guide
2+
3+
This guide will help you create a GitHub repository and push your Passkey Auth project to GitHub.
4+
5+
## Prerequisites
6+
7+
- Git installed and configured
8+
- GitHub account
9+
- SSH keys set up with GitHub (recommended) or HTTPS access
10+
11+
## Step-by-Step Instructions
12+
13+
### 1. Create GitHub Repository
14+
15+
1. Go to [GitHub](https://github.com) and sign in
16+
2. Click the "+" icon in the top right corner
17+
3. Select "New repository"
18+
4. Fill in the repository details:
19+
- **Repository name**: `passkey-auth` (or your preferred name)
20+
- **Description**: "WebAuthn (FIDO2) passkey authentication service for Kubernetes nginx ingress"
21+
- **Visibility**: Public (for open source) or Private
22+
- **DO NOT** initialize with README, .gitignore, or license (we already have these)
23+
5. Click "Create repository"
24+
25+
### 2. Push Your Code
26+
27+
#### Option A: Use the Setup Script (Recommended)
28+
```bash
29+
# Run the automated setup script
30+
./scripts/github-setup.sh
31+
```
32+
33+
#### Option B: Manual Setup
34+
```bash
35+
# Set your GitHub username and repository name
36+
GITHUB_USERNAME="your-username"
37+
REPO_NAME="passkey-auth"
38+
39+
# Add remote origin
40+
git remote add origin https://github.com/${GITHUB_USERNAME}/${REPO_NAME}.git
41+
42+
# Push to GitHub
43+
git branch -M main
44+
git push -u origin main
45+
```
46+
47+
### 3. Configure Repository Settings
48+
49+
After pushing, configure your repository:
50+
51+
#### Basic Settings
52+
1. Go to your repository on GitHub
53+
2. Click "Settings" tab
54+
3. Add a description: "WebAuthn (FIDO2) passkey authentication service for Kubernetes nginx ingress"
55+
4. Add topics: `webauthn`, `fido2`, `passkey`, `kubernetes`, `authentication`, `golang`, `nginx`, `ingress`
56+
5. Add website URL if you have a demo
57+
58+
#### Branch Protection (Recommended)
59+
1. Go to Settings → Branches
60+
2. Click "Add rule"
61+
3. Branch name pattern: `main`
62+
4. Enable:
63+
- ✅ Require a pull request before merging
64+
- ✅ Require status checks to pass before merging
65+
- ✅ Require branches to be up to date before merging
66+
- ✅ Include administrators
67+
68+
#### GitHub Actions Secrets (For CI/CD)
69+
If you want to publish Docker images:
70+
71+
1. Go to Settings → Secrets and variables → Actions
72+
2. Add repository secrets:
73+
- `DOCKER_USERNAME`: Your Docker Hub username
74+
- `DOCKER_PASSWORD`: Your Docker Hub password or access token
75+
76+
### 4. Optional Enhancements
77+
78+
#### GitHub Pages (Documentation)
79+
1. Go to Settings → Pages
80+
2. Source: Deploy from a branch
81+
3. Branch: `main`
82+
4. Folder: `/docs` (create docs folder if needed)
83+
84+
#### Issue Templates
85+
The repository already includes:
86+
- Bug report template
87+
- Feature request template
88+
- Pull request template
89+
90+
#### Discussions
91+
1. Go to Settings → General
92+
2. Scroll to "Features"
93+
3. Enable "Discussions" for community Q&A
94+
95+
#### Security
96+
1. Go to Settings → Security
97+
2. Enable "Dependency graph"
98+
3. Enable "Dependabot alerts"
99+
4. Enable "Dependabot security updates"
100+
101+
## Repository Structure
102+
103+
Your repository now includes:
104+
105+
```
106+
passkey-auth/
107+
├── .github/ # GitHub templates and workflows
108+
│ ├── ISSUE_TEMPLATE/ # Bug and feature request templates
109+
│ ├── workflows/ # GitHub Actions CI/CD
110+
│ └── pull_request_template.md
111+
├── internal/ # Go application code
112+
├── k8s/ # Kubernetes manifests
113+
├── scripts/ # Build and deployment scripts
114+
├── web/ # Web interface
115+
├── CHANGELOG.md # Version history
116+
├── CONTRIBUTING.md # Contribution guidelines
117+
├── LICENSE # MIT License
118+
├── README.md # Main documentation
119+
├── Dockerfile # Docker build configuration
120+
└── Makefile # Development commands
121+
```
122+
123+
## Next Steps
124+
125+
1. **Star your repository** to bookmark it
126+
2. **Watch releases** to get notified of updates
127+
3. **Create your first release** when ready
128+
4. **Share with the community** on relevant platforms
129+
5. **Write blog posts** about your project
130+
6. **Submit to awesome lists** related to authentication or Kubernetes
131+
132+
## Promoting Your Open Source Project
133+
134+
- **Reddit**: Post in r/golang, r/kubernetes, r/selfhosted
135+
- **Hacker News**: Share when you have significant updates
136+
- **Dev.to**: Write technical blog posts
137+
- **Twitter/X**: Share updates and engage with the community
138+
- **Kubernetes Slack**: Share in relevant channels
139+
- **Awesome Lists**: Submit to awesome-go, awesome-kubernetes, etc.
140+
141+
## Support
142+
143+
If you need help with GitHub setup:
144+
- [GitHub Docs](https://docs.github.com)
145+
- [Git Handbook](https://guides.github.com/introduction/git-handbook/)
146+
- [GitHub Community](https://github.qkg1.topmunity)
147+
148+
Happy coding! 🚀

scripts/github-setup.sh

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
#!/bin/bash
2+
3+
# GitHub Repository Setup Script
4+
# Run this script after creating the repository on GitHub
5+
6+
set -e
7+
8+
echo "🚀 Passkey Auth - GitHub Repository Setup"
9+
echo "=========================================="
10+
11+
# Check if we're in a git repository
12+
if [ ! -d ".git" ]; then
13+
echo "❌ Error: Not in a git repository. Run this from the project root."
14+
exit 1
15+
fi
16+
17+
# Check for uncommitted changes
18+
if ! git diff-index --quiet HEAD --; then
19+
echo "⚠️ Warning: You have uncommitted changes."
20+
echo "Please commit or stash them before proceeding."
21+
exit 1
22+
fi
23+
24+
# Prompt for GitHub username and repository name
25+
read -p "Enter your GitHub username: " GITHUB_USERNAME
26+
read -p "Enter the repository name (default: passkey-auth): " REPO_NAME
27+
REPO_NAME=${REPO_NAME:-passkey-auth}
28+
29+
# Set the repository URL
30+
REPO_URL="https://github.com/${GITHUB_USERNAME}/${REPO_NAME}.git"
31+
32+
echo ""
33+
echo "📋 Repository Details:"
34+
echo " Username: ${GITHUB_USERNAME}"
35+
echo " Repository: ${REPO_NAME}"
36+
echo " URL: ${REPO_URL}"
37+
echo ""
38+
39+
# Confirm before proceeding
40+
read -p "Do you want to proceed? (y/N): " CONFIRM
41+
if [[ ! $CONFIRM =~ ^[Yy]$ ]]; then
42+
echo "Aborted."
43+
exit 1
44+
fi
45+
46+
echo ""
47+
echo "⚙️ Setting up remote repository..."
48+
49+
# Add remote origin
50+
if git remote get-url origin >/dev/null 2>&1; then
51+
echo "📝 Updating existing origin remote..."
52+
git remote set-url origin "${REPO_URL}"
53+
else
54+
echo "📝 Adding origin remote..."
55+
git remote add origin "${REPO_URL}"
56+
fi
57+
58+
# Set upstream branch and push
59+
echo "📤 Pushing to GitHub..."
60+
git branch -M main
61+
git push -u origin main
62+
63+
echo ""
64+
echo "✅ Success! Your repository has been pushed to GitHub."
65+
echo ""
66+
echo "🔗 Repository URL: https://github.com/${GITHUB_USERNAME}/${REPO_NAME}"
67+
echo ""
68+
echo "📋 Next Steps:"
69+
echo " 1. Visit your repository on GitHub"
70+
echo " 2. Add repository description and topics"
71+
echo " 3. Configure branch protection rules (optional)"
72+
echo " 4. Set up GitHub Pages for documentation (optional)"
73+
echo " 5. Configure secrets for GitHub Actions:"
74+
echo " - DOCKER_USERNAME (for Docker Hub publishing)"
75+
echo " - DOCKER_PASSWORD (for Docker Hub publishing)"
76+
echo ""
77+
echo "🎉 Your open source project is now live!"

0 commit comments

Comments
 (0)