personal-todo-list

Version, currently main branch1 version
  • main branchlatestMar 12, 2024

github.com/spider-gazelle/crystal-gpt

Plugin for managing a TODO list, you can add, remove and view your TODOs.

9 stars
0 dependents
License: WTFPL

Installation

# Add this to your shard.yml
dependencies:
  personal-todo-list:
    github: spider-gazelle/crystal-gpt
    branch: main

main is a branch, not a release, so this tracks it rather than pinning a version.

Then run:

shards install

shard.yml

Crystal
no constraint declared
Target
  • app from src/app.cr

Dependencies

Runtime Dependencies

Development Dependencies

  • ameba*github: veelenga/amebadev
  • hot_topic*github: jgaskins/hot_topicdev

README

ChatGPT Plugin Template

The easiest way to build ChatGPT plugins.

  1. Build your routes, example routes in plugin_routes.cr
  2. Add comments to describe them to ChatGPT
  3. Update shard.yml with your plugin name and description
  4. Everything else is automatically generated

OpenAI allows you test plugins locally

Why use this template?

You can extend ChatGPTs abilities via a web service - but you have to write extremely detailed documentation on how it works with comments describing what each function does

In this template there is a file under src/controllers called plugin_routes.cr that implements the functions ChatGPT can use, in this case implementing a very basic todo application.

Spider-Gazelle, the web framework this template is built on, introspects itself and then outputs all the metadata ChatGPT needs to be able to use those functions.

Feel free to re-name plugin_routes to something more descriptive and you can add as many additional controllers as you require. Just remember to add comments to each route / function so ChatGPT can understand what they are used for.

Testing

crystal spec

  • to run in development mode crystal ./src/app.cr

Compiling

crystal build ./src/app.cr

Testing plugins

Firstly, you'll need to enable this Permissions-Policy feature in your browser

Alternatively you can use Plugin feature on OpenAI ChatGPT web UI