0.5.26 • Published 1 month ago

@stackpress/idea v0.5.26

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
1 month ago

A meta language to express and transform your ideas to reality.

The purpose of this language is to streamline and automate parts of software development that follow a common pattern and therefore can be rendered. Some example code that can be generated using .idea files including the following.

  • Database calls with any ORM
  • API, REST, or GraphQL endpoints
  • React components
  • TypeScript type safety
  • Admin pages
  • more than 70% of the code you produce

It all starts with an idea...

Install

$ npm i -D @stackpress/idea

How It Works

  1. Describe your idea in a flexible schema format my.idea.
  2. Install plugins to transform your idea to code make-database.
  3. Generate your platform using the Idea commandline $ idea.

Benefits

This tool is particularly useful for startups and companies looking to build scalable and flexible software solutions quickly.

  • Speed and Efficiency: Dramatically speeds up development time. What might normally take weeks can be done in minutes, reducing the cost and time to market.
  • Customization and Flexibility: Ideas can be highly customized. This means it can be adapted for a wide range of applications, from simple to complex data structures.
  • Scalability: As your needs grow, the system is designed to scale seamlessly. You can add more ideas or adjust existing ones with minimal effort.
  • Documentation: Generate documentation and tech specs based on your idea file.
  • Error Reduction: By automating the code generation, we reduce the chance of human error, ensuring more reliable and stable software.
  • Modular: Use ideas from any vendor or source out your own ideas.
  • Pluggable: Reduce development time significantly by using existing plugins or publish your own.
  • Closer to AI: Idea files are perfect training data for AI projects.

Usage

This is an example idea schema.

//my.idea
model Product @label("Product" "Products") @suggested("[name]") @icon("gift") {
  name        String   @label("Name") 
                       @field.text
                       @is.required("Name is required")
                       @list.detail @view.text

  image       String   @label("Image") 
                       @field.image
                       @list.image({ width 20 height 20 }) 
                       @view.image({ width 100 height 100 })

  description String   @label("Description") 
                       @field.textarea
                       @list.none @view.text
  
  currency    String   @label("Currency")
                       @filterable @default("USD")
                       @field.currency
                       @is.ceq(3 "Should be valid currency prefix")
                       @list.text @view.text
  
  srp         Float?   @label("SRP")
                       @min(0.00) @step(0.01)
                       @field.number({ min 0.00 step 0.01 })
                       @list.price @view.price
  
  price       Float?   @label("Offer Price")
                       @min(0.00) @step(0.01)
                       @field.number({ min 0.00 step 0.01 })
                       @list.price @view.price
}

"Ideas are worthless without execution" - Many People

To transform an idea, you need to plugin a transformer like the following example.

//my.idea
plugin "idea-ts" {
  ts true
  output "./modules/[name]/types"
}
// ... your idea ...
// model Product ...

You can use other ideas, just import them like the following example.

//my.idea
use "./another.idea"
// ... your idea ...
// model Product ...

To execute an idea, you just need to run the following command.

$ npx idea --i my.idea

Learn more:

0.5.10

3 months ago

0.3.31

4 months ago

0.5.11

3 months ago

0.3.30

4 months ago

0.5.19

2 months ago

0.5.16

2 months ago

0.5.17

2 months ago

0.3.36

4 months ago

0.5.14

3 months ago

0.5.15

3 months ago

0.3.34

4 months ago

0.5.12

3 months ago

0.3.33

4 months ago

0.3.32

4 months ago

0.3.29

4 months ago

0.3.28

5 months ago

0.3.27

5 months ago

0.3.26

5 months ago

0.3.25

5 months ago

0.3.24

5 months ago

0.3.23

5 months ago

0.2.10

7 months ago

0.3.21

5 months ago

0.5.4

3 months ago

0.3.6

7 months ago

0.5.6

3 months ago

0.5.5

3 months ago

0.5.1

4 months ago

0.5.8

3 months ago

0.5.7

3 months ago

0.5.9

3 months ago

0.3.17

6 months ago

0.3.16

6 months ago

0.3.15

6 months ago

0.3.11

7 months ago

0.3.10

7 months ago

0.5.22

2 months ago

0.4.10

4 months ago

0.1.20

8 months ago

0.1.21

8 months ago

0.1.22

8 months ago

0.1.23

8 months ago

0.1.25

8 months ago

0.1.26

8 months ago

0.5.25

1 month ago

0.5.26

1 month ago

0.5.23

1 month ago

0.5.24

1 month ago

0.4.5

4 months ago

0.2.7

7 months ago

0.4.4

4 months ago

0.2.6

7 months ago

0.4.6

4 months ago

0.2.8

7 months ago

0.1.19

8 months ago

0.4.1

4 months ago

0.2.3

7 months ago

0.4.3

4 months ago

0.2.5

7 months ago

0.4.2

4 months ago

0.2.4

7 months ago

0.1.18

8 months ago

0.1.17

8 months ago

0.1.10

8 months ago

0.1.11

8 months ago

0.1.12

8 months ago

0.1.14

8 months ago

0.1.15

8 months ago

0.1.16

8 months ago

0.1.9

9 months ago

0.1.8

9 months ago