Skip to content

Add /whatlang programming language & stack recommender#250

Open
Pdzly wants to merge 2 commits into
TheDeveloperDen:masterfrom
Pdzly:feature/63-flowchart
Open

Add /whatlang programming language & stack recommender#250
Pdzly wants to merge 2 commits into
TheDeveloperDen:masterfrom
Pdzly:feature/63-flowchart

Conversation

@Pdzly
Copy link
Copy Markdown
Contributor

@Pdzly Pdzly commented Mar 29, 2026

Interactive quiz that asks adaptive questions about goals, preferences, and constraints, then returns ranked recommendations with percentages, pros/cons, and links to learning resources.

Engine is pure TypeScript with zero Discord dependencies for future website reuse. Supports fast-track shortcuts, multi-select questions, scale questions, diversity bias for hobbyists, and integration with existing /learning resources.

Interactive quiz that asks adaptive questions about goals, preferences,
and constraints, then returns ranked recommendations with percentages,
pros/cons, and links to learning resources.

Engine is pure TypeScript with zero Discord dependencies for future
website reuse. Supports fast-track shortcuts, multi-select questions,
scale questions, diversity bias for hobbyists, and integration with
existing /learning resources.
@Pdzly
Copy link
Copy Markdown
Contributor Author

Pdzly commented Mar 29, 2026

@bristermitten the lint check fails because of out of this pr files FYI

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new /whatlang interactive recommender that runs an adaptive quiz and returns ranked language/stack recommendations, integrating with existing learning resources while keeping the recommendation engine Discord-independent.

Changes:

  • Introduces a pure TypeScript quiz/scoring engine (questions, targets, scoring, diversity bias) with Bun tests.
  • Adds Discord command + interaction listener + renderers for quiz flow, results, sharing, and learning-resource selection.
  • Registers the new module in the app module manager.

Reviewed changes

Copilot reviewed 13 out of 13 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
src/modules/recommender/recommender.render.ts Renders quiz questions, results, share embed, and learning-resources picker UI components.
src/modules/recommender/recommender.module.ts Registers the recommender module and starts session cleanup on init.
src/modules/recommender/recommender.listener.ts Handles button/select interactions, stores quiz sessions, and orchestrates quiz progression.
src/modules/recommender/recommender.command.ts Implements /whatlang command to start an ephemeral quiz session.
src/modules/recommender/engine/types.ts Defines quiz, question, and recommendation target/result types.
src/modules/recommender/engine/scoring.ts Implements weight application, diversity bias, and result computation.
src/modules/recommender/engine/quiz.ts Implements session state machine (next question, answer application, skip, completion).
src/modules/recommender/engine/index.ts Re-exports engine public API and data.
src/modules/recommender/engine/engine.test.ts Adds Bun tests for engine behavior and data validity.
src/modules/recommender/engine/data/languages.ts Adds language recommendation targets with tags and resource links/IDs.
src/modules/recommender/engine/data/stacks.ts Adds stack recommendation targets with components and resource links.
src/modules/recommender/engine/data/questions.ts Adds quiz question set including fast-track, multi-select, and scale questions.
src/index.ts Adds the new RecommenderModule to the module list.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/modules/recommender/engine/data/questions.ts Outdated
Comment thread src/modules/recommender/recommender.listener.ts Outdated
Comment thread src/modules/recommender/engine/engine.test.ts Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

flowchart-like quiz for figuring out the best language to start learning

2 participants