Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/tiny-mails-press.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@sei-js/create-sei": patch

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should this be a minor/major instead?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it will be when we redo it completely. So basically the next one

---

Remove cosmos from templates
24 changes: 3 additions & 21 deletions docs/create-sei/quick-start.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -38,18 +38,6 @@ The CLI provides an interactive wizard to guide you through project setup:
- **Vite** - Fast build tool with React
</Step>

<Step title="Select Ecosystem">
Choose your blockchain integration:
- **EVM** - Ethereum-compatible development (recommended)
- **Cosmos** - Native Cosmos SDK (deprecated per SIP-3)
</Step>

<Step title="Pick Library (EVM only)">
For EVM ecosystem, choose your wallet library:
- **Wagmi** - Type-safe React hooks for Ethereum
- **Ethers.js** - Traditional Ethereum library
</Step>

<Step title="Project Setup">
The CLI automatically configures:
- TypeScript configuration
Expand All @@ -67,15 +55,11 @@ Skip the interactive setup by specifying all options directly:
<CodeGroup>

```bash Next.js + Wagmi
npx @sei-js/create-sei app -n my-app -f next -e evm -l wagmi
npx @sei-js/create-sei app -n my-app -f next
```

```bash Vite + Ethers.js
npx @sei-js/create-sei app -n my-app -f vite -e evm
```

```bash Next.js + CosmJS (Deprecated)
npx @sei-js/create-sei app -n my-app -f next -e cosmos
npx @sei-js/create-sei app -n my-app -f vite
```

</CodeGroup>
Expand All @@ -86,8 +70,6 @@ npx @sei-js/create-sei app -n my-app -f next -e cosmos
|------|-----------|-------------|---------|
| `-n` | `--name` | Project name (must be valid package name) | Any valid npm package name |
| `-f` | `--framework` | Frontend framework | `vite`, `next` |
| `-e` | `--ecosystem` | Blockchain ecosystem | `evm`, `cosmos` |
| `-l` | `--library` | EVM library (EVM ecosystem only) | `wagmi` |

<Info>
**Template Combinations**: The CLI creates different project templates based on your flag combinations. See all available combinations on the [Templates page](/create-sei/templates).
Expand All @@ -99,7 +81,7 @@ After running the CLI, you'll have a fully configured Sei dApp ready for develop

- **Project Structure Created** - Organized file structure with components, hooks, and utilities properly scaffolded for your chosen framework and ecosystem.

- **Wallet Integration Ready** - Pre-configured wallet connections for your chosen ecosystem (Wagmi/Ethers.js for EVM, CosmJS for Cosmos) with connection hooks ready to use.
- **Wallet Integration Ready** - Pre-configured wallet connections and connection hooks ready to use.

- **Development Tools Configured** - TypeScript, ESLint, Prettier, and Tailwind CSS automatically configured with sensible defaults and ready for immediate development.

Expand Down
99 changes: 3 additions & 96 deletions docs/create-sei/templates.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,7 @@ icon: "grid-2"
**New to @sei-js/create-sei?** Check out our [Quick Start guide](/create-sei/quick-start) for step-by-step instructions on getting started. This page is a reference for all available template combinations.
</Info>

## Next.js Templates

Choose from these Next.js-based templates for building production-ready frontend dApps with server-side rendering, SEO optimization, and full-stack capabilities. Each template includes pre-configured wallet connections and Sei blockchain integration.
## Choose a Template

