Inhaltsverzeichnis
Inhaltsverzeichnis
1. Erste Schritte
Heim Web-Frontend js-Tutorial Entwicklerprotokoll: gimme_readme-Release

Entwicklerprotokoll: gimme_readme-Release

Sep 14, 2024 am 08:15 AM

Heute um Mitternacht habe ich etwas getan, was ich noch nie getan habe; Das heißt, um mein Programm zu veröffentlichen, gimme_readme in die npm-Registrierung, damit die ganze Welt es verwenden kann!

Das Befehlszeilentool gimme_readme nimmt die lokalen Quellcodedateien eines Benutzers und erstellt daraus eine README.md-Datei, die seinen Code erklärt. Mit gimme_readme können Sie verschiedene KI-APIs auswählen (z. B. das gemini-1.5-flash-Modell von Gemini und das llama3-8b-8192-Modell von Groq), um den bereitgestellten Code zu analysieren und eine Dokumentation zu erstellen, die den Code erklärt.

Dev log: gimme_readme  release

Um mehr über gimme_readme zu erfahren, lade ich Sie ein, sich mein Repository unten anzusehen oder sich die Release-Demo für 0.1 anzusehen, die auch in meinem Repository verlinkt ist.

Dev log: gimme_readme  release Peterdanwan / gib mir_readme

gimme_readme

gimme_readme ist ein auf KI basierendes Befehlszeilentool, das eine umfassende README.md-Datei für Ihr Projekt generiert. Es analysiert mehrere Quellcodedateien gleichzeitig und liefert präzise Erklärungen zu Zweck, Funktionalität und Schlüsselkomponenten jeder Datei in einem einzigen, leicht lesbaren Dokument. Dadurch wird Ihr Projekt für andere zugänglicher und verständlicher.

Dev log: gimme_readme  release

Sehen Sie sich unsere 0.1-Release-Demo an!

Inhaltsverzeichnis

  1. Erste Schritte
  2. Verwendung
  3. Beispielverwendung
  4. Von Anbietern unterstützte Modelle
  5. Mitwirken
  6. Autor

1. Erste Schritte

Um mit gimme_readme zu beginnen, befolgen Sie diese Schritte:

  1. Installieren Sie die neueste Version von Node.js für Ihr Betriebssystem.

  2. Führen Sie den folgenden Befehl aus, um gimme_readme global zu installieren:

    npm i -g gimme_readme
    Vollbildmodus aufrufen Vollbildmodus verlassen

    HINWEIS: MAC/LINUX-Benutzer müssen möglicherweise sudo npm i -g gimme_readme ausführen

  3. Generieren Sie eine Konfigurationsdatei, indem Sie sie in einem beliebigen Ordner ausführen:

    gr-ai -c
    Vollbildmodus aufrufen Vollbildmodus verlassen

    Dieser Befehl erstellt eine .gimme_readme_config-Datei in Ihrem Home-Verzeichnis. Verschieben Sie diese Datei nicht von diesem Speicherort.

Auf GitHub ansehen

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

Das obige ist der detaillierte Inhalt vonEntwicklerprotokoll: gimme_readme-Release. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

PHP-Tutorial
1592
276
Erweiterte bedingte Typen in Typenkripten Erweiterte bedingte Typen in Typenkripten Aug 04, 2025 am 06:32 AM

Die erweiterten Bedingungstypen von TypeScript implementieren logische Beurteilung zwischen den Typen über textendu? X: y syntax. Die Kernfähigkeiten spiegeln sich in den verteilten Bedingungstypen, den Abschluss -Inferenz und der Konstruktion komplexer Typ -Werkzeuge wider. 1. Der bedingte Typ ist in den Parametern mit nötigen Typen verteilt und kann den Gelenktyp automatisch aufteilen, z. 2.. Verwenden Sie die Verteilung, um Filter- und Extraktionsinstrumente zu erstellen: Ausschließen Typen über Textendsu? Nie: t, extrahieren Gemeinsamkeiten durch textendu? 3

Micro Frontends Architecture: Ein praktischer Implementierungshandbuch Micro Frontends Architecture: Ein praktischer Implementierungshandbuch Aug 02, 2025 am 08:01 AM

MicrofrontendsolvescalingchalenGesinlargeamsByenablingIndependentDevelopment und Deployment.1) ChooseanintegrationStrategy: Usemodulefederationsinwebpack5forruntImeloadingandtrueIndependenz, Bauzeitintegrationslimplations-, Orifrahmen/Webrahmen/Webrahmen/Webrahmen/Webrahmen/Webrahmen/Webrahmen/Webrahmen/Webrahmen/Webrahmen/Webrahmen/Webrahmen/Webrahmen/Webrahmen/Webrahmen/Webrahmen/Webrahmen/Webrahmen/Webrahmen/Webrahmen/Webrahmen/Webrahmen/Webrahmen/Webrahmen/Webrahmen/Webrahmen/Webrahmen/Webrahmen/Webrahmen/Webrahmen/Webrahmen/Webrahmen/Webrahmen/webkConponents

Wie finde ich die Länge eines Arrays in JavaScript? Wie finde ich die Länge eines Arrays in JavaScript? Jul 26, 2025 am 07:52 AM

