首頁 > web前端 > js教程 > 主體

開發日誌:gimme_readme 版本

DDD
發布: 2024-09-14 08:15:32
原創
291 人瀏覽過

今天午夜,我做了一些我以前從未做過的事情;就是把我的程式gimme_readme發佈到npm註冊中心,供全世界使用!

gimme_readme 命令列工具取得使用者的本機原始碼文件,並使用它們建立一個解釋其程式碼的 README.md 文件。 gimme_readme 可讓您選擇不同的 AI API(例如 Gemini 的 gemini-1.5-flash 模型和 Groq 的 llama3-8b-8192 模型)來分析提供的程式碼並建立解釋程式碼的文件。

Dev log: gimme_readme  release

要了解有關 gimme_readme 的更多信息,我邀請您查看下面我的存儲庫,或者觀看 0.1 的發布演示,該演示也鏈接在我的存儲庫中。

Dev log: gimme_readme  release 彼得丹灣 / 給我自述文件

給我自述文件

gimme_readme 是一個由 AI 提供支援的命令列工具,可為您的專案產生全面的 README.md 檔案。它可以同時分析多個原始碼文件,並在一個易於閱讀的文檔中提供每個文件的用途、功能和關鍵組件的簡明解釋。這使得您的專案對其他人來說更容易理解和理解。

Dev log: gimme_readme  release

查看我們的 0.1 版本示範!

目錄

  1. 開始使用
  2. 用法
  3. 用法範例
  4. 提供者支援的型號
  5. 貢獻
  6. 作者

1.開始使用

要開始使用 gimme_readme,請依照下列步驟操作:

  1. 為您的作業系統安裝最新版本的 Node.js。

  2. 執行以下命令全域安裝 gimme_readme:

    npm i -g gimme_readme
    登入後複製
    進入全螢幕模式 退出全螢幕模式

    注意:MAC/LINUX 使用者可能需要執行 sudo npm i -g gimme_readme

  3. 透過在您想要的任何資料夾中運行來產生設定檔:

    gr-ai -c
    登入後複製
    進入全螢幕模式 退出全螢幕模式

    此指令會在您的主目錄中建立一個 .gimme_readme_config 檔案。 請勿從此位置移動此文件。

在 GitHub 上查看

Table of Contents

  1. Developing gimme_readme
  2. Getting started with gimme_readme
  3. Features of gimme_readme
  4. Example usage
  5. Conclusion
  6. Links

Developing gimme_readme

"Stand on the shoulders of giants"

This quote echoed in my head as I was creating my command-line tool since I know very well that without the work of many other companies and distinct individuals, I would not be able to release my own project.

To that end, let me delve into some of the technologies I used to create gimme_readme.

To start, I knew I wanted to work with JavaScript because of its simple syntax, and its ability to run on Linux, Mac, and Windows. Since cross-platform availability is something I value, I knew I wanted to work with JavaScript from the start.

After choosing JavaScript as the programming language I'd write in, I thought about how I would publish my code. The first thought that came to mind was npm. npm or the node package manager is the largest open source registry in the world. People from around the world use code from npm and share their code to npm and the process of using npm is very straightforward.

When I started my computer science journey in 2022, I was fascinated with how easy it was to just write:

npm i NPM_PACKAGE
登入後複製

and my code would magically work. I was even more impressed when I found out that the packages that were installed (if they were maintained correctly), were able to be installed on different operating systems.

To show you how easy node / npm's ecosystem is, let me show you how easy it is to make your JavaScript code into an executable that runs on every operating system.

You can make your script executable by adding a line similar to this to your package.json file:

{
  "bin": {
    // Makes an executable called "gr-ai" which simply calls my JS script
    "gr-ai": "./src/_gr.js"
  }
}
登入後複製

How neat is that? With just a few lines of code (minus my comment), you are halfway done with making an executable called gr-ai which calls ./src/_gr.js that can run on all operating systems.

The final piece of the puzzle for making an executable is simulating how you would publish your code OR publishing your code for real.

