<h1 align="center">
    <b>Mukan Ignite</b>
</h1>

<p align="center">
  The sovereign development CLI for the <b>Mukan Network</b> stack, forked from Ignite CLI.
</p>

## Overview

**Mukan Ignite** is a hard-fork of [Ignite CLI v29](https://github.com/ignite/cli), specifically patched for the Mukan Network sovereign blockchain stack. It removes hardcoded restrictions that prevent building chains with a custom SDK fork (like `mukan-sdk`).

## What's Different?

Ignite CLI normally enforces that your chain uses the **exact** `github.com/cosmos/cosmos-sdk` module path. This is an intentional restriction that breaks any project that uses a sovereign SDK fork.

Mukan Ignite removes these restrictions with two surgical patches:

### Patch 1 — `ignite/pkg/cosmosver/detect.go`
Extended `CosmosSDKModulePathPattern` to also recognize `mukan-sdk` as a valid Cosmos SDK variant:
```go
// Before (Ignite CLI)
CosmosSDKRepoName = "cosmos-sdk"

// After (Mukan Ignite)
CosmosSDKRepoName = "cosmos-sdk|mukan-sdk"  // also matches git.cw.tr/mukan-network/mukan-sdk
```

### Patch 2 — `ignite/version/version.go`
Removed the version gate check that blocked sovereign SDK forks:
```go
// AssertSupportedCosmosSDKVersion — version check disabled for Mukan sovereign stack
func AssertSupportedCosmosSDKVersion(v cosmosver.Version) error {
    return nil  // All Mukan SDK versions are valid
}
```

## Building from Source

```bash
git clone https://git.cw.tr/mukan-network/mukan-ignite
cd mukan-ignite
make install
```

## Usage

Drop-in replacement for `ignite`. Use `mukan-ignite` wherever you'd use `ignite`:

```bash
mukan-ignite chain serve --reset-once
mukan-ignite chain build
```

## License

Licensed under the **GNU General Public License v3.0 (GPLv3)**.

*Original Ignite CLI components remain under their respective Apache 2.0 licenses where applicable.*
