npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

firept

v0.3.1

Published

APIfy your local workspace to help AI LLMs orchestrate your daily tasks

Downloads

10

Readme


[!NOTE]
This is a work in progress and is still under heavy testing.
This doesn't work out of the box yet.


Introduction

FirePT is designed to enhance the capabilities of AI LLMs that accepts API actions (like custom GPTs) by providing an API to interact with the current working directory. It allows for performing various tasks like reading or editing files, running shell commands, and more to come.

You'll need to publicly expose the local FirePT via a domain and a secure HTTPS. FirePT already integrates PublicHost which does just that by tunneling your local server to a public domain with HTTPS. PublicHost is fully open-source and can be self-hosted. You can also use other similar services like Ngrok or LocalTunnel.

Features

Features

All features can only be run within the declared project directory.

  • [x] OpenAPI documentation
  • [x] List files
  • [x] Read files
  • [x] Create files and directories
  • [x] Edit files
  • [x] Delete files and directories
  • [x] Move (rename) files and directories
  • [x] Run shell commands
  • [x] Local, per-project config file
  • [ ] Actions tracking (to help AI keep track of previous actions when starting new chat sessions)
  • [ ] Run shell commands in background pods (to avoid blocking the server response on long-running and forever-running commands) with logs, exit and kill endpoints
  • [x] Read Github issues
  • [ ] Comment Github issues
  • [ ] Read Github pull requests
  • [ ] Comment Github pull requests
  • [ ] Partially read files (from line to line)
  • [ ] Partially edit files (from line to line)
  • [ ] Fine-grained feature control (to enable/disable features)

[!IMPORTANT]
I'm not among AI-Will-Take-Over-The-World believers. However, the file created as well as the shell commands could definitely do whatever they want to your system. Carefully watch FirePT logs and generated source code.

A good practice is to run FirePT in a sandboxed environment (container, VM, etc.) and to never run it as root.

Getting Started

Prerequisites

Before installing FirePT, ensure you have the following:

  • Node.js (version 20 or later)
  • npm (usually comes with Node.js)

Installation

Install FirePT globally using npm:

npm i -g firept

Setting up PublicHost

To be updated.

Preparing the workspace

Add a firept.yml (or firept.yaml) file to the root of your project directory.

server:
  apiKey: '****'
  port: 9999

publichost:
  apiKey: '****'
  host: publichost.org
  subdomain: your-subdomain

# If you don't use PublicHost but your own localhost public tunneling service (like ngrok or localtunnel):
# customPublicUrl: 'https://example.org'

# https://docs.github.com/en/rest/authentication/authenticating-to-the-rest-api?apiVersion=2022-11-28#authenticating-with-a-personal-access-token
# https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens
repository:
  provider: github
  personalAccessToken: '****'
  owner: your-github-username
  name: your-repo-name

# The following properties and sub-properties are all optional:
workspace:
  # `.gitignore` files and `.git` directories are already ignored by FirePT,
  # these are additional files and directories to ignore:
  ignoredFiles:
    - ./.yarn/**
    - ...

[!IMPORTANT]
!!! DO NOT COMMIT THE firept.yml FILE TO YOUR REPOSITORY.
ADD IT TO YOUR .gitignore FILE !!!

You can also add it you global .gitignore file to avoid polluting your team repo with your local settings.

Running FirePT

To start the FirePT server, run (within your project directory):

fire start

Using FirePT

With OpenAI Custom GPT

To be updated.

Contributing

We welcome contributions to FirePT! Please read our CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.