To simulate publishing your code, run the following command in the root of your JavaScript project (i.e., where your package.json is):

npm link
登入後複製

This command simulates you having installed your program globally and will give you access to your own gr-ai command!

In the event that you no longer want to have the code for this command installed globally (whether it be your simulated code / code that you installed globally via npm), you can run:

npm uninstall -g gimme_readme
登入後複製

Please note, that you need to specify the name of your package when uninstalling and not the name of your executable.

I had to simulate publishing my code several times before actually publishing it to npm. For a really good guide on publishing your code to the npm registry, I suggest watching Web Dev Simplified's video on creating and publishing your first npm package.

With direction on how I'd publish my code, I was able to start thinking about all the different dependencies I would need to get my program to work.

The dependencies and packages I'm currently using for gimme_readme are:

  • @google/generative-ai & groq/sdk, which give me access to different LLMs that will help explain the user's source code
  • commander, which made it easy to configure the different options of my command-line tool
  • chalk, which allows me to colourize my command-line text
  • dotenv, which helps me work with secret files that store sensitive information
  • ora, which gives code that produces a loading spinner

It was with these great APIs and libraries that I was able to produce a tool of my own. With that said, let me show you how you can get started with gimme_readme so you can make heads or tails of your local source code files.

Getting started with gimme_readme

To get started with gimme_readme, follow these steps:

1. Install the latest version of Node.js for your operating system

The download for Node.js can be found here: https://nodejs.org/en/download/package-manager.

Node.js will come with npm and allow you to install gimme_readme.

2. Run the following command to install gimme_readme globally

npm i -g gimme_readme
登入後複製

NOTE: MAC/LINUX users may need to run sudo npm i -g gimme_readme

3. Generate a configuration file by running in any folder you'd like

gr-ai -c
登入後複製
登入後複製

This command creates a .gimme_readme_config file in your home directory. Do not move this file from this location.

Follow the instructions in the file to create your own API keys and set your own default values.

Dev log: gimme_readme  release

Congratulations! You just installed gimme_readme to your system and if you created your own API keys, you should be able to use gimme_readme on the command-line!

With installation out of the way, let's delve into how you can use gimme_readme.

Features of gimme_readme

At a top level, gimme_readme supports the following features:

  1. The ability to display a help page.
  2. The ability to get gimme_readme's version number.
  3. The ability to create a .gimme_readme_config file or locate it
  4. The ability to send it source files, and have an AI model provide an explanation for your source code files.
  5. The ability to choose where the AI model's explanation is outputted (i.e., to a file or to your terminal).
  6. The ability to specify the AI model that provides explanations for you.
  7. The ability to send your own custom AI prompt.
  8. The ability to set the temperature of your model (i.e., how deterministic you want your model's response to be).

Let's show you demonstrations of each feature.

Example usage

Display the help page

The most basic gimme_readme command is:

gr-ai
登入後複製

Dev log: gimme_readme  release

This shows us how use gr-ai and its different options.

Display the version number

Providing the -v option to the gr-ai command returns the version number

gr-ai -v
登入後複製

Dev log: gimme_readme  release

Create a .gimme_readme_config file or find the path to your existing one

gr-ai -c
登入後複製
登入後複製

Takes several input files, choose your LLM of choice, and outputs the selected LLM's response to a file

#         file            file         model               output file
gr-ai -f .prettierignore .gitignore -m gemini-1.5-flash -o explain.md
登入後複製

Dev log: gimme_readme  release

Conclusion

If you made it this far, I'd like to thank you for giving this blog a read. Creating the 0.1 release of gimme_readme has been a great experience, and I’m excited to continue developing new features and improving the tool. If you're interested in trying it out or contributing, feel free to check out the GitHub repository.

Stay tuned for more updates in the coming weeks!

Links

  • GitHub Repository: gimme_readme
  • Demo Video: Watch the 0.1 Release Demo

以上是開發日誌:gimme_readme 版本的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!