<CardGroup cols={1}>
<Card
Expand All @@ -32,56 +30,6 @@ Choose from these Next.js-based templates for building production-ready frontend
```
</Card>

<Card
title="Next.js + Ethers.js (EVM)"
icon="react"
>
Next.js application using Ethers.js for blockchain interactions with custom React hooks for wallet management. Includes pre-configured Sei precompile contract integrations for native blockchain functionality like token operations, staking, and governance. Ideal for developers familiar with Ethers.js who need direct access to Sei's unique features.

<br/>

**CLI Flags:** `-f next -e evm`

<br/>

**Tech Stack:** `Next.js 14` `Ethers.js v6` `Custom Hooks` `Sei Precompiles` `Tailwind CSS`

```bash
npx @sei-js/create-sei app -n my-app -f next -e evm
```
</Card>

<Card
title="Next.js + CosmJS (Cosmos) - Deprecated"
icon="atom"
>
<Warning>
**Deprecated**: CosmWasm and Cosmos functionality will be removed from Sei as part of [SIP-3](https://github.com/sei-protocol/sips/blob/main/sips/sip-3.md). Please use EVM templates for new projects.
</Warning>

Legacy Next.js application with CosmJS for Cosmos SDK interactions and Keplr wallet integration. Supports native Cosmos transaction signing and IBC transfers. Only recommended for maintaining existing Cosmos-based applications before migrating to EVM templates.

<br/>

**CLI Flags:** `-f next -e cosmos`

<br/>

**Tech Stack:** `Next.js 14` `CosmJS` `Keplr Wallet` `Cosmos SDK` `Tailwind CSS`

```bash
npx @sei-js/create-sei app -n my-app -f next -e cosmos
```
</Card>
</CardGroup>

---

## Vite Templates

Select from these Vite-based templates for rapid frontend dApp development with instant hot module replacement and lightning-fast build times. Perfect for prototyping, single-page applications, and development environments requiring quick iteration cycles.

<CardGroup cols={1}>
<Card
title="Vite + Wagmi (EVM)"
icon="bolt"
Expand All @@ -100,53 +48,12 @@ Select from these Vite-based templates for rapid frontend dApp development with
npx @sei-js/create-sei app -n my-app -f vite -e evm -l wagmi
```
</Card>

<Card
title="Vite + Ethers.js (EVM)"
icon="bolt"
>
Lightweight Vite application with Ethers.js for direct blockchain interactions and custom wallet connection setup. Includes Sei precompile contract factories for accessing native functionality like bank operations, staking rewards, and oracle price feeds. Best for developers who prefer minimal abstractions and direct control over wallet connections.

<br/>

**CLI Flags:** `-f vite -e evm`

<br/>

**Tech Stack:** `Vite` `React 18` `TypeScript` `Ethers.js v6` `Sei Precompiles`

```bash
npx @sei-js/create-sei app -n my-app -f vite -e evm
```
</Card>

