@stackpress/idea v0.5.26
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
- Describe your idea in a flexible schema format
my.idea
. - Install plugins to transform your idea to code
make-database
. - 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:
4 months ago
6 months ago
4 months ago
6 months ago
3 months ago
3 months ago
3 months ago
5 months ago
4 months ago
4 months ago
6 months ago
4 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
7 months ago
7 months ago
7 months ago
9 months ago
7 months ago
5 months ago
9 months ago
5 months ago
5 months ago
5 months ago
4 months ago
5 months ago
4 months ago
7 months ago
7 months ago
7 months ago
8 months ago
8 months ago
3 months ago
5 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
2 months ago
2 months ago
3 months ago
3 months ago
5 months ago
9 months ago
5 months ago
9 months ago
5 months ago
9 months ago
9 months ago
5 months ago
9 months ago
5 months ago
9 months ago
5 months ago
9 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
11 months ago