Skip to content

Conversation

@dnnsmnstrr
Copy link
Contributor

@dnnsmnstrr dnnsmnstrr commented Dec 23, 2025

Description

This extension lets users quickly load and answer a list of 40 questions to ask themselves each year.
Questions and answers can be browsed, edited and filtered by year. There is also an import/export functionality to backup or move the data to a preferred notes system.

Screencast

Screen.Recording.2025-12-23.at.23.56.13.mov

Checklist

- refactor: improve type definitions and enhance answer handling across components
- feat: enhance import functionality to support JSON format for questions and answers
- build: add new metadata images for questions
- fix: scale icon up
- fix: update icon name
- fix: update initial question number and enhance question parsing with version handling
- fix: improve year validation logic in import process and update description in preferences
- style: update icon
- feat: add onChange callback to AnswersCommand for better state management and navigation
- feat: update UI messages for better clarity and enhance accessory text display in question list
- feat: enhance browse functionality with improved year filtering and sharing options
- feat: add import functionality for answers from clipboard, update related types and storage methods
- feat: add question parsing and exporting functionality, update README for configuration details
- feat: refactor question loading logic and add ensureQuestionsLoaded function
- docs: update Copilot instructions for clarity and structure
- feat: add answer loading functionality and navigation to answer questions
- feat: add year filtering to question list and improve UI layout
- feat: implement question browsing with loading state and answer retrieval
- feat: add navigation functionality
- feat: enhance answer submission with validation and state management
- feat: implement question loading and answer saving functionality
- feat: add questions repository field and improve question import functionality
- feat: add language preference and storage functionality for questions
- define the data schema
- remove unnecessary links and developer instructions from README
- init extension
@raycastbot
Copy link
Collaborator

Congratulations on your new Raycast extension! 🚀

Due to our current reduced availability, the initial review may take up to 10-15 business days.

Once the PR is approved and merged, the extension will be available on our Store.

@dnnsmnstrr dnnsmnstrr changed the title Add 40-questions extension Add 40 Questions Extension Dec 23, 2025
- refactor: remove unused Answer type import for cleaner code
- fix: update AnswersFile type definition for clarity and consistency
@dnnsmnstrr dnnsmnstrr marked this pull request as ready for review December 23, 2025 23:34
@greptile-apps
Copy link
Contributor

greptile-apps bot commented Dec 23, 2025

Greptile Summary

This PR adds a new extension for answering the 40 Questions yearly reflection exercise. The extension provides commands to answer questions, browse past answers, and import/export data.

Key changes:

  • Added three commands: answer, browse, and import functionality
  • Implemented LocalStorage-based persistence for questions and answers
  • Multi-language support with 30+ languages
  • Export to markdown and JSON formats
  • Metadata screenshots properly included

Critical issue found:

  • answer-40-questions.tsx:74 contains a logic bug that will cause the form to always display an error after submission, even when the answer is valid

Confidence Score: 2/5

  • This PR contains a critical bug that breaks the core user experience
  • The extension is well-structured and follows Raycast conventions, but the logic error on line 74 of answer-40-questions.tsx will cause the form to always show an error state after submission. This breaks the primary user flow and must be fixed before merging.
  • Pay close attention to extensions/40-questions/src/answer-40-questions.tsx - the bug on line 74 must be fixed

Important Files Changed

Filename Overview
extensions/40-questions/package.json Properly configured extension manifest with correct dependencies and Prettier settings
extensions/40-questions/src/storage.ts Clean storage utilities for managing questions and answers in LocalStorage
extensions/40-questions/src/answer-40-questions.tsx Form component with critical bug: always sets error text on submission (line 74)
extensions/40-questions/src/browse-40-questions.tsx List view for browsing questions and answers with export functionality

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

Additional Comments (1)

  1. extensions/40-questions/src/answer-40-questions.tsx, line 74 (link)

    logic: This line always sets the error text to "Required" after validation passes, causing the form to always show an error even when the answer is valid. Should be removed.

13 files reviewed, 1 comment

Edit Code Review Agent Settings | Greptile

@raycastbot
Copy link
Collaborator

This pull request has been automatically marked as stale because it did not have any recent activity.

It will be closed if no further activity occurs in the next 7 days to keep our backlog clean 😊

@raycastbot raycastbot added the status: stalled Stalled due inactivity label Jan 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

new extension Label for PRs with new extensions platform: macOS platform: Windows status: stalled Stalled due inactivity

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants