Get Niha running,
then start building
Six steps, about ten minutes. You need no Node, no Python and no Docker: the Niha CLI is a single self-contained binary. Work through this in order, because each step assumes the one before it worked.
Accept the invite and confirm you can sign in
Do this first. Everything else fails without it.
-
Find the invite email
It arrives after you register, from the Niha platform. Click the link inside it. If it is not in your inbox within a few hours of registering, check junk, then ask in the challenge channel.
-
Sign in to the web console
Open app.nihaandco.com and choose Continue with Microsoft. Use your t.a.c work account, the same one you registered with.
-
Confirm before moving on
You should land inside the console and see an organisation name. That is your proof that the invite was accepted and your account is active. Do not continue until you see this. If sign-in is refused, jump to troubleshooting.
Have your own repository ready
Niha works inside a project folder. Bring the project you are building for the challenge.
What you need
- A git repository you own, cloned to your machine.
- A remote configured, normally on GitHub. Niha reads the remote to name your project.
- Anything from an empty repo with a README to an existing codebase. Both are fine.
Starting from nothing
Create the repo on GitHub first, then clone it, so the remote exists from the start.
git clone https://github.com/<you>/<your-project>.git
cd <your-project>
Install the CLI
Pick your operating system. Each tab is complete on its own, including how to upgrade later.
Install with Homebrew
This is the recommended route on macOS, because upgrades are then a single command.
brew install --cask niha-and-co/tap/niha
Or install with curl
No Homebrew needed. Installs to /usr/local/bin and asks for your password if that directory is not writable. Apple Silicon and Intel are detected automatically.
curl -fsSL https://cli.nihaandco.com/install.sh | bash
Check it worked
niha --version
xattr -cr /opt/homebrew/Caskroom/niha/ && xattr -cr /opt/homebrew/bin/niha
For a curl install, use xattr -cr /usr/local/bin/niha instead.
Upgrading later
Niha shows a small update marker in the interactive session when a new version is out. It never updates itself.
brew update && brew upgrade --cask niha
The brew update half matters. Without it Homebrew can read a stale cached copy and tell you that you are already current when you are not. If you installed with curl, upgrade by re-running the same curl command.
Install with curl
Installs to /usr/local/bin, using sudo if that directory is not writable.
curl -fsSL https://cli.nihaandco.com/install.sh | bash
Install without sudo
Point the installer somewhere inside your home directory instead.
NIHA_INSTALL_DIR="$HOME/.local/bin" curl -fsSL https://cli.nihaandco.com/install.sh | bash
If the installer warns that the directory is not on your PATH, add it: export PATH="$HOME/.local/bin:$PATH" in your shell profile.
Check it worked
niha --version
Upgrading later
Re-run the installer. It always fetches the latest version.
curl -fsSL https://cli.nihaandco.com/install.sh | bash
Install with PowerShell
No administrator rights needed. It installs to your user profile and puts itself on your user PATH.
irm https://cli.nihaandco.com/install.ps1 | iex
Check it worked
niha --version
If PowerShell blocks the script, allow signed remote scripts for your own account and try again: Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned
Upgrading later
Re-run the same command, then restart your terminal again.
irm https://cli.nihaandco.com/install.ps1 | iex
Sign in from the terminal
Same Microsoft account as the web console. This is a device code flow, like signing in to the Azure CLI.
niha login
What you will see
To sign in, open this URL in your browser:
https://microsoft.com/devicelogin
Enter code: ABCD-EFGH
Opened in browser...
Waiting for sign-in...
Niha tries to open the browser for you. If it cannot, open the URL yourself and type the code shown in your terminal.
What success looks like
✓ Logged in as Ada Lovelace (ada@techatcore.com)
Organization: tech.at.core
Role: capability_builder
Your session lasts about 30 days. If it says No organization. Ask your admin to invite you. then step 1 did not complete.
Check your identity at any time
This verifies against the platform rather than trusting what is cached locally, so it is the honest answer.
niha whoami
There is no niha auth status command. Use whoami. Inside an interactive session the same thing is /whoami.
Go to your project and start Niha
Two commands. That is the whole of it.
cd ~/path/to/your-project
niha
Running niha with no arguments opens the interactive session. You will see a header like this, then a prompt where you type in plain English:
niha · claude-sonnet-5 · 14 tools · off mode
/help for commands · Ctrl+V to paste an image · Ctrl+C to interrupt · Ctrl+D to exit
You do not need to create a workspace
Do not run niha init. Do not create a workspace in the web console. Neither is needed for the challenge, and running them will point you at the wrong thing.
Your workspace is created for you. The first time Niha writes a file or runs a command in your project, it establishes the project root at your current folder, creates a .niha/ directory beside your .git/, and provisions a workspace on the platform named after your repository. It is silent, it happens once, and it repeats safely: the same folder always resolves to the same workspace.
niha init exists for a different situation, joining a repo to a workspace an administrator has already built. That is not your situation. You are bringing your own project, so let Niha provision it.
Your first commands
Run these once to confirm the setup is healthy, then get on with building.
niha doctorHealth check. Confirms the platform is reachable, your credentials are good, git is present and a workspace is resolved. Run this first if anything feels wrong.
niha statusWhat is governing you right now: project, posture, workspace, ledger.
niha assessYour governance score for this project, one to five. Useful as a starting baseline.
niha ask "What does this repository do?"A single question, answered, then it exits. Good for quick things without opening a session.
niha --helpEvery command, grouped. Add --help to any command for its own detail.
Inside the interactive session
There are four ways to type at the prompt.
Four ways to type
- Plain English for anything: add a health endpoint and a test for it
- A slash command for Niha itself: /help
- A bang to run a shell command: !git status
- An at sign to point at a file, with Tab completion: @src/auth.py
Slash commands worth knowing
- /help every command available
- /status project, workspace and posture
- /permissions how much Niha may do unattended, also Shift+Tab to cycle
- /model switch model · /cost what this session spent
- /compact shrink a long conversation · /clear start fresh
- /export save the session, useful evidence for your field report
Troubleshooting
The five things people actually hit, and what each one means.
No account found for <your email>.
Ask your organization admin to invite you.No org context.
You're signed in as <email> but not a member of any org."niha" is damaged and can't be openedniha: command not foundError: Interactive mode requires a TTY.That is the setup done.
Now go build something you would be happy to hand over.