UNPKG

@johnlindquist/file-forge

Version:

File Forge is a powerful CLI tool for deep analysis of codebases, generating markdown reports to feed AI reasoning models.

226 lines (225 loc) 8.11 kB
{ "name": "@johnlindquist/file-forge", "version": "2.19.3", "description": "File Forge is a powerful CLI tool for deep analysis of codebases, generating markdown reports to feed AI reasoning models.", "repository": { "type": "git", "url": "https://github.com/johnlindquist/file-forge.git" }, "main": "dist/index.js", "type": "module", "bin": { "ffg": "./dist/index.js" }, "files": [ "dist", "templates" ], "scripts": { "test": "pnpm build && vitest run --silent", "test:verbose": "pnpm build && vitest run", "test:clipboard": "pnpm build && vitest run --silent --test-name-pattern clipboard", "test:commit": "pnpm build && vitest run --silent --test-name-pattern commit", "test:watch": "pnpm build && vitest --watch", "test:templates": "node scripts/test-templates.js", "test:optimize:analyze": "node scripts/optimize-tests.js", "test:optimize": "node scripts/optimize-tests.js", "test:optimize:batch": "node scripts/optimize-tests.js --batch", "test:optimize:batch:fast": "node scripts/optimize-tests.js --batch --skip-measure", "test:optimize:batch:dry": "node scripts/optimize-tests.js --batch --dry-run", "test:direct": "pnpm build && vitest run test/pipe-flag.test.ts --silent", "test:comments": "pnpm build && vitest run test/template-flag.test.ts --silent", "test:cli:exclude": "pnpm build && vitest run test/cli.test.ts --test-name-pattern 'exclude logic'", "test:ignore-flag": "pnpm build && vitest run test/ignore-flag.test.ts", "dev": "node --experimental-strip-types src/index.ts", "build": "tsc", "build:check": "tsc --noEmit --skipLibCheck -p tsconfig.json", "lint": "eslint .", "lint:fix": "eslint . --fix", "verify:bin": "pnpm build && [ -f dist/index.js ] || (echo 'dist/index.js not found' && exit 1)", "prepublishOnly": "pnpm build", "prepare": "husky", "pre-commit": "pnpm lint && pnpm build:check && pnpm verify:bin", "semantic-release": "semantic-release", "check:include": "pnpm build && pnpm exec node dist/index.js src", "check:include-file": "pnpm build && pnpm exec node dist/index.js .npmrc", "check:include-external": "pnpm build && pnpm exec node dist/index.js /Users/johnlindquist/dev/kit/package.json", "check:graph": "pnpm build && pnpm exec node dist/index.js -g src/graph.ts", "check:clipboard": "pnpm build && pnpm exec node dist/index.js -i src/graph.ts -y", "check:name": "pnpm build && pnpm exec node dist/index.js -i src --name MY_PROJECT", "check:markdown": "pnpm build && pnpm exec node dist/index.js --include src --markdown", "check:help": "pnpm build && pnpm exec node dist/index.js --help", "check:full": "pnpm build && pnpm exec node dist/index.js -i src/graph.ts", "check:templates": "pnpm build && pnpm exec node dist/index.js --list-templates", "check:template:explain": "pnpm build && pnpm exec node dist/index.js -i src/templates.ts --template explain", "check:template:document": "pnpm build && pnpm exec node dist/index.js -i src/templates.ts --template document", "check:template:refactor": "pnpm build && pnpm exec node dist/index.js -i src/index.ts --template refactor", "check:template:optimize": "pnpm build && pnpm exec node dist/index.js -i src/graph.ts --template optimize", "check:template:worktree": "pnpm build && pnpm exec node dist/index.js -i src/graph.ts --template worktree --pipe", "check:template:render:worktree": "pnpm build && pnpm exec node dist/index.js -i src/graph.ts --render-template worktree --pipe", "check:template:test": "pnpm build && pnpm exec node dist/index.js -i src/cli.ts --template test", "check:template:fix": "pnpm build && pnpm exec node dist/index.js -i src/outputFormatter.ts --template fix", "check:template:plan": "pnpm build && pnpm exec node dist/index.js -i src/cli.ts --template plan --exclude test/fixtures --exclude .husky", "check:template:pr": "pnpm build && pnpm exec node dist/index.js -i src/cli.ts --template pr --exclude test/fixtures --exclude .husky", "check:template:branch": "pnpm build && pnpm exec node dist/index.js -i src/cli.ts --template branch --exclude test/fixtures --exclude .husky", "check:config": "pnpm build && pnpm exec node dist/index.js --config", "check:open": "pnpm build && pnpm exec node dist/index.js --open" }, "publishConfig": { "access": "public" }, "release": { "branches": [ "main" ], "plugins": [ [ "@semantic-release/commit-analyzer", { "preset": "angular", "releaseRules": [ { "type": "feat", "release": "minor" }, { "type": "fix", "release": "patch" }, { "type": "docs", "release": "patch" }, { "type": "style", "release": "patch" }, { "type": "refactor", "release": "patch" }, { "type": "perf", "release": "patch" }, { "type": "test", "release": "patch" } ], "parserOpts": { "noteKeywords": [ "BREAKING CHANGE", "BREAKING CHANGES", "BREAKING" ] } } ], [ "@semantic-release/release-notes-generator", { "preset": "angular", "parserOpts": { "noteKeywords": [ "BREAKING CHANGE", "BREAKING CHANGES", "BREAKING" ] }, "writerOpts": { "commitsSort": [ "subject", "scope" ] } } ], [ "@semantic-release/npm", { "npmPublish": true, "tarballDir": "dist" } ], [ "@semantic-release/github", { "assets": "dist/*.tgz" } ] ] }, "keywords": [ "github", "ingest", "cli", "directory", "analysis" ], "author": "John Lindquist", "license": "MIT", "devDependencies": { "@eslint/js": "^9.24.0", "@semantic-release/commit-analyzer": "^13.0.1", "@semantic-release/github": "^11.0.1", "@semantic-release/npm": "^12.0.1", "@semantic-release/release-notes-generator": "^14.0.3", "@tsconfig/node23": "^23.0.1", "@tsconfig/strictest": "^2.0.5", "@types/madge": "^5.0.3", "@types/node": "^22.14.0", "@types/node-fetch": "^2.6.12", "@types/open": "^6.2.1", "@types/yargs": "^17.0.33", "@typescript-eslint/eslint-plugin": "^8.29.1", "@typescript-eslint/parser": "^8.29.1", "@vitest/coverage-v8": "^3.1.1", "@vitest/ui": "3.1.1", "eslint": "^9.24.0", "eslint-plugin-unused-imports": "^4.1.4", "execa": "^9.5.2", "globals": "^16.0.0", "husky": "^9.1.7", "lint-staged": "^15.5.1", "prettier": "^3.5.3", "semantic-release": "^24.2.3", "typescript": "^5.8.3", "vitest": "^3.1.1" }, "dependencies": { "@clack/prompts": "^0.10.1", "@octokit/rest": "^21.1.1", "@types/micromatch": "^4.0.9", "clipboardy": "^4.0.0", "conf": "^13.1.0", "date-fns": "^4.1.0", "dotenv": "^16.4.7", "env-paths": "^3.0.0", "globby": "^14.1.0", "gray-matter": "^4.0.3", "ignore": "^7.0.3", "jsonc-parser": "^3.3.1", "liquidjs": "^10.21.0", "madge": "^8.0.0", "micromatch": "^4.0.8", "mkdirp": "^3.0.1", "nanoid": "^5.1.5", "node-fetch": "^3.3.2", "open": "^10.1.0", "sanitize-filename": "^1.6.3", "simple-git": "^3.27.0", "tiktoken": "^1.0.20", "yargs": "^17.7.2", "zx": "^8.5.2" }, "lint-staged": { "*.{ts,tsx,js,jsx}": [ "pnpm eslint --fix --max-warnings 0 --no-warn-ignored", "bash -c 'pnpm build:check'" ], "*.{json,md,yml,yaml}": [ "prettier --write" ] } }