Um die Länge eines JavaScript-Arrays zu erhalten, können Sie die Eigenschaft integrierte Länge verwenden. 1. Verwenden Sie das Attribut .Length, um die Anzahl der Elemente im Array zurückzugeben, wie z. 2. Dieses Attribut ist für Arrays geeignet, die alle Arten von Daten wie Zeichenfolgen, Zahlen, Objekten oder Arrays enthalten. 3. Das Längenattribut wird automatisch aktualisiert, und sein Wert ändert sich entsprechend, wenn Elemente hinzugefügt oder gelöscht werden. 4. Es gibt eine null basierende Anzahl zurück, und die Länge des leeren Arrays beträgt 0; 5. Das Längenattribut kann manuell modifiziert werden, um das Array abzuschneiden oder zu erweitern.

Was sind die Unterschiede zwischen var, let und const in JavaScript? Was sind die Unterschiede zwischen var, let und const in JavaScript? Aug 02, 2025 pm 01:30 PM

VariFrention-Scoped, Canberase signiert, mitgeheizt, und erreicht, und antachedtotheglobalWindowObject; 2. LetandConstareblock-scoped, withletAllowingReassignmentandConstnotallowingit, aberConstobjectscanhavemuthingProperties;

JavaScripts Proxy verstehen und APIs widerspiegeln JavaScripts Proxy verstehen und APIs widerspiegeln Jul 26, 2025 am 07:55 AM

Proxy und reflektierende API sind leistungsstarke Tools, die in JavaScript verwendet werden, um Objektvorgänge abzufangen und anzupassen. 1. Proxy blockiert Operationen wie GET, gesetzt, indem Zielobjekte einwickelt und "Fallen" definiert werden, und implementiert Funktionen wie Protokolle, Überprüfung, schreibgeschützte Steuerung; 2. Reflect liefert Methoden, die Proxy -Fallen entsprechen, um die Konsistenz und Korrektheit des Standardverhaltens zu gewährleisten und die Wartbarkeit der Code zu verbessern. 3. Praktische Anwendungen umfassen VUE3 Responsives System, Datenüberprüfung, Debug -Protokolle, unveränderliche Objekte und API -Simulation; 4. Achten Sie auf die Leistungsaufwand, das komplexe Verhalten integrierter Objekte, diese Bindungsprobleme und verschachtelte Objekte müssen rekursiv proxyiert werden. 5. Angemessene Verwendung kann effizient, debugierbar und reaktiv aufbauen

Erzeugen Sie gelöste Doppelschokoladenrätsel: Ein Leitfaden für Datenstrukturen und Algorithmen Erzeugen Sie gelöste Doppelschokoladenrätsel: Ein Leitfaden für Datenstrukturen und Algorithmen Aug 05, 2025 am 08:30 AM

In diesem Artikel wird eingehend untersucht, wie man automatisch lösbare Rätsel für das Doppel-Choco-Puzzlespiel generiert. Wir werden eine effiziente Datenstruktur einführen - ein Zellobjekt basierend auf einem 2D -Gitter, das Grenzinformationen, Farbe und Zustand enthält. Auf dieser Basis werden wir einen rekursiven Blockerkennungsalgorithmus (ähnlich wie bei der Tiefe-First-Suche) und der Integration in den iterativen Puzzle-Erzeugungsprozess eingehen, um sicherzustellen, dass die erzeugten Rätsel den Spielregeln entsprechen und fehlerhaft sind. Der Artikel bietet Beispielcode und diskutiert wichtige Überlegungen und Optimierungsstrategien im Erzeugungsprozess.

Was ist optionale Verkettung (?) In JS? Was ist optionale Verkettung (?) In JS? Aug 01, 2025 am 06:18 AM

OptionalChining (?) InvaVaScriptsafely AccessesNestedPropertiesByReturningundEfinedifanypartofThechainIsNullorundEfined, PREIDINGRUNTRUNTIMEErrors

Wie können Sie eine CSS -Klasse mit JavaScript aus einem DOM -Element entfernen? Wie können Sie eine CSS -Klasse mit JavaScript aus einem DOM -Element entfernen? Aug 05, 2025 pm 12:51 PM

Die häufigste und empfohlene Methode zum Entfernen von CSS -Klassen aus DOM -Elementen unter Verwendung von JavaScript ist die Methode von REME () der Classlist -Eigenschaft. 1. Verwenden Sie Element.ClassList.remove ('className'), um einen einzelnen oder mehrere Klassen sicher zu löschen, und es wird kein Fehler gemeldet, selbst wenn die Klasse nicht vorhanden ist. 2. Die alternative Methode besteht darin, die Eigenschaft der Klassenname direkt zu bedienen und die Klasse mit einem String -Austausch zu entfernen. Aufgrund der ungenauen regelmäßigen Übereinstimmung oder einer unsachgemäßen Raumverarbeitung ist es jedoch einfach, Probleme zu verursachen, sodass sie nicht empfohlen wird. 3. Sie können zuerst beurteilen, ob die Klasse existiert, und sie dann durch Element.ClassList.Contains () löschen, aber es ist normalerweise nicht erforderlich. 4. Classlist

See all articles