Skip to content

Latest commit

 

History

History
179 lines (131 loc) · 5.08 KB

File metadata and controls

179 lines (131 loc) · 5.08 KB

Git Growth Tracker

A step-by-step roadmap to level up your Git, coding, and open-source skills. Track your daily commits, learn professional repo practices, improve code quality, and start contributing to the developer community — one commit at a time.


Git Growth Skill Tree

📅 Roadmap Overview

Week 1 – Core Habits

  • Create a practice repo for experimenting.

  • Make at least 1 commit per day (bug fixes, README updates, refactoring).

  • Use descriptive commit messages:

    type(scope): short description
    

    Example: feat(api): add user authentication

  • Learn branching basics: create, switch, merge, delete.

Week 2 – Repo Polish & Automation

  • Add a README.md with description, install instructions, usage, and license.
  • Create a .gitignore for your language/framework.
  • Add a pull_request_template.md.
  • Set up GitHub Actions for linting and tests on every push.

Week 3 – Code Quality Boost

  • Add a linter (ESLint, Pylint, etc.) and fix all warnings.
  • Write unit tests for at least one critical feature.
  • Add Codecov (or similar) for test coverage.
  • Enable branch protection rules for main branch.

Week 4 – Public Engagement

  • Open a small PR to an open-source repo you use.
  • Comment constructively on one PR in that repo.
  • Publish a GitHub Gist with a reusable snippet/tool.

Week 5 & Beyond – Scaling Up

  • Publish a portfolio project publicly, with clean docs and a demo.
  • Share your repo link in GitHub Discussions or dev communities.
  • Keep making weekly commits and one PR to another repo per month.
  • Learn advanced Git commands (interactive rebase, cherry-pick, bisect).

🚀 Getting Started

Prerequisites

Setup

  1. Clone this repo:

    git clone https://github.com/devridge0/git-growth-tracker.git
    cd git-growth-tracker
  2. Start working through the roadmap, ticking off tasks as you complete them.


📜 Commit Message Guidelines

Follow the format:

type(scope): short description

Types: feat, fix, docs, style, refactor, test, chore Example:

feat(api): add user authentication
fix(ui): correct button alignment
docs(readme): update installation steps

💡 Tips for Success

  • Commit small and often — your activity graph will thank you.
  • Break work into meaningful commits instead of one giant commit.
  • Experiment freely in your practice repo before touching important projects.

📈 XP Hack

Think of this roadmap like a game:

  • Each commit = XP gained
  • Each merged PR = level-up
  • Each new skill learned = unlocked ability

React + TypeScript + Vite

This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.

Currently, two official plugins are available:

Expanding the ESLint configuration

If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules:

export default tseslint.config([
  globalIgnores(['dist']),
  {
    files: ['**/*.{ts,tsx}'],
    extends: [
      // Other configs...

      // Remove tseslint.configs.recommended and replace with this
      ...tseslint.configs.recommendedTypeChecked,
      // Alternatively, use this for stricter rules
      ...tseslint.configs.strictTypeChecked,
      // Optionally, add this for stylistic rules
      ...tseslint.configs.stylisticTypeChecked,

      // Other configs...
    ],
    languageOptions: {
      parserOptions: {
        project: ['./tsconfig.node.json', './tsconfig.app.json'],
        tsconfigRootDir: import.meta.dirname,
      },
      // other options...
    },
  },
])

You can also install eslint-plugin-react-x and eslint-plugin-react-dom for React-specific lint rules:

// eslint.config.js
import reactX from 'eslint-plugin-react-x'
import reactDom from 'eslint-plugin-react-dom'

export default tseslint.config([
  globalIgnores(['dist']),
  {
    files: ['**/*.{ts,tsx}'],
    extends: [
      // Other configs...
      // Enable lint rules for React
      reactX.configs['recommended-typescript'],
      // Enable lint rules for React DOM
      reactDom.configs.recommended,
    ],
    languageOptions: {
      parserOptions: {
        project: ['./tsconfig.node.json', './tsconfig.app.json'],
        tsconfigRootDir: import.meta.dirname,
      },
      // other options...
    },
  },
])