0.5.26 • Published 2 months ago

@stackpress/idea v0.5.26

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
2 months 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

4 months ago

0.3.31

6 months ago

0.5.11

4 months ago

0.3.30

6 months ago

0.5.19

3 months ago

0.5.16

3 months ago

0.5.17

3 months ago

0.3.36

5 months ago

0.5.14

4 months ago

0.5.15

4 months ago

0.3.34

6 months ago

0.5.12

4 months ago

0.3.33

6 months ago

0.3.32

6 months ago

0.3.29

6 months ago

0.3.28

6 months ago

0.3.27

6 months ago

0.3.26

6 months ago

0.3.25

7 months ago

0.3.24

7 months ago

0.3.23

7 months ago

0.2.10

9 months ago

0.3.21

7 months ago

0.5.4

5 months ago

0.3.6

9 months ago

0.5.6

5 months ago

0.5.5

5 months ago

0.5.1

5 months ago

0.5.8

4 months ago

0.5.7

5 months ago

0.5.9

4 months ago

0.3.17

7 months ago

0.3.16

7 months ago

0.3.15

7 months ago

0.3.11

8 months ago

0.3.10

8 months ago

0.5.22

3 months ago

0.4.10

5 months ago

0.1.20

9 months ago

0.1.21

9 months ago

0.1.22

9 months ago

0.1.23

9 months ago

0.1.25

9 months ago

0.1.26

9 months ago

0.5.25

2 months ago

0.5.26

2 months ago

0.5.23

3 months ago

0.5.24

3 months ago

0.4.5

5 months ago

0.2.7

9 months ago

0.4.4

5 months ago

0.2.6

9 months ago

0.4.6

5 months ago

0.2.8

9 months ago

0.1.19

9 months ago

0.4.1

5 months ago

0.2.3

9 months ago

0.4.3

5 months ago

0.2.5

9 months ago

0.4.2

5 months ago

0.2.4

9 months ago

0.1.18

10 months ago

0.1.17

10 months ago

0.1.10

10 months ago

0.1.11

10 months ago

0.1.12

10 months ago

0.1.14

10 months ago

0.1.15

10 months ago

0.1.16

10 months ago

0.1.9

10 months ago

0.1.8

11 months ago