Neram Docs
Agent surfaces for the Neram workspace: the npm CLI, the MCP tools, and the Neram agent skill. CLI, MCP, and browser actions share the same Organization-bound Clerk identity, Sprint engine, and kanban task board.
CLI
Package neram. Commands print human text by default; add --json for the exact, backward-compatible tool payload. Address tasks and projects by exact id (--task-id, --project-id) or by unambiguous name.
Sign in and check readiness
npx neram login # Clerk OAuth (PKCE); choose an Organization
# fallback: ~/.config/neram/credentials.json (chmod 600)
npx neram doctor --json # config, auth, and MCP readiness
npx neram whoami --json # identity + active Organization + workspace totals
npx neram logout # clear creds; best-effort revoke refresh token{
"ok": true,
"identity": { "name": "Ada Lovelace", "email": "ada@example.com" },
"organization": {
"organizationId": "org_123",
"slug": "acme",
"name": "Acme",
"role": "org:admin"
},
"workspace": {
"projects": 8,
"openTasks": 12
}
}Config
The CLI loads public config from /.well-known/neram-agent.json on the Neram host. Override only for local development.
# published config (used by default)
https://neram.praveenjuge.com/.well-known/neram-agent.json
# override only for local development
export NERAM_CONVEX_URL=...
export NERAM_CLERK_FRONTEND_API_URL=...
export NERAM_CLERK_OAUTH_CLIENT_ID=...Daily work
npx neram daily --json # compact execution digest
npx neram brief --project-limit 5 --json # alias for daily
npx neram activity --limit 20 --json # recent activity feedOrganizations
Clerk Organizations are the workspace boundary. Switching replaces the stored token; reconnect local or hosted MCP afterward.
npx neram workspace current --json
npx neram workspace create --name "Acme" --slug acme
npx neram workspace switch # rerun OAuth, then reconnect MCP
npx neram workspace members --json
npx neram workspace invite --email member@example.com --role org:member
npx neram workspace role --user-id USER_ID --role org:admin
npx neram workspace remove-member --user-id USER_ID --organization-id ORG_ID --organization-slug SLUG --confirm
npx neram workspace delete --organization-id ORG_ID --organization-slug SLUG --confirmSprints
npx neram sprint current --json # also: backlog, upcoming
npx neram sprint history [--sprint-id SPRINT_ID] --limit 20 --json
npx neram sprint plan --task-id TASK_ID --sprint upcoming
npx neram sprint remove --task-id TASK_ID --sprint current
npx neram sprint goal --sprint current --goal "Ship the cutover"
npx neram sprint cadence --weeks 2 --start-weekday 1 --timezone Asia/Kolkata
npx neram sprint rollover --reason "Customer deadline" --organization-id ORG_ID --organization-slug SLUG --confirmTasks
npx neram task list --project "Project name" --status inProgress
npx neram task add --project "Project name" --title "Follow up" --due 2026-02-01 --sprint backlog
npx neram task move --task-id TASK_ID --status inProgress
npx neram task move --task-id TASK_ID --status inProgress --position 1.5 # kanban order
npx neram task done --task-id TASK_ID
npx neram task update --task-id TASK_ID --title "New title" --clear-assignee
npx neram task update --project "Project name" --task-title "Old title" --title "New title"
npx neram task move-to --task-id TASK_ID --to-project "Other project"
npx neram task rm --task-id TASK_IDProjects
npx neram project list --json
npx neram project add --name "Project name" --icon rocket --color blue
npx neram project update --project "Project name" --name "Renamed"
npx neram project summary --project "Project name" --json
npx neram project rm --project-id PROJECT_ID # id required; purges tasksError codes
CLI and MCP failures use stable, machine-readable codes. An AMBIGUOUS response includes candidate ids in details.matches so agents can retry with an exact id.
UNAUTHENTICATED # run neram login
MISSING_CONFIG # config fetch failed; check network or env overrides
AMBIGUOUS # name matched multiple records; retry with an id from details.matches
NOT_FOUND # project or task does not exist
FORBIDDEN # caller lacks access
ORGANIZATION_REQUIRED # choose a workspace and sign in again
CONFIRMATION_REQUIRED # exact Organization id/slug or confirmation is missing
VALIDATION # bad input shape or valueMCP
Local stdio and hosted Streamable HTTP run the same Organization- scoped tools, so agents get identical behavior either way. Tool failures come back as isError results (not protocol exceptions) with stable error codes.
Local stdio
npx neram login # sign in first
npx neram mcp # stdio server; refreshes the token per request
# print a client config without writing files (also: cursor, vscode)
npx neram mcp install claude-code
# Claude Code one-liner
claude mcp add neram -- npx neram mcp{
"mcpServers": {
"neram": {
"command": "npx",
"args": ["neram", "mcp"]
}
}
}Hosted Streamable HTTP
# hosted Streamable HTTP; send a Clerk id_token
curl -s https://neram.praveenjuge.com/mcp \
-H "Authorization: Bearer $NERAM_ID_TOKEN"Tools
# read-only
daily_brief
workspace_status
get_workspace
list_workspace_members
get_sprint
list_sprint_tasks
sprint_history
list_projects
list_tasks
summarize_project
recent_activity
# mutations
capture_task
update_task
move_task # optional position for kanban order
complete_task
move_task_to_project
delete_task
create_project
update_project
delete_project # destructive — purges every task
create_workspace
invite_workspace_member
update_workspace_member_role
remove_workspace_member # destructive — exact Organization confirmation
delete_workspace # destructive — exact Organization confirmation
plan_sprint_tasks
remove_sprint_tasks
update_sprint_goal
update_sprint_cadence
rollover_sprint # destructive — exact Organization confirmation
# failures return isError results with:
# { error: { code, message, details } }Skills
The neram skill teaches an agent to use the CLI and MCP surfaces above instead of browser automation.
skills/neram/SKILL.md # teaches an agent to use Neram via CLI + MCP
# grouped as "Neram" in skills.sh.json (skills.sh)
# loads on demand for tasks like:
# login / doctor / daily brief
# create / move / complete tasks
# summarize projects
# script Neram from a shell or CI with --json
# configure an MCP client (Claude, Codex, Cursor)Install into your agent
The skills CLI detects your agents, asks for a scope, and writes the skill into .claude/skills or .agents/skills, tracking it in skills-lock.json.
# pick "neram" from the list
npx skills add praveenjuge/neram
# or add it directly
npx skills add praveenjuge/neram -s neram
npx neram login # sign in so the agent acts as your Neram user