Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EasyPeasy: Micro framework for creating extension for quick files scaffolding inside VSCode and Webstorm #19

Open
obenjiro opened this issue Sep 2, 2024 · 2 comments

Comments

@obenjiro
Copy link

obenjiro commented Sep 2, 2024

RFC: Easy Peasy - A Micro-Framework for Creating IDE Extensions

Objective

What is the problem and why is it important?

Developers often face challenges when generating multiple files for their projects:

  1. Existing plugins may not fit specific project requirements.
  2. Plugins might be available for one IDE (e.g., VSCode) but not for another (e.g., WebStorm).
  3. Manual creation of project structures and files is time-consuming and error-prone.
  4. Switching between IDEs and CLI tools disrupts workflow and decreases productivity.

These issues lead to inefficiencies in development processes, inconsistencies across team members using different IDEs, and increased time spent on repetitive tasks rather than actual development.

Solution Proposal

What should be done and how?

We propose developing Easy Peasy, a micro-framework for creating IDE extensions that automates file and project structure creation. The solution includes:

  1. A cross-IDE plugin (compatible with VSCode and WebStorm) that reads from a common configuration file.
  2. A flexible configuration system using a easypeasy.config.js file in the project root directory.
  3. Context-aware code generation based on regular expression matching.
  4. Interactive prompts for customizable content insertion.
  5. Smart default behaviors for common operations (e.g., appending to existing JSON files).

Implementation steps:

  1. Develop the core Easy Peasy framework with a plugin architecture.
  2. Create plugins for VSCode and WebStorm using the respective extension APIs.
  3. Implement the configuration parser and code generation engine.
  4. Design and implement the interactive prompt system.
  5. Develop documentation and examples for users.

Definition of Done

What criteria should be met to consider the task complete?

The Easy Peasy micro-framework will be considered complete when:

  1. The core framework is implemented and thoroughly tested.
  2. VSCode and WebStorm plugins are developed, published, and available for installation.
  3. The configuration system supports all proposed features:
    • Folder and file creation
    • Content generation and insertion
    • Regular expression matching for context-aware operations
    • Interactive prompts for user input
  4. Documentation is complete, including:
    • Installation guides for both VSCode and WebStorm
    • Configuration file syntax and examples
    • API reference for advanced users
  5. A comprehensive set of example configurations is provided, covering common use cases.
  6. The system demonstrates significant time savings in file and structure generation compared to manual methods or existing tools.

By meeting these criteria, Easy Peasy will provide a powerful, flexible, and user-friendly solution for automating code generation and project structure creation across multiple IDEs.

@obenjiro
Copy link
Author

obenjiro commented Dec 3, 2024

@SeqviriouM it seem that there is no suggestions. Do yo mind if i proceed with MVP?

@SeqviriouM
Copy link

@obenjiro ok, let's try to prepare MVP

@SeqviriouM SeqviriouM moved this from Discussion to In Progress in Gravity RFC Dec 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: In Progress
Development

No branches or pull requests

2 participants