open-index/open-npm huggingface dataset:
npm package: @ossph/idea
Description: An open source schema file standard and generator
Author: Chris
Latest version: 0.1.6

# 💡 Idea

A meta language to express and transform your ideas to reality. 
It all starts with an idea...

## Install

```bash
$ npm i -D @ossph/idea
```

## Usage

This is an example idea schema.

```js
//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.

```js
//my.idea
plugin "@ossph/idea-typescript" {
  ts true
  output "./src/types.ts"
}
// ... your idea ...
// model Product ...
```

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

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

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

```bash
$ npx idea -i my.idea
```

Learn more:

 - [Form an Idea](//github.com/OSSPhilippines/idea/blob/main/docs/schema.md)
 - [Transform an Idea](//github.com/OSSPhilippines/idea/blob/main/docs/transform.md)
 - [Contribute to Idea](//github.com/OSSPhilippines/idea/blob/main/docs/contribute.md)
npm package: @ossph/idea-parser
Description: Parses ideas to AST and readable JSON.
Author: Chris
Latest version: 0.1.6

# Idea Parser

Parses the ideas to AST and readable JSON.

AST follows JS AST as described [here](https://astexplorer.net/#/gist/6e328cf76a27ca85e552c9cb583cdd74/1077c8842337972509a29bc9063d17bf90a1a492).

See [https://github.com/OSSPhilippines/idea] for more info.
npm package: @ossph/idea-transformer
Description: A programmatical command line interface used by projects and that calls on external transformers to make relevant code
Author: Chris
Latest version: 0.1.6

# Idea Transformer

A programmatical command line interface used by projects and that calls 
on external transformers to make relevant code.

## Install

```bash
$ npm install @ossph/idea-transformer

... or ...

$ yarn add @ossph/idea-transformer
```

## Custom Terminal

Create a bin file and paste this basic example.

```js
#!/usr/bin/env node

const { Terminal } = require('@ossph/idea-transformer');
new Terminal().run();
```

You can whitelabel `idea` like the following. This will prefix all 
outputs with `[MY LIB]` and schema files now need to have the 
extension `.mylib`.

```js
#!/usr/bin/env node

const { Terminal } = require('@ossph/idea-transformer');
Terminal.brand = '[MY LIB]';
Terminal.extension = 'mylib';
new Terminal().run();
```

## Programmatically Transform

You can also call the transformer manually like the following example.

```js
const { Loader, Transformer } = require('@ossph/idea-transformer');

const cwd = __dirname;
const idea = Loader.absolute('./my.idea', cwd);

const transformer = new Transformer(idea, cwd);
//read raw schema data
const schema = transformer.schema;
//transform schema
transformer.transform();
```

See [https://github.com/OSSPhilippines/idea] for more info.
npm package: @ossph/opensource
Description: Generate Open Source Project
Author: Joff Tiquez
Latest version: 1.2.2

🔓🔍🔧💻💡🌐🚀

# Open Source Project Generator 🏗️💡🔧

An easy to use boilerplate for open source projects with the following features:

1. **README.md**: This file serves as the main documentation for your project. It provides an overview of what the project does, how to install it, how to use it, and any other relevant information that users and contributors might need to know. It is essential for helping others understand your project and get involved.

2. **LICENSE**: The license file is a crucial component of any open-source project. It specifies the terms under which the project's code and other assets are made available to others. It provides legal protection and ensures that everyone using or contributing to the project abides by the set rules.

3. **CONTRIBUTING.md**: This file outlines the guidelines for other developers who want to contribute to your project. It covers various aspects, such as how to set up the development environment, coding standards, submitting pull requests, and handling issues. Providing clear contribution guidelines encourages collaboration and streamlines the process of receiving contributions from the community.

4. **CHANGELOG.md**: The changelog file maintains a record of all changes made to the project over time. It usually follows a structured format, listing version numbers, release dates, and a summary of changes for each version. This allows users and contributors to track the evolution of the project and understand what improvements or bug fixes have been introduced in each release.

5. **CODE_OF_CONDUCT.md**: The code of conduct outlines the expected behavior and interactions among project contributors and users. It sets a standard for respectful and inclusive communication, helping maintain a positive and welcoming community around the project.

## Usage 

`npx @ossph/opensource <project-name>`

## Author

[Joff Tiquez](https://jofftiquez.dev)

## License

MIT