# ConfigForge
[](https://7000pct.gitea.bloupla.net/7000pctAUTO/config-forge/actions)
[](https://7000pct.gitea.bloupla.net/7000pctAUTO/config-forge/releases)
[](https://opensource.org/licenses/MIT)
A powerful CLI tool for converting between configuration formats (JSON, YAML, TOML, ENV, INI) with built-in validation, schema inference, and TypeScript interface generation.
## Features
- **Format Conversion**: Convert seamlessly between JSON, YAML, TOML, ENV, and INI formats
- **Schema Validation**: Validate configurations against JSON Schema specifications
- **TypeScript Generation**: Generate TypeScript interfaces from configurations
- **Batch Processing**: Convert multiple files with glob pattern support
- **Syntax Highlighting**: Colorized output for better readability
- **Schema Inference**: Automatically infer JSON Schema from configurations
## Installation
### From Source
```bash
cargo install --path .
```
### Pre-built Binaries
Download pre-built binaries from the [releases page](https://7000pct.gitea.bloupla.net/7000pctAUTO/config-forge/releases).
## Quick Start
### Convert a file
```bash
config-forge convert -i config.json -t yaml
config-forge convert -i config.yaml -t toml -o config.toml
```
### Validate against schema
```bash
config-forge validate -c config.json -s schema.json
config-forge validate -c config.yaml -S schema.yaml --schema-format file
```
### Generate TypeScript interfaces
```bash
config-forge generate-ts -i config.json -o config.ts
config-forge generate-ts -i config.json --interface-name AppConfig
```
### Batch conversion
```bash
config-forge batch -p "configs/**/*.json" -t yaml
config-forge batch -p "*.toml" -t json -o ./json_output
```
### Infer schema from config
```bash
config-forge infer -i config.json -o schema.json
```
## Usage
### Convert Command
Convert between configuration formats.
```bash
config-forge convert -i [-f ] -t [-o