{"id":14007136,"url":"https://github.com/nooqta/kodyfire","last_synced_at":"2025-04-12T12:32:10.879Z","repository":{"id":37909884,"uuid":"417010211","full_name":"nooqta/kodyfire","owner":"nooqta","description":"AI-powered code generator and automation tool","archived":false,"fork":false,"pushed_at":"2023-05-20T14:03:00.000Z","size":17978,"stargazers_count":31,"open_issues_count":0,"forks_count":7,"subscribers_count":6,"default_branch":"main","last_synced_at":"2024-04-26T01:32:34.607Z","etag":null,"topics":["ai","automation","boilerplate","chatgpt","cli","codex","generator","low-code","no-code","openai","openai-api","scaffold","template","typescript","whisper","yeoman"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nooqta.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["anis-marrouchi"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2021-10-14T06:12:37.000Z","updated_at":"2024-06-18T21:34:55.900Z","dependencies_parsed_at":"2024-06-18T21:34:30.009Z","dependency_job_id":"37273644-be53-4d23-99d8-debfbb802e6f","html_url":"https://github.com/nooqta/kodyfire","commit_stats":{"total_commits":659,"total_committers":5,"mean_commits":131.8,"dds":"0.057663125948406724","last_synced_commit":"beac3749051aca5055a9323556e76bd8255b3920"},"previous_names":[],"tags_count":104,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nooqta%2Fkodyfire","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nooqta%2Fkodyfire/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nooqta%2Fkodyfire/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nooqta%2Fkodyfire/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nooqta","download_url":"https://codeload.github.com/nooqta/kodyfire/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248566584,"owners_count":21125691,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","automation","boilerplate","chatgpt","cli","codex","generator","low-code","no-code","openai","openai-api","scaffold","template","typescript","whisper","yeoman"],"created_at":"2024-08-10T10:01:51.006Z","updated_at":"2025-04-12T12:32:08.674Z","avatar_url":"https://github.com/nooqta.png","language":"TypeScript","funding_links":["https://github.com/sponsors/anis-marrouchi"],"categories":["TypeScript"],"sub_categories":[],"readme":"[![lerna](https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg)](https://lerna.js.org/)\n\n*Kody is a command-line tool for generating artifact files, powered by both classic and AI code generation techniques. It can be used by both technical and non-technical users to generate files across a wide range of technologies and programming languages.*\n\nThe code generation feature in Kody relies on [OpenAI GPT](https://openai.com/), a language model that uses deep learning to generate human-like text, and ChatGPT to provide natural language processing capabilities.\n\nTable of Contents\n-----------------\n\n*   [Installation](#installation)\n*   [Usage](#usage)\n*   [Getting Started](#Getting%20Started)\n*   [Terminology](#terminology)\n*   [Contributing](#contributing)\n*   [License](#license)\n\nInstallation\n------------\n\n### Prerequisites\n\n*   [Node.js](https://nodejs.org/en/) (version 14 or later)\n\nTo install `kody`, use `npm` with the following command:\n\n```bash\nnpm install -g kodyfire-cli\n```\nor\n\n```sh\nyarn global add kodyfire-cli\n```\n\nYou can check the documentation with\n\n```bash\nkody --help\n```\n\nUsage\n-----\n\n```bash\nkody [options] [command]\n```\n\n### Options\n\n*   `-v, --version`: Output the current version\n*   `-h, --help`: Display help for command\n\n### Commands\n\n*   `prompt|ai [options] [prompt...]`: AI powered prompt assistant to quickly generate an artifact\n*   `batch [options]`: Generate multiple digital artifact\n*   `create [options] \u003cname\u003e \u003ctechnology\u003e`: Generate a new blank kody project\n*   `generate|g [options] [kody] [concept]`: Prompt assistant to quickly generate an artifact\n*   `import|in [options] \u003ckody\u003e \u003cconcepts\u003e`: Mass create artifacts from a source.\n*   `init`: Initialize a new kodyfire project\n*   `install|i [kody]`: Prompt user to choose to install\n*   `list|ls [options] [kodyName]`: List installed kodies within your current project.\n*   `publish \u003ckody\u003e [template]`: Publish the templates of the kody along with the assets.json and schema.ts files\n*   `ride|↻`: Prompt assistant to help build your kody.json file\n*   `run [options]`: Generate a digital artifact based on the selected technology\n*   `run-script|rs`: Run scripts\n*   `search|s [keywords...]`: Search kodyfire packages from npm registry\n*   `watch|w [options]`: Watch for file changes and run kody\n*   `help [command]`: Display help for command\n\n\nGetting Started\n----------------\n\n\nOpen the project you are willing to work on using vscode or your prefered editor.\n### Generate artifacts using AI\nIn case you want to exclusivly rely on AI to generate your artifacts. You don't need to install any additional kodies. Run the `kody ai [prompt]` command and follow the prompts. For example, to create a Laravel Controller named SampleController under API/V1 and add a comment on top saying Hello Kodyfire, run the following command\n\n```sh\nkody ai create a Laravel Controller named SampleController under API/V1. Add a comment on top saying Hello Kodyfire!\n```\nYou can use the experimental Speech-to-Text option to pass your prompt using your voice.\n```sh\nkody ai -r\n```\nThe transcription relies on [Whisper](https://openai.com/research/whisper) and requires [SoX](http://sox.sourceforge.net/) installed and available in your \\$PATH. for the audio recording.\n### For Linux\n\n```\nsudo apt-get install sox libsox-fmt-all\n```\n\n### For MacOS\n\n```\nbrew install sox\n```\n\n### For Windows\n\n[Download the binaries](http://sourceforge.net/projects/sox/files/latest/download)\n### Generate your artifact using the classical method\n\n#### Search and install a kody\n\nBased on your project, search [availables kodies](#Available%20kodies) and select the one that fits your need..\n\nTo search [availables kodies](#Available%20kodies) by keyword runthe following command. if you don't specify a keyword all available kodies will be listed.\n\n```bash\nkody search [keyword]\n```\n\nInstall your kody of choice. For example, if you want to install the react kody\n\n```bash\nkody install react\n```\n\nor\n\n```bash\nnpm install -s react-kodyfire\n```\n\nPlease note you can install as many kodies in the same project as you wish.\n\n#### Generate your artifact\n\nThere are 2 methods you can generate your artifacts with:\n\n- The `generate` command\n- The `run` command\n\n##### Method 1: Generator mode `kody generate`\n\nThe recommended way of using kody is using the `generate` command. The command will assist you creating your artifact based on the chosen `concept`. For example, a react `component` is considered a `concept`.\nIn order to generate your artifacts, run the `generate` command. The syntax is `kody g|generate [kody] [concept]`. the assistant will prompt you to select the missing arguments. As an example, run the following command from your terminal:\n\n```sh\nkody generate react component\n```\n\n##### Method 2: Runner mode `kody run`\n\nThe `run` command is similar to the `generate` command. The `run` requires a definition file which is simply a json file containing all the concept definitions you have created using the `ride` command. The `generate` command on the other hand creates one or more concept definition on the run and process them on one run. Every command has its use cases.\n\n###### Initialize kody\n\nIn order to start using kody, you need to initialize your project.\n\n```bash\nkody init\n```\n\nThis will add the definition files required for kody runs.\n\u003cu\u003e**Important**\u003c/u\u003e: Please run the command **only once**. The command will override existing definition files. We will disable overriding in a future version.\n\n###### Ride your kody\n\nIn order to update your definition, use the kody ride command to assist you populate the required fields\n\n```bash\nkody ride\n```\n\n###### Launch a kody run\n\nOnce you are satisified with your definition file, execute the run command to generate your artifacts.\n\n```bash\nkody run -s laravel-kody.json\n```\n\nTo run all kodies defined within your project, run the following command:\n\n```bash\nkody batch\n```\n### Create your own kody\n\nIn most cases you might need a custom kody to suit your needs\n\n#### Scaffold a new kody\n\nCreate a basic kody using the scaffold command. Follow the prompts to setup your kody\n\n```bash\nkody scaffold\n```\n\nThis will create a folder containing the basic structure for a kody. You can start using right away within your project.\n\n#### Setup your kody\n\n##### Install npm dependencies\n\n```bash\nnpm i\n```\n\n##### Build your kody\n\n```bash\nnpm run build\n```\n\n#### Add your concepts and related templates\n\n//TODO\nThis will build your kody and export the basic templates files.\n\n##### Add your kody as an NPM dependency to a test project\n\nIn order to be able to use it within your test project run the following command\n\n```bash\nnpm i -s ./yourkody-kodyfire\n```\n\n### Publish your kody\n\nPlease remember that Kody is still in exploration phase and things will change frequently. Contribution is always highly requested.\n\n#### Prepare your kody\n\nAdd the required kodyfire metadata to your package.json\n\n```jsonc\n{\n  // A command for handling this part will be added in a future version\n  \"kodyfire\": {\n    \"id\": \"your-id\", // must be unique.\n    \"type\": \"kodyfire\", // Example of valid technology names: laravel, express, react, angular, flutter, html, css. Default: kodyfire\n    \"version\": \"0.0.1\"\n  }\n}\n```\n\n#### Publish to Github\n\nIntialize your project as a git repository and push to a public Github repo\n\nTo do so, kindly follow these steps:-\n\n1. Intitialize a new Github repository and make it public.\n2. Open your project root folder locally from terminal and run the following commands:-\n\n```bash\ngit init\n```\n\n```bash\ngit add .\n```\n\n```bash\ngit commit -m \"Initial Commit!\"\n```\n\n3. Link your project to your Github repository.\n\n```bash\ngit remote add origin \u003ccopied URL\u003e\n```\n\n```bash\ngit push origin main\n```\n\n#### Publish to npm\n\nOnce you are satisfied with your kody and you would to like to share it with the community. Run the following command.\n\n```bash\nnpm Publish\n```\n\n\u003cu\u003eNote\u003c/u\u003e: \u003ci\u003eYou'll need an NPM account\u003c/i\u003e\n\n#### Share with community\n\nCongratulation publishing your first kody. Don't forget to share your kody repo link by opening an issue on Kody's github repository.\n\nTerminology\n-----------\n\n*   **Kody**: Refers to the code generation command-line tool that generates digital artifacts.\n*   **Artifacts**: Refers to the various digital products generated by Kody based on the input provided.\n\n**Note:** Kody uses classical code generation techniques in addition to AI-powered code generation using OpenAI Codex and ChatGPT.\n\nAvailable kodies\n----------------\n\n| Name                                                                             | Description                                                                                                                                                      |\n| -------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| [basic-kodyfire](https://github.com/nooqta/kodyfire)                             | A general purpose code generator that should handle most of the generation use cases                                                                             |\n| [typescript-kodyfire](https://github.com/nooqta/typescript-kodyfire)             | Generate typescript related artifacts                                                                                                                            |\n| [tsconfig-kodyfire](https://github.com/nooqta/tsconfig-kodyfire)                 | Generate tsconfig files for your typescript projects                                                                                                             |\n| [nextjs-kodyfire](https://github.com/nooqta/nextjs-kodyfire)                     | Generate nextJs components and related artifacts                                                                                                                 |\n| [react-kodyfire](https://github.com/nooqta/react-kodyfire)                       | Generate react components                                                                                                                                        |\n| [laravel-kodyfire](https://github.com/nooqta/laravel-kodyfire)                   | Laravel artifacts generation                                                                                                                                     |\n| [uml-kodyfire](https://github.com/nooqta)                                        | Uml diagrams generation using plantuml                                                                                                                           |\n| [readme-kodyfire](https://github.com/nooqta/readme-kodyfire)                     | Readme file generation                                                                                                                                           |\n| [word-kodyfire](https://github.com/nooqta/word-kodyfire)                         | Generate ms word document based on a template                                                                                                                    |\n| [pdf-kodyfire](https://github.com/nooqta/pdf-kodyfire)                           | Generate PDF document from HTML templates                                                                                                                        |\n| [social-image-kodyfire](https://github.com/anis-marrouchi/social-image-kodyfire) | Generate dynamic images for social sharing based on HTML templates                                                                                               |\n| [social-gif-kodyfire](https://github.com/anis-marrouchi/social-gif-kodyfire)     | Generate dynamic gif images for social sharing based on HTML templates                                                                                           |\n| [linkedin-quizzes-kodyfire](https://github.com/nooqta/linkedin-quizzes-kodyfire) | Practice Linkedin skill assessement tests from your terminal                                                                                                     |\n| [chatgpt-kodyfire](https://github.com/nooqta/chatgpt-kodyfire)                   | Use chatgpt from the terminal. Allows you provide additional data from various sources (not implemented yet) and export to serveral outputs (markdown only now). |\n\nContributing\n------------\n\nIf you encounter any issues while using Kody or have suggestions for new features, feel free to open an issue or submit a pull request.\n\nPlease read our [contributing guidelines](CONTRIBUTING.md) before making contributions.\n\nLicense\n-------\n\nKody is [MIT licensed](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnooqta%2Fkodyfire","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnooqta%2Fkodyfire","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnooqta%2Fkodyfire/lists"}