{
  "name": "@sengac/fspec",
  "version": "0.9.3",
  "description": "Feature Specification & Project Management for AI Agents - Manage Gherkin specs and work units with ACDD workflow",
  "type": "module",
  "main": "./dist/index.js",
  "bin": {
    "fspec": "./dist/index.js"
  },
  "scripts": {
    "build": "vite build && npx esbuild src/git/diff-worker.ts --bundle --platform=node --target=node18 --format=esm --outfile=dist/git/diff-worker.js --external:worker_threads --external:isomorphic-git && chmod +x dist/index.js",
    "dev": "vite build --watch",
    "install:local": "./scripts/install-local.sh",
    "lint": "eslint 'src/**/*.ts'",
    "lint:fix": "eslint 'src/**/*.ts' --fix",
    "format": "prettier --write 'src/**/*.ts'",
    "format:spec": "fspec format",
    "test": "npm run build && vitest run",
    "test:watch": "vitest --watch",
    "prepare": "husky"
  },
  "keywords": [
    "spec-driven-development",
    "spec-driven",
    "acdd",
    "acceptance-criteria-driven-development",
    "acceptance-criteria",
    "kanban",
    "workflow",
    "bdd",
    "gherkin",
    "cucumber",
    "feature-files",
    "ai-agents",
    "agentic-ai",
    "llm",
    "claude-code",
    "project-management",
    "work-units",
    "example-mapping",
    "specification",
    "test-driven-development",
    "tdd",
    "coverage-tracking",
    "ai-workflow"
  ],
  "author": "rquast@sengac.com",
  "license": "MIT",
  "repository": {
    "type": "git",
    "url": "https://github.com/sengac/fspec.git"
  },
  "homepage": "https://github.com/sengac/fspec#readme",
  "bugs": {
    "url": "https://github.com/sengac/fspec/issues"
  },
  "files": [
    "dist",
    "README.md"
  ],
  "engines": {
    "node": ">=18.0.0"
  },
  "dependencies": {
    "@cucumber/gherkin": "^29.0.0",
    "@cucumber/messages": "^25.0.1",
    "@inkjs/ui": "^2.0.0",
    "@sengac/tree-sitter": "^0.25.15",
    "@sengac/tree-sitter-bash": "^0.25.15",
    "@sengac/tree-sitter-c": "^0.25.15",
    "@sengac/tree-sitter-c-sharp": "^0.25.15",
    "@sengac/tree-sitter-cpp": "^0.25.15",
    "@sengac/tree-sitter-dart": "^1.1.6",
    "@sengac/tree-sitter-go": "^0.25.15",
    "@sengac/tree-sitter-java": "^0.25.15",
    "@sengac/tree-sitter-javascript": "^0.25.15",
    "@sengac/tree-sitter-json": "^0.25.15",
    "@sengac/tree-sitter-kotlin": "^0.4.6",
    "@sengac/tree-sitter-php": "^0.25.15",
    "@sengac/tree-sitter-python": "^0.25.15",
    "@sengac/tree-sitter-ruby": "^0.25.15",
    "@sengac/tree-sitter-rust": "^0.25.15",
    "@sengac/tree-sitter-swift": "^0.25.15",
    "@sengac/tree-sitter-typescript": "^0.25.15",
    "ajv": "^8.17.1",
    "ajv-formats": "^3.0.1",
    "chalk": "^5.6.2",
    "chokidar": "^4.0.3",
    "commander": "^14.0.1",
    "diff": "^8.0.2",
    "dompurify": "^3.3.0",
    "dotenv": "^17.2.3",
    "execa": "^9.6.0",
    "express": "^5.1.0",
    "immer": "^10.2.0",
    "ink": "^6.4.0",
    "isomorphic-git": "^1.34.0",
    "jsdom": "^27.0.0",
    "lodash.throttle": "^4.1.1",
    "marked": "^16.4.1",
    "marked-gfm-heading-id": "^4.1.2",
    "mermaid": "^11.12.0",
    "open": "^10.2.0",
    "proper-lockfile": "^4.1.2",
    "react": "^19.2.0",
    "tinyglobby": "^0.2.10",
    "winston": "^3.18.3",
    "zustand": "^5.0.8"
  },
  "devDependencies": {
    "@eslint/js": "^9.38.0",
    "@types/diff": "^7.0.2",
    "@types/dompurify": "^3.0.5",
    "@types/express": "^5.0.5",
    "@types/fs-extra": "^11.0.4",
    "@types/lodash.throttle": "^4.1.9",
    "@types/node": "^24.5.1",
    "@types/node-fetch": "^2.6.13",
    "@types/react": "^19.2.2",
    "@typescript-eslint/eslint-plugin": "^8.46.2",
    "@typescript-eslint/parser": "^8.46.2",
    "delay": "^7.0.0",
    "eslint": "^9.38.0",
    "eslint-config-prettier": "^10.1.8",
    "eslint-plugin-prettier": "^5.5.4",
    "fs-extra": "^11.3.2",
    "husky": "^9.1.7",
    "ink-testing-library": "^4.0.0",
    "lint-staged": "^16.2.6",
    "memfs": "^4.49.0",
    "node-fetch": "^3.3.2",
    "prettier": "^3.6.2",
    "typescript": "^5.9.2",
    "vite": "^7.1.5",
    "vitest": "^4.0.1"
  },
  "lint-staged": {
    "*.ts": [
      "eslint --fix",
      "prettier --write"
    ]
  }
}
