# First Public Upload with GitHub Desktop

Use this process on the machine that will publish the repository.

## Recommended Workflow

1. Install Node.js 20+ and GitHub Desktop.
2. In GitHub Desktop, select **File > Clone repository**.
3. Choose the **URL** tab and enter:

   ```text
   https://github.com/purnanandiboina/RAVENSTRIKE
   ```

4. Clone into a new local folder.
5. Copy the cleaned project files into that cloned folder.
6. Do **not** copy `.git`, `node_modules`, `.npm-cache`, `.env`, logs, or `.tgz` files from the old machine.
7. Open **Repository > Open in Terminal** and run:

   ```powershell
   npm ci
   npm run check
   npm audit --audit-level=high --omit=dev
   npm pack --dry-run
   ```

8. Return to GitHub Desktop and inspect every changed file.
9. Confirm ignored/generated files do not appear in the change list.
10. Use the initial commit message:

    ```text
    feat: publish initial RAVENSTRIKE experimental release
    ```

11. Select **Commit to main**, then **Push origin**.

## After Upload

On GitHub:

1. Confirm the README renders and all links work.
2. Open the **Actions** tab and confirm CI passes on Node.js 20 and 22.
3. Enable private vulnerability reporting under **Settings > Security**.
4. Add a short repository description and topics such as `detection-engineering`, `soc`, `sigma`, and `siem`.
5. Do not publish to npm until the GitHub CI run and local release checks both pass.

## If the Remote Already Has Files

Clone it first, keep its `.git` directory, and copy only the cleaned project contents over it. Review merge conflicts in GitHub Desktop rather than replacing the remote repository history.
