{"_id":"@emircanerkul/fakegen","name":"@emircanerkul/fakegen","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.1":{"name":"@emircanerkul/fakegen","version":"1.0.1","description":"A CLI tool to generate fake data and images using faker and lightweight image generation","main":"src/index.js","bin":{"fakegen":"bin/fakegen.js"},"exports":{"./config":"./src/config/index.js","./data":"./src/data/index.js","./image":"./src/image/index.js","./utils":"./src/utils/index.js","./generator":"./src/generator.js"},"scripts":{"start":"node bin/fakegen.js"},"keywords":["fake","data","generator","faker","cli","npx"],"author":{"name":"Emircan ERKUL","email":"opensource@emircanerkul.com","url":"https://emircanerkul.com"},"license":"GPL-3.0","dependencies":{"@faker-js/faker":"^8.0.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@taplo/lib":"^0.5.0","audiobuffer-to-wav":"^1.0.0","commander":"^11.0.0","fluent-ffmpeg":"^2.1.3","fs-extra":"^11.1.1","js-yaml":"^4.1.0","lamejs":"^1.2.1","node-lame":"^1.3.2","sharp":"^0.33.0","wav-encoder":"^1.3.0"},"_id":"@emircanerkul/fakegen@1.0.1","gitHead":"3e2bbc65f2942c632759c3e8a6ded0e33092fc53","_nodeVersion":"18.20.8","_npmVersion":"10.8.2","dist":{"integrity":"sha512-ndW4fGdiTf6BUk705coQ16EC3tvzgVFR8eO+b659hPvczKn+d71Ct0Wkkog2qxnOao98vwSJR+2QPpTpMcYx8w==","shasum":"a913331fca35ed43aa037dfa287a0a7beee63b14","tarball":"https://registry.npmjs.org/@emircanerkul/fakegen/-/fakegen-1.0.1.tgz","fileCount":40,"unpackedSize":2901056,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDO1CbaQuXUyW0QX8z/lX8/MFF/3jf/JewHLxJzf4wjGAiAHfeb3+Fuk4CtXggk07G7lcg5C6iyX7goDmbHvysOzqQ=="}]},"_npmUser":{"name":"emircanerkul","email":"develop@emircanerkul.com"},"directories":{},"maintainers":[{"name":"emircanerkul","email":"develop@emircanerkul.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/fakegen_1.0.1_1755959168440_0.4920580753912973"},"_hasShrinkwrap":false}},"time":{"created":"2025-08-23T14:26:08.345Z","1.0.1":"2025-08-23T14:26:08.675Z","modified":"2025-08-23T14:26:08.996Z"},"maintainers":[{"name":"emircanerkul","email":"develop@emircanerkul.com"}],"description":"A CLI tool to generate fake data and images using faker and lightweight image generation","keywords":["fake","data","generator","faker","cli","npx"],"author":{"name":"Emircan ERKUL","email":"opensource@emircanerkul.com","url":"https://emircanerkul.com"},"license":"GPL-3.0","readme":"# FakeGen (Generate Dummy Files)\n\nA powerful CLI tool to generate comprehensive fake data and beautiful abstract images using faker and canvas. Perfect for testing, prototyping, and development purposes.\n\n### Quick Start\n\n```npx @emircanerkul/fakegen``` or [See the artifacts of the Github Actions to Download](https://github.com/emircanerkul/fakegen/actions/runs/17174640006)\n\n> **DISCLAIMER:** This project developed with roocode/sonic to solve our annoying problem and demonstrate how well AI models do with good prompting. All prompt history also included, %100 transparent and honest.\n> 1. [Initial promt](history/roo_task_aug-22-2025_7-48-26-am.md)\n> 2. [Initial promt](history/roo_task_aug-23-2025_7-59-27-am.md)\n> 3. [Initial promt](history/roo_task_aug-23-2025_8-35-56-am.md)\n> 4. [Initial promt](history/roo_task_aug-23-2025_8-40-46-am.md)\n\n> **DISCLAIMER (UPDATE):** when sonic stuck at some audio generation task, switched to new [qoder](https://qoder.com/) ide used free trial plan.\n\n> **My Opinions:** both tools are great and at the time of generating (or lets say developing..) this package both was free. Sonic as named, it is really fast but lack of advanced coding skills. When it stuck at some point qoder able to fix it. Qoder also fast and has good quality results but a bit more slow than sonic but handles tasks better, no need to do context engineering or prompt magic, it does it all for you in design phase then proceed as like taskmaster does.\n\n## Features\n\n- **6 Data Formats**: Generate data in JSON, CSV, TXT, YML, TOML, and XML formats\n- **Multiple Data Types**: User profiles, product catalogs, order history, blog posts, and simple data sequences\n- **Simple Data Types**: Numbers, hashes, UUIDs, and dates with clean, minimal formatting (values only)\n- **Complex Data Types**: Full record structures with nested objects and arrays\n- **Beautiful Abstract Art**: Generate stunning pastel abstract images with organic shapes and flowing patterns\n- **Checkerboard Patterns**: Create colorful checkerboard images with alternating colors\n- **3 Image Formats**: Support for JPG, PNG, and WebP formats\n- **Standard Aspect Ratios**: Industry-standard ratios (1:1, 4:3, 16:9, 21:9, 9:16) with organized output\n- **Favicon Generation**: Generate favicons in multiple sizes (16x16 to 512x512) with PNG and ICO formats\n- **Programming Code Examples**: Generate example code files for 17+ programming languages\n- **Kebab-Case Organization**: Clean, organized directory structure using kebab-case naming\n- **Configuration-Driven**: Use `.fakegen.yml` configuration file for easy customization\n- **CLI Interface**: Simple command-line interface with comprehensive options\n- **npx Ready**: Can be run via `npx` without installation\n\n### Directory Structure\n\nGenerated content is organized in a clean, predictable structure:\n\n```\nfake-data/\n├── data/\n│   ├── user-profiles/          # User data with nested profiles\n│   ├── product-catalog/        # E-commerce product data\n│   ├── order-history/          # Order transactions\n│   ├── blog-posts/             # Blog content with SEO\n│   ├── simple-numbers/         # Just numbers (11, 12, 13...)\n│   ├── crypto-hashes/          # Hash values only\n│   └── uuid-sequences/         # UUID values only\n├── images/\n│   ├── 1-1/                    # Square images (1:1)\n│   │   ├── abstract/\n│   │   └── checkerboard/\n│   ├── 16-9/                   # Widescreen images (16:9)\n│   │   ├── abstract/\n│   │   └── checkerboard/\n│   └── 21-9/                   # Ultra-wide images (21:9)\n│       ├── abstract/\n│       └── checkerboard/\n├── favicons/\n│   ├── png/\n│   └── ico/\n└── programming-examples/\n    ├── hello_1.js\n    ├── hello_2.py\n    └── ...\n```\n\n## Installation\n\n### Using npx (Recommended)\n```bash\nnpx @emircanerkul/fakegen\n```\n\n### Local Installation\n```bash\nnpm install -g .\n```\n\n**Note**: Video and audio generation features are disabled by default and require additional dependencies. The core functionality (data generation, images, favicons, programming codes) works out of the box.\n\n## Usage\n\n### Quick Start\n```bash\n# Initialize configuration file\nnpx @emircanerkul/fakegen init\n\n# Generate everything with default configuration\nnpx @emircanerkul/fakegen\n\n# Generate with custom options\nnpx @emircanerkul/fakegen -n 50 -o ./my-data\n\n# Generate only data (skip images)\nnpx @emircanerkul/fakegen --no-images\n\n# Generate only images (skip data)\nnpx @emircanerkul/fakegen --images-only\n```\n\n### CLI Options\n\n- `-c, --config <path>`: Path to config file (default: `.fakegen.yml`)\n- `-o, --output <directory>`: Output directory (default: `./fake-data`)\n- `-n, --count <number>`: Number of records to generate (default: `10`)\n- `--help`: Show help information\n- `--version`: Show version number\n\n### Commands\n\n- `init`: Create a default `.fakegen.yml` configuration file\n- (no command): Generate fake data and images based on configuration\n\n## Configuration\n\nThe tool uses a `.fakegen.yml` configuration file to define what data to generate. Here's the structure with kebab-case naming:\n\n```yaml\noutput:\n  directory: ./fake-data\n  formats:\n    - json\n    - csv\n    - txt\n    - yml\n    - toml\n    - xml\n\ndata:\n  count: 10\n  types:\n    user-profiles:\n      enabled: true\n      fields:\n        - name: user-id\n          type: number-ascending\n        - name: first-name\n          type: first-name\n        - name: last-name\n          type: last-name\n        - name: email-address\n          type: email\n        - name: phone-number\n          type: phone-number\n        - name: street-address\n          type: address\n        - name: company-name\n          type: company-name\n        - name: user-profile\n          type: nested\n          fields:\n            - name: bio-text\n              type: paragraph\n            - name: avatar-url\n              type: text\n            - name: social-links\n              type: nested-array\n              count: 3\n              fields:\n                - name: platform-name\n                  type: text\n                - name: profile-url\n                  type: text\n    product-catalog:\n      enabled: true\n      fields:\n        - name: product-id\n          type: number-ascending\n        - name: product-name\n          type: product-name\n        - name: product-description\n          type: product-description\n        - name: unit-price\n          type: price\n        - name: product-category\n          type: product-category\n        - name: in-stock\n          type: boolean\n        - name: product-specifications\n          type: nested\n          fields:\n            - name: item-weight\n              type: number\n            - name: item-dimensions\n              type: nested\n              fields:\n                - name: width-cm\n                  type: number\n                - name: height-cm\n                  type: number\n                - name: depth-cm\n                  type: number\n            - name: material-list\n              type: array\n              count: 3\n              itemType: text\n        - name: customer-reviews\n          type: nested-array\n          count: 5\n          fields:\n            - name: reviewer-id\n              type: number\n            - name: star-rating\n              type: number\n            - name: review-comment\n              type: text\n            - name: review-date\n              type: date\n    simple-numbers:\n      enabled: true\n      fields:\n        - name: number\n          type: number-ascending\n    crypto-hashes:\n      enabled: true\n      fields:\n        - name: sha256-hash\n          type: sha256\n        - name: md5-hash\n          type: md5\n\nimages:\n  enabled: true\n  count: 15\n  formats:\n    - jpg\n    - png\n    - webp\n  aspect-ratios:\n    - '1:1'\n    - '4:3'\n    - '16:9'\n    - '21:9'\n    - '9:16'\n  base-sizes:\n    - 320\n    - 480\n    - 640\n    - 800\n    - 1024\n    - 1280\n    - 1920\n  generate-sizes: true\n\nfavicons:\n  enabled: true\n  sizes: [16, 32, 48, 64, 128, 180, 192, 256, 512]\n  formats: ['png', 'ico']\n\nprogramming-codes:\n  enabled: true\n  languages: ['js', 'ts', 'py', 'java', 'go', 'php', 'rb', 'cs', 'cpp', 'c', 'rs', 'swift']\n  count: 5\n```\n          type: price\n        - name: shippingAddress\n          type: nested\n          fields:\n            - name: street\n              type: address\n            - name: city\n              type: city\n            - name: country\n              type: country\n            - name: postalCode\n              type: text\n        - name: items\n          type: nestedArray\n          count: 3\n          fields:\n            - name: productId\n              type: number\n            - name: quantity\n              type: number\n            - name: unitPrice\n              type: price\n            - name: subtotal\n              type: price\n    blogPosts:\n      enabled: true\n      fields:\n        - name: id\n          type: number\n        - name: title\n          type: text\n        - name: slug\n          type: text\n        - name: content\n          type: paragraph\n        - name: excerpt\n          type: text\n        - name: authorId\n          type: number\n        - name: publishedAt\n          type: date\n        - name: status\n          type: text\n        - name: seo\n          type: nested\n          fields:\n            - name: metaTitle\n              type: text\n            - name: metaDescription\n              type: text\n            - name: keywords\n              type: array\n              count: 5\n              itemType: text\n        - name: tags\n          type: array\n          count: 4\n          itemType: text\n      numbers:\n        enabled: true\n        fields:\n          - name: id\n            type: numberAsc\n          - name: randomNumber\n            type: numberRandom\n          - name: descendingNumber\n            type: numberDesc\n          - name: sha1\n            type: sha1\n          - name: sha256\n            type: sha256\n          - name: md5\n            type: md5\n          - name: uuid\n            type: uuid\n          - name: uuid4\n            type: uuid4\n\nimages:\n  enabled: true\n  count: 15\n  formats:\n    - jpg\n    - png\n  aspectRatios:\n    - '16:9'\n    - '4:3'\n    - '1:1'\n    - '3:2'\n    - '21:9'\n    - '2:1'\n    - '5:4'\n  baseSizes:\n    - 1\n    - 16\n    - 32\n    - 64\n    - 128\n    - 256\n    - 400\n    - 512\n    - 600\n    - 800\n    - 1024\n    - 1200\n    - 1600\n    - 1920\n    - 2048\n    - 2560\n  generateSizes: true\n  },\n  favicons: {\n    enabled: true\n    sizes: [16, 32, 48, 64, 128, 256, 512, 1024, 2048, 4096]\n    formats: ['png', 'ico']\n  },\n  programmingCodes: {\n    enabled: true\n    languages: ['cs', 'ps', 'php', 'js', 'ts', 'tsx', 'py', 'java', 'cpp', 'c', 'rb', 'go', 'rs', 'swift', 'kt', 'scala', 'dart']\n    count: 5\n  },\n  videos: {\n    enabled: false\n    count: 5\n    duration: 3\n    width: 640\n    height: 480\n    formats: ['mp4', 'mov', 'mkv', 'mpg', 'mpeg', 'flv']\n    fps: 30\n  },\n  audio: {\n    enabled: false\n    count: 5\n    duration: 10\n    sampleRate: 44100\n    formats: ['mp3', 'ogg', 'wav', 'webm', 'aac']\n  }\n```\n\n### Supported Field Types\n\n#### Basic Types\n- `number`: Random integer (1-1000)\n- `first-name` / `firstName`: Random first name\n- `last-name` / `lastName`: Random last name\n- `full-name` / `fullName`: Random full name\n- `email`: Random email address\n- `phone-number` / `phoneNumber`: Random phone number\n- `address`: Random street address\n- `city`: Random city name\n- `country`: Random country name\n- `company-name` / `companyName`: Random company name\n- `product-name` / `productName`: Random product name\n- `product-description` / `productDescription`: Random product description\n- `price`: Random price (10-1000)\n- `product-category` / `productCategory`: Random product category\n- `boolean`: Random boolean value\n- `date`: Random recent date\n- `text`: Random sentence\n- `paragraph`: Random paragraph\n\n#### Advanced Types\n- `nested`: Creates a nested object with sub-fields\n- `array`: Creates an array of items with specified count and itemType\n- `nested-array` / `nestedArray`: Creates an array of nested objects with specified fields\n\n#### Cryptographic & Number Types\n- `number-ascending` / `numberAsc`: Ascending numbers (1, 2, 3, ...)\n- `number-descending` / `numberDesc`: Descending numbers (1000, 999, 998, ...)\n- `number-random` / `numberRandom`: Random numbers (1-10000)\n- `sha1`: SHA-1 hash\n- `sha256`: SHA-256 hash\n- `md5`: MD5 hash\n- `uuid`: UUID v4 string\n- `uuid4`: Cryptographically secure UUID\n\n#### Simple vs Complex Data Types\n\n**Simple Types** (output values only):\n- Numbers: `11\\n12\\n13\\n...`\n- Hashes: `a1b2c3...\\nf4e5d6...\\n...`\n- UUIDs: `uuid1\\nuuid2\\nuuid3\\n...`\n\n**Complex Types** (full record structure):\n```json\n{\n  \"user-id\": 1,\n  \"first-name\": \"John\",\n  \"last-name\": \"Doe\",\n  \"user-profile\": {\n    \"bio-text\": \"Software developer...\",\n    \"social-links\": [\n      {\"platform-name\": \"Twitter\", \"profile-url\": \"...\"}\n    ]\n  }\n}\n```\n\n#### Nested Structure Examples\n```yaml\n# Nested object\n- name: profile\n  type: nested\n  fields:\n    - name: bio\n      type: paragraph\n    - name: avatar\n      type: text\n\n# Simple array\n- name: tags\n  type: array\n  count: 5\n  itemType: text\n\n# Array of nested objects\n- name: reviews\n  type: nestedArray\n  count: 3\n  fields:\n    - name: rating\n      type: number\n    - name: comment\n      type: text\n```\n\n## Output Structure\n\nThe generated files are organized in a clean, kebab-case directory structure:\n\n```\nfake-data/\n├── data/\n│   ├── user-profiles/\n│   │   ├── json/\n│   │   │   └── user-profiles.json\n│   │   ├── csv/\n│   │   │   └── user-profiles.csv\n│   │   ├── txt/\n│   │   │   └── user-profiles.txt\n│   │   ├── yml/\n│   │   │   └── user-profiles.yml\n│   │   ├── toml/\n│   │   │   └── user-profiles.toml\n│   │   └── xml/\n│   │       └── user-profiles.xml\n│   ├── product-catalog/\n│   │   ├── json/\n│   │   │   └── product-catalog.json\n│   │   └── ... (other formats)\n│   ├── simple-numbers/\n│   │   ├── txt/\n│   │   │   └── simple-numbers.txt    # Contains: 1\\n2\\n3\\n4\\n5\\n...\n│   │   └── json/\n│   │       └── simple-numbers.json   # Contains: [1, 2, 3, 4, 5, ...]\n│   └── crypto-hashes/\n│       ├── txt/\n│       │   └── crypto-hashes.txt     # Contains: hash1\\nhash2\\nhash3\\n...\n│       └── json/\n│           └── crypto-hashes.json    # Contains: [\"hash1\", \"hash2\", ...]\n├── images/\n│   ├── 1-1/                          # Square aspect ratio (1:1)\n│   │   ├── abstract/\n│   │   │   ├── jpg/\n│   │   │   │   ├── 320x320.jpg\n│   │   │   │   ├── 640x640.jpg\n│   │   │   │   └── 1024x1024.jpg\n│   │   │   ├── png/\n│   │   │   └── webp/\n│   │   └── checkerboard/\n│   │       ├── jpg/\n│   │       ├── png/\n│   │       └── webp/\n│   ├── 16-9/                         # Widescreen aspect ratio (16:9)\n│   │   ├── abstract/\n│   │   └── checkerboard/\n│   └── 21-9/                         # Ultra-wide aspect ratio (21:9)\n│       ├── abstract/\n│       └── checkerboard/\n├── favicons/\n│   ├── png/\n│   │   ├── favicon_16x16.png\n│   │   ├── favicon_32x32.png\n│   │   ├── favicon_64x64.png\n│   │   └── ...\n│   └── ico/\n│       ├── favicon_16x16.ico\n│       ├── favicon_32x32.ico\n│       └── ...\n└── programming-examples/\n    ├── hello_1.js\n    ├── hello_2.py\n    ├── hello_3.java\n    └── ...\n```\n```\n\n### Image Organization\n\nImages are organized by aspect ratio for better usability:\n- **1-1/**: Square images (1:1 ratio) - perfect for avatars, thumbnails\n- **16-9/**: Widescreen images (16:9 ratio) - modern displays, video thumbnails  \n- **21-9/**: Ultra-wide images (21:9 ratio) - cinematic, banner content\n- **4-3/**: Traditional images (4:3 ratio) - classic photography, presentations\n- **9-16/**: Mobile portrait images (9:16 ratio) - mobile apps, stories\n\nEach aspect ratio directory contains:\n- `abstract/`: Procedurally generated abstract art\n- `checkerboard/`: Colorful checkerboard patterns\n\n### Simple Data Format Examples\n\n**Simple Numbers (simple-numbers.txt):**\n```\n1\n2\n3\n4\n5\n```\n\n**Crypto Hashes (crypto-hashes.txt):**\n```\na1b2c3d4e5f6789...\nf4e5d6c7b8a9123...\n789abc123def456...\n```\n\n### Complex Data Format Examples\n\n**User Profiles (user-profiles.json):**\n```json\n[\n  {\n    \"user-id\": 1,\n    \"first-name\": \"John\",\n    \"last-name\": \"Doe\",\n    \"email-address\": \"john.doe@example.com\",\n    \"user-profile\": {\n      \"bio-text\": \"Software developer with 5+ years experience...\",\n      \"avatar-url\": \"https://example.com/avatar.jpg\",\n      \"social-links\": [\n        {\"platform-name\": \"Twitter\", \"profile-url\": \"https://twitter.com/johndoe\"},\n        {\"platform-name\": \"LinkedIn\", \"profile-url\": \"https://linkedin.com/in/johndoe\"}\n      ]\n    }\n  }\n]\n```\n\n## Examples\n\n### Basic Usage\n```bash\n# Generate everything with default settings\nnpx @emircanerkul/fakegen\n\n# Generate with custom count\nnpx @emircanerkul/fakegen -n 50\n\n# Generate to custom directory\nnpx @emircanerkul/fakegen -o ./my-test-data\n\n# Use custom configuration file\nnpx @emircanerkul/fakegen -c ./custom-config.yml\n```\n\n### Configuration Examples\n```bash\n# Initialize default configuration\nnpx @emircanerkul/fakegen init\n\n# Edit .fakegen.yml to customize:\n# - Enable/disable specific data types\n# - Change output directory\n# - Modify aspect ratios and sizes\n# - Adjust field configurations\n```\n\n**Product Catalog (product-catalog.json):**\n```json\n[\n  {\n    \"product-id\": 1,\n    \"product-name\": \"Wireless Headphones\",\n    \"unit-price\": 129.99,\n    \"product-specifications\": {\n      \"item-weight\": 250,\n      \"item-dimensions\": {\n        \"width-cm\": 18,\n        \"height-cm\": 16,\n        \"depth-cm\": 8\n      },\n      \"material-list\": [\"Plastic\", \"Metal\", \"Silicone\"]\n    },\n    \"customer-reviews\": [\n      {\n        \"reviewer-id\": 123,\n        \"star-rating\": 5,\n        \"review-comment\": \"Excellent sound quality!\",\n        \"review-date\": \"2024-01-15T10:30:00.000Z\"\n      }\n    ]\n  }\n]\n```\n\n## Dependencies\n\n### Core Dependencies\n- `@faker-js/faker`: For generating realistic fake data\n- `sharp`: For high-quality image generation and processing\n- `js-yaml`: For YAML configuration parsing and generation\n- `fs-extra`: For enhanced file system operations\n- `crypto`: For generating unique identifiers and hashes (Node.js built-in)\n\n### Image Generation Dependencies\n- `sharp`: High-performance image processing library\n- Built-in Canvas API support for procedural image generation\n\n### Configuration and CLI Dependencies\n- `commander`: For CLI argument parsing and help generation\n- `js-yaml`: For YAML configuration file support\n\n**Note**: Video and audio generation features are disabled by default. The core functionality (data generation, images, favicons, programming codes) works out of the box with no additional setup required.\n\n## Development\n\nThe project uses a modular architecture with the following structure:\n\n```\nsrc/\n├── config/\n│   └── index.js          # Configuration management\n├── data/\n│   ├── generators.js     # Fake data generation logic\n│   └── formatters.js     # Multi-format serialization\n├── image/\n│   ├── generator.js      # Abstract image generation\n│   ├── saver.js          # Image export and format handling\n│   ├── index.js          # Image module exports\n│   └── faviconGenerator.js # Favicon generation\n├── utils/\n│   ├── codeGenerator.js  # Programming code examples generation\n│   └── index.js          # Utils module exports\n└── generator.js          # Main orchestration logic\n\nbin/\n└── fakegen.js            # CLI entry point\n```\n\n### Development Setup\n\n1. Clone the repository\n2. Install dependencies: `npm install`\n3. Make your changes to the source files\n4. Test your changes: `node src/generator.js`\n\n### Adding New Features\n\n- **New Data Types**: Add to `src/data/generators.js` and update config\n- **New Formats**: Extend `src/data/formatters.js`\n- **New Image Features**: Modify `src/image/generator.js`\n- **Configuration Options**: Update `src/config/index.js`\n\n### Testing\n\n```bash\n# Test the complete tool\nnpm start\n\n# Test specific modules\nnode src/data/generators.js\nnode src/image/generator.js\n```\n\n## What's New\n\n### Version 4.0 Major Refactor\n- ✅ **Kebab-Case Organization**: Clean, consistent naming throughout the codebase\n- ✅ **Simple Data Types**: Numbers, hashes, UUIDs output values only (no verbose formatting)\n- ✅ **Standard Aspect Ratios**: Industry-standard image sizes (1:1, 4:3, 16:9, 21:9, 9:16)\n- ✅ **Organized Directory Structure**: Logical grouping by data complexity and aspect ratio\n- ✅ **Legacy Support**: Automatic conversion from old camelCase configurations\n- ✅ **Enhanced Configuration**: Modular configuration system with clear separation of concerns\n\n### Key Improvements\n- 📁 **Better File Organization**: Data grouped in `/data/` subdirectory with kebab-case names\n- 🖼️ **Smarter Image Organization**: Images organized by aspect ratio (`/images/16-9/`, `/images/1-1/`)\n- 📝 **Simplified Simple Data**: Numbers files now contain just `1\\n2\\n3\\n` instead of verbose records\n- 🔧 **Cleaner Configuration**: New kebab-case field names (`first-name`, `user-id`, `aspect-ratios`)\n- 🎯 **Industry Standards**: Standard aspect ratios and common image sizes built-in\n\n### Previous Features Maintained\n- ✅ **6 Data Formats**: JSON, CSV, TXT, YML, TOML, XML\n- ✅ **Multiple Data Types**: User profiles, product catalogs, order history, blog posts\n- ✅ **Beautiful Abstract Images**: Procedurally generated art with pastel colors\n- ✅ **Complex Nested Structures**: Multi-level objects and arrays\n- ✅ **Favicon Generation**: Multiple sizes with PNG and ICO formats\n- ✅ **Programming Code Examples**: Multiple languages with example files\n- ✅ **Robust Error Handling**: Fallback mechanisms for edge cases\n\n## License\n\n[License](GPL v3.0 LICENSE)\n\n## Contributing\n\nContributions are welcome! Please feel free to submit issues, feature requests, and pull requests.\n\n### Development Guidelines\n- Follow the existing modular architecture\n- Add comprehensive error handling\n- Include tests for new features\n- Update documentation for any changes\n\n## Author\n\nCreated with ❤️ for developers who need comprehensive fake data and beautiful images for testing and prototyping.\n","readmeFilename":"README.md","_rev":"1-0f6bd25fc84bbf2f703fefc0d402fe56"}