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

Introduce User Prompt #4

Closed
PrashamTrivedi opened this issue May 1, 2024 · 0 comments
Closed

Introduce User Prompt #4

PrashamTrivedi opened this issue May 1, 2024 · 0 comments
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@PrashamTrivedi
Copy link
Owner

PrashamTrivedi commented May 1, 2024

Subtask 1. Implement core user expertise functionality

  • Use yargs to define a new command for managing user expertise
  • Implement intuitive aliases like SourceSailor expertise or SourceSailor profile
  • Ensure these aliases redirect to the setExpertise command
  • Implement logic to store user expertise in the configuration file
  • Create a command to retrieve and display current user expertise
  • Update documentation to include information about these aliases

Subtask 2. Integrate user expertise with analysis and add tests

  • Modify the analysis command to take user expertise into account
  • Write unit and integration tests for the new command
  • Update help documentation to include information about the new command

Subtask 3. Implement first-run experience

  • Develop logic to detect first run of any SourceSailor command
  • Create a prompt explaining the importance of setting expertise level
  • Offer to run the setExpertise command or remind later
  • Implement a flag or configuration to track if this prompt has been shown

Subtask 4. Enhance analyze command with expertise check

  • Add a check at the start of the analyze command to see if expertise has been set
  • If not set, inform the user about the setExpertise command and its benefits
  • Implement an option to run setExpertise before proceeding with analysis

Subtask 5. Update help command and documentation

  • Update the main help menu to prominently feature the setExpertise command
  • Include a brief description of its importance in the help text
  • Update README.md to include information about the setExpertise command
  • Add examples in the documentation showing how expertise affects analysis results

Subtask 6. Implement interactive CLI menu

  • Use inquirer.js to create an interactive menu when SourceSailor is run without arguments
  • Include "Set Expertise Level" as one of the main options in this menu
  • Ensure smooth integration with other existing commands

Subtask 7. Develop contextual hints system

  • Implement logic to detect potential mismatches between user expertise and codebase complexity
  • Add hints after running analyze to suggest using setExpertise if a mismatch is detected
  • Ensure hints are informative but not intrusive

Subtask 8. Enhance configuration status display

  • Update the listConfig command to highlight the current expertise setting
  • If expertise is not set, include a note about using setExpertise to improve analysis results

Subtask 9. Testing and refinement

  • Develop and run tests for all new features related to expertise discovery
  • Conduct user testing to gather feedback on the discoverability improvements
  • Refine implementations based on test results and user feedback
@PrashamTrivedi PrashamTrivedi self-assigned this May 1, 2024
@PrashamTrivedi PrashamTrivedi added the enhancement New feature or request label May 1, 2024
@PrashamTrivedi PrashamTrivedi added this to the 1.4.5 milestone Jul 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant