Skip to content

Piarre/IDE

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

32 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ IDE v3

πŸ‘½οΈ A CLI to quickly initialize new projects from custom templates! πŸ“¦οΈ

NPM License: MIT

✨ Features

  • 🧩 Generate projects from custom YAML templates
  • πŸ” Define project structure easily with YAML
  • πŸ”§ Run shell commands as part of initialization
  • 🧰 Automatically modify JSON files
  • πŸ”„ Dynamic variables in templates ({{ variable }})
  • ⚑️ Native Bun support for fast performance

πŸ“₯ Installation

bun install -g @piarre/ide@3.0.0

🏁 Quick Start

1. Create the templates folder

Templates are stored in the ~/.ide/ directory.

mkdir -p ~/.ide

2. Create a YAML template

Example template:

# ~/.ide/ts.yml
name: ts
description: Create a TypeScript project
options:
  - name: "git"
    command: "-g, --git"
    description: "Initialize a git repository"
    execute:
      - "git init"
actions:
  - files:
      - path: src/index.ts
        content: |
          console.log("Hello, {{ name }}!");
      - path: tsconfig.json
        content: |
          {
            "compilerOptions": {
              "module": "CommonJS",
              "target": "ESNext",
              "outDir": "./out",
              "skipLibCheck": true
            },
            "include": ["src/**/*"],
            "exclude": ["node_modules"]
          }
    commands:
      - "npm init -y"
      - "npm i -D typescript @types/node tsup ts-node"

3. Generate a project

# Create a new project in a dedicated folder
ide ts -n my-project

# Create in the current directory
cd empty-folder
ide ts

4. Display a template without running actions

ide ts --display-template

πŸ”„ Template Variables

Use {{ variable }} in your YAML files or commands to inject values passed as options.

options:
  - name: "username"
    command: "-u, --username <username>"
    description: "Your username"

files:
  - path: README.md
    content: |
      # Project by {{ username }}

πŸ› οΈ Advanced Options

  • --directory <name>: Create the project in a specific directory
  • --display-template: Show the template content without running actions

πŸ“š Documentation

More info at ide.piarre.app.

πŸ“œ License

This project is MIT licensed.

πŸ‘¨β€πŸ’» Author

Piarre - GitHub

About

πŸ‘½οΈ My CLI to fastly initalize new projects ! πŸ“¦οΈ

Resources

Stars

Watchers

Forks