# GitHub Setup Guide

## Creating the Private Repository

1. **Go to GitHub**: https://github.com/new

2. **Repository Settings**:
   - **Owner**: `Anto01`
   - **Repository name**: `Atomizer`
   - **Description**: "Advanced optimization platform for Siemens NX Simcenter with LLM integration"
   - **Visibility**: ✅ **Private**
   - **DO NOT** initialize with README, .gitignore, or license (we already have these)

3. **Click "Create repository"**

## Pushing to GitHub

After creating the repository on GitHub, run these commands:

```bash
cd /c/Users/antoi/Documents/Atomaste/Atomizer

# Add the remote repository
git remote add origin https://github.com/Anto01/Atomizer.git

# OR if using SSH:
# git remote add origin git@github.com:Anto01/Atomizer.git

# Push the initial commit
git branch -M main
git push -u origin main
```

## Verify Push

Visit your repository at: `https://github.com/Anto01/Atomizer`

You should see:
- README.md displayed on the main page
- All files committed
- Private repository badge

## Next Steps

### Set Up GitHub Actions (Optional)

Create `.github/workflows/tests.yml` for automated testing:

```yaml
name: Tests

on: [push, pull_request]

jobs:
  test:
    runs-on: windows-latest
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-python@v4
        with:
          python-version: '3.10'
      - run: pip install -r requirements.txt
      - run: pytest
```

### Protect Main Branch

Settings → Branches → Add rule:
- Branch name pattern: `main`
- ✅ Require pull request reviews before merging
- ✅ Require status checks to pass

### Add Collaborators

Settings → Collaborators → Add people

## Clone on Another Machine

```bash
git clone https://github.com/Anto01/Atomizer.git
cd Atomizer
pip install -r requirements.txt
```

## Useful Git Commands

```bash
# Check status
git status

# View commit history
git log --oneline

# Create a new branch
git checkout -b feature/new-feature

# Push branch to GitHub
git push -u origin feature/new-feature

# Pull latest changes
git pull origin main
```
