Portfolio GitHub — Cheat Sheet

Tags: git, github, portfolio, open-source, readme, ci-cd

Level: intermediate

TL;DR: Best practices and structure to showcase production-grade technical skills, clean architecture, and git hygiene on GitHub.

Key concepts

Pin 4 to 6 representative repositories aligned with target engineering roles.

Curate a profile README with tech stack, current focus, and live demo links.

Every showcase repository requires an informative, self-contained README.md.

Include architecture diagrams, setup instructions, and design trade-offs in READMEs.

Maintain clean git history with atomic commits and conventional commit messages.

Add GitHub Actions CI workflows to demonstrate automated testing and linting.

Provide accessible live demos via Vercel, Netlify, or Docker Compose commands.

Include unit and integration test suites with visible coverage badges.

Add clear licensing, contribution guidelines, and environment variable templates.

Archive or make private obsolete, abandoned, or boilerplate school projects.

Typical questions and ready answers

Q: How do you structure a repository to make it production-ready for evaluators?R: I include a clear README with problem context, tech stack, architecture decisions, and setup commands. I also configure automated CI tests and linting.

Q: What is your approach to commit history and branching in portfolio projects?R: I use short-lived feature branches, conventional commits, and atomic pull requests. This demonstrates the same discipline I bring to production team workflows.

Q: Why do you include automated tests in personal portfolio repositories?R: Writing unit and integration tests shows that I design for maintainability, catch regressions early, and build with production quality standards from day one.

Pitfalls and common mistakes

Repositories without a README or with default create-react-app boilerplates.

Committing secrets, .env files, API keys, or build artifacts.

Massive single commits like "initial commit" containing the entire codebase.

Broken setup instructions or unpinned dependencies preventing local execution.

Forked repositories with zero personal code or contribution context.

Dead links to hosted demos or missing instructions for local environment setup.

Snippets and commands

# Verify no sensitive files or untracked credentials exist before push
git status --ignored

# Example .gitignore entry essentials
echo -e "node_modules/\n.env\n.env.local\ndist/\nbuild/\n.DS_Store" >> .gitignore

YAML

# .github/workflows/ci.yml: baseline verification gate
name: CI
on: [push, pull_request]
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 20
      - run: npm ci
      - run: npm run lint
      - run: npm test

To review

[ ] Audit pinned repositories to ensure live demo URLs are functional

[ ] Verify each showcase repo has .env.example and exact reproduction steps

[ ] Ensure CI pipeline passes cleanly on default branches across all pinned repos

[ ] Review git log across pinned projects for conventional commit standards

Jarvis Interviews
Jarvis