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 fetch
Download utility:
brew install wget
Command-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 repo
Create the develop
branch:
git checkout -b develop
git push -u origin develop
Create 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.0
Only bug fixes and version updates:
git add .
git commit -m "Fix login validation bug"
git push
Merge the release branch into main
:
git checkout main
git pull origin main
git merge --no-ff release/1.2.0
git push origin main
Tag the release:
git tag -a v1.2.0 -m "Release version 1.2.0"
git push origin v1.2.0
Keep bug fixes in sync:
git checkout develop
git pull origin develop
git merge --no-ff release/1.2.0
git push origin develop
Clean up:
git branch -d release/1.2.0
git push origin --delete release/1.2.0
Visit 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\activate
deactivate
When 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.