"Video: Junior codes itself"
Junior is an AI-first IDE designed from the ground up to leverage language models. Just like how Linus Torvalds oversees the Linux Kernel development without coding himself, this project allows developers to communicate with the AI and supervise the development process.
By providing specific task details in a prompt descriptor and highlighting the relevant parts of your project, you can delegate code implementation, documentation, testing, and more to your AI Junior.
To install, clone the repository and run npm install
in the root directory. Additionally, you can install the "Junior" vscode extension from the vscode extension marketplace.
Run the application with npm start
to start a local server, where you can generate a prompt and automatically copy it to paste into ChatGPT. The web interface is designed for use with ChatGPT Pro and doesn't require an API key. For more information about the web interface, please refer to docs/web.md.
A prompt descriptor is a YAML file (prompt.yaml
) outlining the details necessary for generating a task prompt for the AI model.
Each element in the descriptor serves a specific purpose:
task
: Describes the task type and scope. For example,feature/implement
,bug/fix
, orrefactor/
. You can check out the prompt/task/feature/implement.md file as an example.attention
: Lists the files and directories most relevant to the task.requirements
: Describes the actual task in a human-readable format.format
: Determines how the output will be formatted.
The attention mechanism guides the AI model by providing it with a working set. It helps overcome the limited working memory of large language models.
The working set is a subset of the entire project that's currently in focus. It includes both files and directories. For files, the content is directly provided to the AI. For directories, a brief list of files and subdirectories within them is presented.
Your contributions make a difference! At Junior, we value the collaboration of the community. Your role as a contributor is to monitor the development, provide detailed prompts, and thoroughly review the generated outcomes.
For support, please create an issue in the GitHub repository.
Note: For meaningful results, it's recommended to use the GPT-4 model or a more recent version.