Jiseoup/showmycodePublic
EN|KO
  • Code
  • Commits
  • Pull Requests
← Back to list

docs: add CONTRIBUTING.md, CODE_OF_CONDUCT.md, and project guidelines to CLAUDE.md

JiseoupJiseoup · Mar 31, 2026126bd7d

Files changed3+149 -1

Changed files

+149 -1 · 3

@@ -24,9 +24,22 @@ Copy `.env.example` to `.env.local` and fill in:
- `GITHUB_OWNER` — GitHub username/org
- `GITHUB_REPOS` — Comma-separated repository names to expose
+## Project Philosophy
+
+This is an **open-source project** that accepts external contributions. All implementation decisions must follow open-source best practices:
+
+- **Branch strategy** — GitHub Flow. Work on feature branches (`feat/`, `fix/`, `chore/`, `refactor/`) and merge via PR to `main`.
+- **Commit messages** — Conventional Commits (`feat:`, `fix:`, `chore:`, `refactor:`, `docs:`, `test:`).
+- **PR discipline** — Squash and merge. Every PR must pass CI (build + lint + test) and receive at least one review.
+- **Code quality** — No PR without passing checks. Add tests for new features when a test framework is in place.
+- **Documentation** — User-facing changes should update relevant docs. Keep CONTRIBUTING.md and Issue/PR templates current.
+- **i18n** — All user-facing strings must support KO/EN. Never hardcode display text.
+
+The goal of showmycode is to let **anyone** securely share private GitHub repositories with specific people (e.g. interviewers, collaborators) without exposing credentials. It is not just a personal portfolio tool — it is a general-purpose solution for controlled code sharing.
+
## Architecture
-**showmycode** is a Next.js 16 App Router application that serves as a secure portfolio viewer for GitHub repositories — allowing users to share private code with interviewers without exposing credentials.
+**showmycode** is a Next.js 16 App Router application that lets users share private GitHub repositories securely — without exposing credentials to viewers.
### Routing
@@ -0,0 +1,41 @@
+# Contributor Covenant Code of Conduct
+
+## Our Pledge
+
+We as members, contributors, and leaders pledge to make participation in our
+community a harassment-free experience for everyone, regardless of age, body
+size, visible or invisible disability, ethnicity, sex characteristics, gender
+identity and expression, level of experience, education, socio-economic status,
+nationality, personal appearance, race, religion, or sexual identity
+and orientation.
+
+## Our Standards
+
+Examples of behavior that contributes to a positive environment:
+
+- Using welcoming and inclusive language
+- Being respectful of differing viewpoints and experiences
+- Gracefully accepting constructive criticism
+- Focusing on what is best for the community
+- Showing empathy towards other community members
+
+Examples of unacceptable behavior:
+
+- The use of sexualized language or imagery and unwelcome sexual attention
+- Trolling, insulting or derogatory comments, and personal or political attacks
+- Public or private harassment
+- Publishing others' private information without explicit permission
+- Other conduct which could reasonably be considered inappropriate
+
+## Enforcement
+
+Instances of abusive, harassing, or otherwise unacceptable behavior may be
+reported to the project maintainers. All complaints will be reviewed and
+investigated and will result in a response that is deemed necessary and
+appropriate to the circumstances.
+
+## Attribution
+
+This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org/),
+version 2.1, available at
+https://www.contributor-covenant.org/version/2/1/code_of_conduct.html.
@@ -0,0 +1,94 @@
+# Contributing to showmycode
+
+Thank you for your interest in contributing to showmycode! This guide will help you get started.
+
+## Getting Started
+
+1. **Fork** the repository
+2. **Clone** your fork:
+ ```bash
+ git clone https://github.com/<your-username>/showmycode.git
+ cd showmycode
+ ```
+3. **Install dependencies:**
+ ```bash
+ npm install
+ ```
+4. **Set up environment variables:**
+ ```bash
+ cp .env.example .env.local
+ ```
+ Fill in `GITHUB_PAT`, `GITHUB_OWNER`, and `GITHUB_REPOS` as described in the README.
+5. **Run the dev server:**
+ ```bash
+ npm run dev
+ ```
+
+## Branch Naming
+
+Create a branch from `main` using the following prefixes:
+
+| Prefix | Purpose | Example |
+|--------|---------|---------|
+| `feat/` | New feature | `feat/repo-search` |
+| `fix/` | Bug fix | `fix/dark-mode-flash` |
+| `chore/` | Config, dependencies, CI | `chore/upgrade-next` |
+| `refactor/` | Code restructuring | `refactor/github-api` |
+| `docs/` | Documentation only | `docs/setup-guide` |
+| `test/` | Adding or updating tests | `test/api-route` |
+
+## Commit Messages
+
+We follow [Conventional Commits](https://www.conventionalcommits.org/):
+
+```
+feat: add repository search to home page
+fix: resolve syntax highlighting in dark mode
+docs: update setup instructions for GitHub PAT
+```
+
+- Use the **imperative mood** ("add", not "added")
+- Keep the subject line under 72 characters
+- Add a body for non-trivial changes explaining **why**
+
+## Pull Requests
+
+1. Ensure your branch is up to date with `main`
+2. Run checks locally before pushing:
+ ```bash
+ npm run build && npm run lint
+ ```
+3. Open a PR against `main` and fill in the PR template
+4. PRs are merged via **squash and merge**
+
+### What makes a good PR
+
+- **Small and focused** — one concern per PR
+- **Descriptive title** — follows Conventional Commits format
+- **Filled-in template** — explains what changed and how to verify
+- **Passing CI** — build and lint must pass
+
+## Internationalization (i18n)
+
+All user-facing strings must support both **Korean (KO)** and **English (EN)**. When adding or modifying UI text:
+
+1. Add the string to both `dictionaries/ko.json` and `dictionaries/en.json`
+2. Access it via the dictionary passed through server components
+3. Never hardcode display text in components
+
+## Code Style
+
+- **TypeScript** — all code must be typed; avoid `any`
+- **Server Components by default** — only use `"use client"` when interactivity is required
+- **Tailwind CSS** — use utility classes; avoid inline styles
+- Follow existing patterns in the codebase
+
+## Reporting Issues
+
+- Use the appropriate [issue template](https://github.com/showmycode/showmycode/issues/new/choose)
+- Search existing issues before opening a new one
+- Include reproduction steps for bugs
+
+## Code of Conduct
+
+By participating in this project, you agree to abide by our [Code of Conduct](CODE_OF_CONDUCT.md). Be kind and respectful.