A short, copy-pasteable guide. Skip to whichever section applies.
Go to https://github.com/new.
- Repository name:
ioc-agent - Description:
AI-powered IOC enrichment agent for SOC and threat-intel workflows - Public or Private — your call.
⚠️ Do NOT tick "Add a README", "Add .gitignore", or "Choose a license". This project already has all three, and pre-adding them causes a merge conflict on your first push.
Click Create repository. Leave the page open — you'll need the URL.
Open a terminal in the ioc-agent folder (the one containing README.md).
git init
git add .
git commit -m "Initial commit: AI-powered IOC enrichment agent"
git branch -M main
git remote add origin https://github.com/<your-username>/ioc-agent.git
git push -u origin mainReplace <your-username> with your actual GitHub username.
On Windows/PowerShell: the exact same commands work. If
gitisn't recognised, install it from https://git-scm.com/download/win.
This is the important one. Before you push, sanity-check:
git status --shortYou should not see .env anywhere in the list. It's excluded by
.gitignore. What should be there is .env.example — the template with
blank values, which is safe and intended to be public.
If you ever accidentally commit a real key: revoke it immediately at the provider's site, then generate a new one. Rewriting git history does not make a leaked key safe — it may already be scraped.
Add topics so people can find it. On your repo page, click the ⚙️ next to "About" and add:
security threat-intelligence ioc soc blue-team dfir incident-response claude ai
CI runs automatically. .github/workflows/ci.yml is already included, so
GitHub Actions will run the test suite on Python 3.9–3.13 on your first push.
Once it goes green, you can add a badge to the top of README.md:
Update the license. LICENSE says Copyright (c) 2026 <Your Name> — put your real name or GitHub handle there.
Change the name if you'd like it to read differently.
git add .
git commit -m "Add Censys as an intel source"
git pushfatal: remote origin already exists
git remote set-url origin https://github.com/<your-username>/ioc-agent.gitPush rejected — "updates were rejected" You ticked one of the "initialize with…" boxes in Step 1. Pull first:
git pull origin main --allow-unrelated-histories
git push -u origin mainGitHub asks for a password and rejects it GitHub removed password auth. Use a Personal Access Token as the password, or set up SSH keys.