<Card
title="Vite + CosmJS (Cosmos) - Deprecated"
icon="atom"
>
<Warning>
**Deprecated**: CosmWasm and Cosmos functionality will be removed from Sei as part of [SIP-3](https://github.com/sei-protocol/sips/blob/main/sips/sip-3.md). Please use EVM templates for new projects.
</Warning>

Legacy Vite application with CosmJS for Cosmos SDK interactions, Keplr wallet integration, and native Cosmos transaction signing. Supports IBC transfers and CosmWasm contract interactions. Only use for maintaining existing Cosmos applications during the transition period to EVM-based architecture.

<br/>

**CLI Flags:** `-f vite -e cosmos`

<br/>

**Tech Stack:** `Vite` `React 18` `TypeScript` `CosmJS` `Keplr Wallet`

```bash
npx @sei-js/create-sei app -n my-app -f vite -e cosmos
```
</Card>
</CardGroup>

---
## What's Included

Every template includes these essential features:
Each template includes these essential features:

<CardGroup cols={2}>
<Card title="Wallet Connection" icon="wallet">
Expand Down
5 changes: 1 addition & 4 deletions docs/create-sei/welcome.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ icon: "hammer"
`@sei-js/create-sei` is a CLI tool that scaffolds production-ready Sei dApps in seconds. Choose from EVM or Cosmos templates with Next.js/Vite, modern wallet integration, and TypeScript support.

```bash
npx @sei-js/create-sei app -n my-sei-app
npx @sei-js/create-sei app -n my-sei-app -f next
```

<Warning>
Expand All @@ -20,9 +20,6 @@ npx @sei-js/create-sei app -n my-sei-app
<Card title="EVM Templates" icon="ethereum">
Modern Ethereum-compatible development with Wagmi/Viem or Ethers.js
</Card>
<Card title="Cosmos Templates" icon="atom">
Native Cosmos SDK integration (deprecated per SIP-3)
</Card>
<Card title="Multiple Frameworks" icon="layer-group">
Next.js for full-stack apps, Vite for lightweight builds
</Card>
Expand Down
Binary file modified packages/create-sei/.yarn/install-state.gz
Binary file not shown.
61 changes: 1 addition & 60 deletions packages/create-sei/src/main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,20 +30,9 @@ enum FrontendScaffolding {
Next = 'next'
}

export enum RPCIntegrationType {
EVM = 'evm',
CosmJS = 'cosmos'
}

export enum EVMLibrary {
Wagmi = 'wagmi'
}

interface WizardOptions {
name?: string;
framework?: FrontendScaffolding;
ecosystem?: RPCIntegrationType;
library?: EVMLibrary;
}

const promptFramework = async () => {
Expand All @@ -59,32 +48,6 @@ const promptFramework = async () => {
return appFramework;
};

const promptRpcIntegrations = async () => {
const { rpcIntegrationType } = await inquirer.prompt([
{
type: 'list',
name: 'rpcIntegrationType',
message: 'Select the wallet connection type you want to include:',
choices: Object.values(RPCIntegrationType)
}
]);

return rpcIntegrationType;
};

const promptEVMLibrary = async () => {
const { evmLibrary } = await inquirer.prompt([
{
type: 'list',
name: 'evmLibrary',
message: 'Choose your preferred EVM library:',
choices: Object.values(EVMLibrary)
}
]);

return evmLibrary;
};

function isValidDirectoryName(dirName) {
const illegalRe = /[<>:"/\\|?*]/g;
const windowsReservedRe = /^(con|prn|aux|nul|com[1-9]|lpt[1-9])$/i;
Expand Down Expand Up @@ -121,22 +84,6 @@ const validateOptions = (options: WizardOptions): boolean => {
}
}

if (options.ecosystem) {
const validEcosystems = Object.values(RPCIntegrationType);
if (!validEcosystems.includes(options.ecosystem)) {
console.log(`Invalid Ecosystem '${options.ecosystem}' provided. Framework must be one of: [${validEcosystems.join(', ')}]`);
valid = false;
}
}

if (options.library) {
const validEVMLibraries = Object.values(EVMLibrary);
if (!validEVMLibraries.includes(options.library)) {
console.log(`Invalid EVM Library '${options.library}' provided. Framework must be one of: [${validEVMLibraries.join(', ')}]`);
valid = false;
}
}

return valid;
};

Expand Down Expand Up @@ -166,12 +113,8 @@ async function runWizard(options: WizardOptions): Promise<void> {
}

const appFramework = options.framework || (await promptFramework());
let appConnectionType = options.ecosystem || (await promptRpcIntegrations());
if (appConnectionType === RPCIntegrationType.EVM) {
appConnectionType = options.library || (await promptEVMLibrary());
}

const templateName = `${appFramework}-${appConnectionType}-template`;
const templateName = `${appFramework}-template`;
const templatePath = path.join(__dirname, 'templates', templateName);
const dst = path.join(process.cwd(), dAppName);
await fs.promises.cp(templatePath, dst, { recursive: true });
Expand All @@ -185,8 +128,6 @@ program
.description('Create a new SEI dApp')
.option('-n, --name <name>', 'Specify the name of your dApp. Name must be a valid package name.')
.option('-f, --framework <framework>', `Specify the app framework to use: [${Object.values(FrontendScaffolding).join(', ')}]`)
.option('-e, --ecosystem <ecosystem>', `Specify the ecosystem to use: [${Object.values(RPCIntegrationType).join(', ')}]`)
.option('-l, --library <library>', `Specify the EVM library to use: [${Object.values(EVMLibrary).join(', ')}]. Only used if ecosystem chosen is 'EVM'`)
.action(async (options: WizardOptions) => {
try {
await runWizard(options);
Expand Down
60 changes: 0 additions & 60 deletions packages/create-sei/templates/next-cosmos-template/README.md

This file was deleted.

14 changes: 0 additions & 14 deletions packages/create-sei/templates/next-cosmos-template/next.config.mjs

This file was deleted.

Loading