Skip to content

PromptRSE is a specialized tool designed to help Research Software Engineers improve their requirements engineering prompts through AI-powered optimization and feedback. It focuses specifically on enhancing the quality and effectiveness of prompts used in requirements engineering tasks.

License

Notifications You must be signed in to change notification settings

code-world-no-blanket/promptrse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PromptRSE

Node.js License Status

PromptRSE is a specialized tool designed to help Research Software Engineers improve their requirements engineering prompts through AI-powered optimization and feedback. It focuses specifically on enhancing the quality and effectiveness of prompts used in requirements engineering tasks.

Features

  • Requirements-Focused Optimization: Automatically evaluates and improves your requirements engineering prompts
  • Side-by-Side Comparison: Compare responses from original and optimized requirements prompts
  • Detailed Feedback: Get insights into how and why your requirements prompt was modified
  • Learning Opportunity: Understand best practices for requirements engineering prompt writing
  • Preference Tracking: Record and analyze which requirements prompts work better

Prompt Evaluation Guidelines

Your requirements engineering prompts are evaluated based on the following aspects, as defined by Arvidsson & Axell (2023):

  1. Context

    • Is all necessary background information included?
    • Are project-specific details provided?
    • Is the scope clearly defined?
  2. Persona

    • Does the prompt adopt the right perspective?
    • Is the role clearly specified (e.g., "act as a senior software engineer")?
    • Is the expertise level appropriate?
  3. Templates

    • Is there a structured, clear format to follow?
    • Are the sections well-organized?
    • Is the flow logical?
  4. Disambiguation

    • Is the prompt clear and unambiguous?
    • Are there any confusing or vague terms?
    • Are the requirements specific?
  5. Reasoning

    • Does the prompt encourage step-by-step thinking?
    • Is there room for explanation?
    • Are the logical steps clear?
  6. Keywords

    • Are the words and key terms precise?
    • Are they relevant to the task?
    • Is the language focused and professional?

Reference: Arvidsson, S., & Axell, J. (2023). Prompt engineering guidelines for LLMs in requirements engineering. University of Gothenburg. Retrieved from https://gupea.ub.gu.se/handle/2077/77967

How It Works

  1. Submit a Requirements Prompt: Enter your requirements engineering prompt in the chat interface
  2. AI Evaluation: The system analyzes your prompt and suggests improvements
  3. Response Generation:
    • Original requirements prompt response
    • Modified requirements prompt response
    • Detailed feedback on the changes
  4. User Feedback: Indicate which response you preferred
  5. Learning: Review the feedback to improve your requirements engineering prompt writing skills

Example Prompts

Try these example requirements engineering prompts to get started:

  • "Help me generate a requirements document for a machine learning system"
  • "Create a list of functional requirements for a web application"
  • "What are the key non-functional requirements for a real-time data processing system?"

Prerequisites

  • Node.js (v14 or higher)
  • npm (comes with Node.js)
  • Anthropic API key (for Claude AI)

Setup

  1. Clone the repository
  2. Install dependencies:
    npm install
  3. Create a .env file in the root directory:
    touch .env
  4. Add your environment variables to the .env file:
    # API Configuration
    # At least one of these API keys must be set
    ANTHROPIC_API_KEY=your_anthropic_api_key_here
    GROQ_API_KEY=your_groq_api_key_here
    
    # Preferred API to use (anthropic or groq)
    # If not set, defaults to 'anthropic'
    PREFERRED_API=anthropic
    
    # Model Configuration
    ANTHROPIC_MODEL=claude-3-sonnet-20240229
    
    # Available Groq models:
    GROQ_MODEL=meta-llama/llama-guard-4-12b
    
    # Server Configuration
    PORT=3000
    Replace your_anthropic_api_key_here and your_groq_api_key_here with your actual API keys.

Starting the Server

Windows

Double-click start.bat or run it from the command prompt:

start.bat

macOS/Linux

Run the shell script:

./start.sh

If you get a permission error, make the script executable first:

chmod +x start.sh

Using npm directly

You can also start the server using npm directly:

npm install  # Only needed first time
npm start

Accessing the Application

Once the server is running, open your web browser and navigate to:

http://localhost:3000

TODO List

Code Maintainability

  • Improve code quality and documentation
  • Add unit tests for core functionality
  • Implement error handling and logging
  • Add TypeScript support for better type safety

User Experience

  • Add user authentication and profile management
  • Implement session persistence across server restarts
  • Create a dashboard for prompt history and analysis
  • Add export functionality for prompt history and preferences
  • Improve mobile responsiveness

Future Enhancements

  • Collect background information on the user (upload resume, login with LinkedIn)
  • Incorporate user background into the response and prompt feedback
  • Allow users to evaluate the feedback on helpfulness
  • AI-powered prompt suggestions based on project context
  • Create a requirements engineering prompt template library
  • Automated prompt optimization based on user preferences

Troubleshooting

If you encounter any issues:

  1. Make sure Node.js and npm are installed correctly
  2. Check if port 3000 is available
  3. Ensure all dependencies are installed by running npm install
  4. Verify that your .env file exists in the root directory and contains the correct API keys
  5. Check the console for any error messages

About

PromptRSE is a specialized tool designed to help Research Software Engineers improve their requirements engineering prompts through AI-powered optimization and feedback. It focuses specifically on enhancing the quality and effectiveness of prompts used in requirements engineering tasks.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published