PHPackages                             shelfwood/project-prompt-generator - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Framework](/categories/framework)
4. /
5. shelfwood/project-prompt-generator

ActiveProject[Framework](/categories/framework)

shelfwood/project-prompt-generator
==================================

Generates a prompt for a given Laravel project you are viewing in the CLI

v1.5.0(3y ago)1191MITPHPPHP ^8.0.2

Since Mar 29Pushed 3y ago1 watchersCompare

[ Source](https://github.com/j-shelfwood/project-prompt-generator)[ Packagist](https://packagist.org/packages/shelfwood/project-prompt-generator)[ Docs](https://github.com/j-shelfwood/project-prompt-generator)[ RSS](/packages/shelfwood-project-prompt-generator/feed)WikiDiscussions main Synced today

READMEChangelogDependencies (13)Versions (27)Used By (0)

Project CLI Tool
================

[](#project-cli-tool)

This is a Laravel Zero CLI tool that uses GPT with OpenAI API to generate prompts and analyze project files. You need an OpenAI API key to use this tool.

Installation
------------

[](#installation)

To install the CLI tool globally via composer, run the following command:

```
composer global require shelfwood/project-prompt-generator

```

After installation, create a new project directory, and navigate to it in your terminal. Then, run the following command:

```
prompt install

```

This will install the necessary dependencies, create a database, and prompt you for a default projects to allow you to choose projects from a default directory. Handy for when you have multiple projects in a single directory that you want to analyze individually.

Usage
-----

[](#usage)

The .env contains the following variables, the necessary ones are set when running the `prompt install` command:

```
OPENAI_API_KEY=
PROJECT_DIRECTORY=
REMOTE=
IGNORE_PATHS=/app/Helpers/characters.json

```

The `REMOTE` variable is used to specify a remote directory to use instead of the current working directory. The `IGNORE_PATHS` variable is used to specify paths to ignore when analyzing files. This is mostly used during development to allow for easily running the tool on other project folders.

The `IGNORE_PATHS` variable can be set to a comma-separated list of file paths to ignore when analyzing files. `database/database.sqlite` is ignored by default.

### Analyze Project

[](#analyze-project)

To analyze the current working directory's files and display counts for tokens and descriptions, use the following command:

```
prompt analyze [--remote]

```

The `--remote` option can be used to specify a remote directory instead of using the current working directory.

### Clear Command

[](#clear-command)

To clear all file descriptions from the database, use the following command:

```
project-cli clear

```

### Copy Code Command

[](#copy-code-command)

To concatenate the code from all files in the current project without newlines and count the number of tokens, use the following command:

```
project-cli copy:files [--remote]

```

The `--remote` option can be used to specify a remote directory instead of using the current working directory.

### Copy Compressed Command

[](#copy-compressed-command)

To concatenate all the compressed file descriptions for the current project and count the number of tokens, use the following command:

```
project-cli copy:compressed [--remote]

```

The `--remote` option can be used to specify a remote directory instead of using the current working directory.

The `--remote` option can be used to specify a remote directory instead of using the current working directory.

### Generate Proposal Command

[](#generate-proposal-command)

To generate a proposal based on the files in the current directory, use the following command:

```
project-cli generate:proposal [--remote]

```

The command retrieves the project directory and the project ID from the database and creates instances of `FileAnalyzer`, `Describer`, and `DescriptionStorage` to process the files in the directory and store the generated proposal. Finally, the command prompts the user to provide a description of the feature or request.

### Readme Command

[](#readme-command)

To generate a README.md file for the current project, use the following command:

```
project-cli readme [--remote]

```

The `--remote` option can be used to specify a remote directory instead of using the current working directory. The command uses Laravel's `FileAnalyzer` class to determine which files to scan for context information. It also uses an instance of `ChatGPT` to gather crucial information from each file to be used as context while writing the README.md file. Finally, the command prompts the user to provide any special instructions and then writes out the complete README.md in markdown format.

Contributing
------------

[](#contributing)

If you would like to contribute to this project, please submit a pull request on GitHub or contact the project owner directly.

License
-------

[](#license)

This project is licensed under the MIT license.

Credits
-------

[](#credits)

This project was created by Joris Schelfhout. Special thanks to Bit Academy for providing the resources to create this project.

###  Health Score

27

—

LowBetter than 47% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity61

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

26

Last Release

1178d ago

PHP version history (2 changes)v1.0.0PHP ^8.1

v1.0.1PHP ^8.0.2

### Community

Maintainers

![](https://www.gravatar.com/avatar/e09f1c5f884add18861aa69eaae3c669601e867050f35112ca6691a0c1ba6e7a?d=identicon)[j-shelfwood](/maintainers/j-shelfwood)

---

Top Contributors

[![j-shelfwood](https://avatars.githubusercontent.com/u/14902964?v=4)](https://github.com/j-shelfwood "j-shelfwood (64 commits)")

---

Tags

frameworklaravelgpt

###  Code Quality

TestsPest

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/shelfwood-project-prompt-generator/health.svg)

```
[![Health](https://phpackages.com/badges/shelfwood-project-prompt-generator/health.svg)](https://phpackages.com/packages/shelfwood-project-prompt-generator)
```

###  Alternatives

[laravel/framework

The Laravel Framework.

34.8k543.8M20.1k](/packages/laravel-framework)[shopware/platform

The Shopware e-commerce core

3.4k1.5M3](/packages/shopware-platform)[craftcms/cms

Craft CMS

3.6k3.6M3.1k](/packages/craftcms-cms)[sproutcms/cms

Enterprise content management and framework

242.5k4](/packages/sproutcms-cms)[sulu/sulu

Core framework that implements the functionality of the Sulu content management system

1.3k1.4M203](/packages/sulu-sulu)[prestashop/prestashop

PrestaShop is an Open Source e-commerce platform, committed to providing the best shopping cart experience for both merchants and customers.

9.1k17.8k](/packages/prestashop-prestashop)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
