Goal: Install essential development tools on Apple Silicon Macs.
Press β+Space, type Terminal, and press Enter.
Run the following command and follow the prompts:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"This may take a few minutes:
git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core fetch --unshallow
git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask fetchDownload utility:
brew install wgetCommand-line developer tools:
xcode-select --install| Tool | Purpose | Command / Link |
|---|---|---|
| Git | Version Control | brew install git |
| Python | Version Control | brew install python |
What is SSH? Secure Shell Protocol provides a secure communication channel over an unsecured network.
Run this command (replace with your GitHub email):
ssh-keygen -o -t rsa -C "[email protected]"- Save the file pair in the default location (
~/.ssh/id_rsa) - At the prompt, type in a secure passphrase (optional)
Choose your operating system:
π macOS:
pbcopy < ~/.ssh/id_rsa.pubπͺ Windows (WSL):
clip.exe < ~/.ssh/id_rsa.pubπ§ Linux:
xclip -sel c < ~/.ssh/id_rsa.pub- Go to your GitHub account
- Open Settings
- Under Access, click SSH and GPG keys in the left sidebar
- Click New SSH Key
- Give it a name, paste your public key, and click Add SSH Key
β Done! You can now use SSH with GitHub:
git clone [email protected]:username/repo.git- Create repository
- Discuss branch management
- Review Git workflow documentation
main βββββββββββββββββββββββββββββββββββββββββββββββββΆ
β² β²
β β
hotfix/β¦ release/1.2.0
β
develop ββββββββββββββββββββββββββββββββββββββββββββββββΆ
This demonstrates a real-life GitFlow workflow with clear steps, explanations, and commands. Can be applied using Claude code.
Clone your repository:
# Clone your repository and navigate into it
git clone [email protected]:yourname/yourrepo.git # Clones the repository using SSH
cd yourrepo # Changes directory to your new repoCreate the develop branch:
git checkout -b develop
git push -u origin developCreate a release branch from develop:
git checkout develop
git pull origin develop
git checkout -b release/1.2.0
git push -u origin release/1.2.0Only bug fixes and version updates:
git add .
git commit -m "Fix login validation bug"
git pushMerge the release branch into main:
git checkout main
git pull origin main
git merge --no-ff release/1.2.0
git push origin mainTag the release:
git tag -a v1.2.0 -m "Release version 1.2.0"
git push origin v1.2.0Keep bug fixes in sync:
git checkout develop
git pull origin develop
git merge --no-ff release/1.2.0
git push origin developClean up:
git branch -d release/1.2.0
git push origin --delete release/1.2.0Visit the comprehensive setup instructions: Interactive Dev Environment Repo
| Tool | Purpose | Command / Link |
|---|---|---|
| π VS Code | Development Environment | Download |
| π Cursor | Development Environment | Download |
β Your environment is ready to start developing!
Goal: Set up your development environment with essential extensions and configurations.
For Python development:
- Click the Extensions tab
- Type "Python" in the search bar
- Click Install on the Python extension
- Type "Jupyter" in the search bar
- Click Install on the Microsoft Jupyter Notebook extension
β Your development environment is configured and ready to code!
- Configure GitHub integration in settings
- add cursor.md rule!
- Clone repository from GitHub via Cursor
- Set up project-specific configurations
Goal: Create an isolated Python environment for your project.
python3 -m venv myenvπ macOS/Linux:
source myenv/bin/activateπͺ Windows:
myenv\Scripts\activatedeactivateWhen you start FastAPI with:
uvicorn main:app --reloadβ¦and visit http://127.0.0.1:8000/, here's what happens:
- Browser sends GET request β
GET / - FastAPI looks for a matching path operation (
@app.get("/")) - It finds your function:
def read_root(): return {"message": "Hello, FastAPI is running locally!"}
- FastAPI calls
read_root()(just like any Python function). - The function returns a Python dictionary.
- FastAPI automatically converts the dictionary into JSON.
- The JSON is sent back as the response to the browser.
π FastAPI runs your function read_root() and uses its return value as the response.
