{"library":"rattail","title":"Rattail","description":"Rattail is a Vite+ oriented and AI Agent friendly front-end toolchain, currently at version 2.0.6. It provides presets for linting, formatting, pre-commit hooks, and git hooks, a CLI toolchain for publishing, logs, commit lint, and API generation, 140+ utility functions covering common, string, number, array, object, and math scenarios, an axios-based progressive request tool with Vue composition API support (Axle), a chainable validation rule factory (Ruler Factory), and type-safe enum utilities. It ships with TypeScript types, is tree-shakable, and has 90%+ test coverage. Rivals like Vite plugins and utility libraries often focus on one area, while Rattail bundles all these into a single Vite+ ecosystem package. Release cadence appears active with multiple minor versions.","language":"javascript","status":"active","last_verified":"Mon Apr 27","install":{"commands":["npm install rattail"],"cli":{"name":"rattail","version":null}},"imports":["import rattail from 'rattail'","import { defineRattailConfig } from 'rattail'","import { createAxle } from 'rattail/axle'","import { RulerFactory } from 'rattail/ruler'","import { createEnum } from 'rattail/enum'","import { isString } from 'rattail/utils'"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"// Install: pnpm add rattail @voidzero-dev/vite-plus-core vite-plus\n\n// vite.config.ts\nimport { defineRattailConfig } from 'rattail';\n\nexport default defineRattailConfig({\n  // base Vite+ config\n});\n\n// Use a utility function\nimport { isString } from 'rattail/utils';\nconsole.log(isString('hello')); // true\n\n// Use Axle request tool\nimport { createAxle } from 'rattail/axle';\nconst axle = createAxle({ baseURL: 'https://api.example.com' });\nasync function fetchData() {\n  const res = await axle.get('/data');\n  return res.data;\n}\n\n// Use Ruler Factory for validation\nimport { RulerFactory } from 'rattail/ruler';\nconst rules = new RulerFactory()\n  .required('Name is required')\n  .minLength(2, 'Name too short')\n  .build();\n\n// Use createEnum\nimport { createEnum } from 'rattail/enum';\nconst Status = createEnum({\n  Pending: 0,\n  Active: 1,\n  Inactive: 2,\n});","lang":"typescript","description":"Shows how to install, configure with defineRattailConfig, and use utility functions, Axle, RulerFactory, and createEnum.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":null}