{
	"name": "@nanocollective/nanocoder",
	"main": "dist/cli.js",
	"version": "1.24.1",
	"description": "A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter",
	"keywords": [
		"cli",
		"ai",
		"coding",
		"agent",
		"ollama",
		"openrouter",
		"local",
		"typescript",
		"llama-cpp"
	],
	"author": "Nano Collective",
	"license": "MIT",
	"repository": {
		"type": "git",
		"url": "https://github.com/Nano-Collective/nanocoder.git"
	},
	"homepage": "https://github.com/Nano-Collective/nanocoder#readme",
	"bugs": {
		"url": "https://github.com/Nano-Collective/nanocoder/issues"
	},
	"bin": {
		"nanocoder": "dist/cli.js"
	},
	"type": "module",
	"engines": {
		"node": ">=20"
	},
	"scripts": {
		"build": "tsc && tsc-alias && chmod +x dist/cli.js",
		"dev": "tsc --watch",
		"start": "node dist/cli.js",
		"release:nix": "./scripts/update-nix-version.sh",
		"test:all": "./scripts/test.sh",
		"test:ava": "ava",
		"test:ava:coverage": "c8 ava",
		"test:format": "biome check --no-errors-on-unmatched .",
		"test:types": "tsc --noEmit",
		"test:lint": "biome lint .",
		"test:lint:fix": "biome check --write --unsafe .",
		"test:knip": "knip",
		"test:audit": "pnpm audit --audit-level=high",
		"audit": "pnpm audit",
		"test:security": "semgrep scan --config auto --error",
		"format": "biome check --write .",
		"format:check": "biome check .",
		"build:vscode": "cd plugins/vscode && pnpm run build && pnpm exec vsce package --allow-missing-repository --skip-license --no-dependencies -o ../../assets/nanocoder-vscode.vsix",
		"prepublishOnly": "pnpm run build && pnpm run build:vscode",
		"prepare": "husky"
	},
	"files": [
		"dist",
		"source/app/prompts/main-prompt.md",
		"source/config/themes.json",
		"assets/nanocoder-vscode.vsix"
	],
	"dependencies": {
		"@ai-sdk/anthropic": "^3.0.58",
		"@ai-sdk/google": "^3.0.43",
		"@ai-sdk/openai": "^3.0.41",
		"@ai-sdk/openai-compatible": "2.0.31",
		"@anthropic-ai/tokenizer": "^0.0.4",
		"@modelcontextprotocol/sdk": "^1.26.0",
		"@nanocollective/get-md": "^1.0.2",
		"ai": "6.0.116",
		"chalk": "^5.2.0",
		"cheerio": "^1.1.2",
		"cli-highlight": "^2.1.11",
		"cli-table3": "^0.6.5",
		"croner": "^10.0.1",
		"diff": "^8.0.2",
		"dotenv": "^17.2.3",
		"ignore": "^7.0.5",
		"ink": "^6.3.1",
		"ink-big-text": "^2.0.0",
		"ink-gradient": "^4.0.0",
		"ink-select-input": "^6.2.0",
		"ink-spinner": "^5.0.0",
		"ink-tab": "^5.2.0",
		"llama-tokenizer-js": "^1.2.2",
		"pino": "^10.1.0",
		"pino-pretty": "^13.1.3",
		"pino-roll": "^4.0.0",
		"react": "^19.0.0",
		"sonic-boom": "^4.0.0",
		"tiktoken": "^1.0.22",
		"undici": "^7.16.0",
		"wrap-ansi": "^10.0.0",
		"ws": "^8.18.0",
		"xdg-basedir": "^5.1.0"
	},
	"devDependencies": {
		"@ava/typescript": "^6.0.0",
		"@biomejs/biome": "^2.3.10",
		"@types/node": "^25.0.3",
		"@types/react": "^19.0.0",
		"@types/ws": "^8.18.1",
		"ava": "^7.0.0",
		"c8": "^11.0.0",
		"husky": "^9.1.7",
		"ink-testing-library": "^4.0.0",
		"knip": "^5.66.2",
		"lint-staged": "^16.2.7",
		"strip-ansi": "^7.1.2",
		"tsc-alias": "^1.8.16",
		"tsx": "^4.20.6",
		"typescript": "^5.0.3"
	},
	"lint-staged": {
		"*.{js,ts,jsx,tsx,json,md}": [
			"biome check --write --no-errors-on-unmatched"
		]
	},
	"ava": {
		"extensions": {
			"ts": "module",
			"tsx": "module"
		},
		"nodeArguments": [
			"--import=tsx",
			"--no-warnings"
		],
		"files": [
			"source/**/*.spec.ts",
			"source/**/*.spec.tsx",
			"!source/**/*-helpers.ts",
			"!source/**/test-helpers.ts"
		],
		"workerThreads": false,
		"serial": true,
		"environmentVariables": {
			"NODE_ENV": "test",
			"LC_ALL": "en-US.UTF-8",
			"LANG": "en-US.UTF-8"
		}
	},
	"c8": {
		"exclude": [
			"source/app/App.tsx"
		],
		"reporter": [
			"text",
			"json-summary",
			"lcov"
		],
		"lines": 80,
		"functions": 0,
		"branches": 0,
		"statements": 0
	},
	"pnpm": {
		"overrides": {
			"glob@>=10.2.0 <10.5.0": ">=10.5.0",
			"tar": ">=7.5.10",
			"minimatch@<10.2.3": ">=10.2.3",
			"@vscode/vsce>minimatch": "^3.0.5",
			"@modelcontextprotocol/sdk>hono": ">=4.12.4",
			"@modelcontextprotocol/sdk>@hono/node-server": ">=1.19.10",
			"express-rate-limit": ">=8.2.2",
			"simple-git": ">=3.32.3",
			"flatted": ">=3.4.0",
			"tinyexec": ">=1.0.4"
		}
	}
}
