-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Add project-manager extension #24972
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
base: main
Are you sure you want to change the base?
Conversation
- chore: rename extension from Quick Code to Project Manager - run prettier - chore: prepare for Raycast Store submission - wip - wip - feat: Quick Code Raycast extension - wip
|
Congratulations on your new Raycast extension! 🚀 We're currently experiencing a high volume of incoming requests. As a result, 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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR adds a new "Project Manager" extension to Raycast that enables developers to organize and quickly access their development projects through configurable path scanning with wildcard support.
Changes:
- Adds complete Project Manager extension with path configuration, project listing, and management features
- Implements multiple sorting modes (frequency, manual, alphabetical, recent) with pin support
- Includes project creation and deletion functionality with editor/terminal integration
Reviewed changes
Copilot reviewed 13 out of 20 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| extensions/project-manager/tsconfig.json | TypeScript configuration for the extension |
| extensions/project-manager/src/utils/types.ts | Type definitions for projects, metadata, and preferences |
| extensions/project-manager/src/utils/consts.ts | Constants for path labels and sort mode configurations |
| extensions/project-manager/src/manage-projects.tsx | Main UI component for listing and managing projects |
| extensions/project-manager/src/manage-paths.tsx | UI for adding/removing project paths with validation |
| extensions/project-manager/src/helpers/storage.ts | LocalStorage wrapper for persisting paths, metadata, and sort preferences |
| extensions/project-manager/src/helpers/projects.ts | Helper functions for scanning directories and building project lists |
| extensions/project-manager/src/create-project.tsx | Form UI for creating new project folders |
| extensions/project-manager/package.json | Extension manifest with commands, preferences, and dependencies |
| extensions/project-manager/IDEA.md | Project concept documentation in Portuguese |
| extensions/project-manager/CHANGELOG.md | Initial version changelog with placeholder merge date |
| extensions/project-manager/.gitignore | Git ignore rules for node_modules and .raycast |
| extensions/project-manager/.eslintrc.json | ESLint configuration extending Raycast's config |
| export const PATH_LABELS = { | ||
| parent: "Parent Folder", | ||
| single: "Single Folder", | ||
| } as const; | ||
|
|
||
| import { Icon } from "@raycast/api"; | ||
|
|
Copilot
AI
Jan 29, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Import statement should be placed at the top of the file, before all other code including exports, following standard ES module conventions.
| export const PATH_LABELS = { | |
| parent: "Parent Folder", | |
| single: "Single Folder", | |
| } as const; | |
| import { Icon } from "@raycast/api"; | |
| import { Icon } from "@raycast/api"; | |
| export const PATH_LABELS = { | |
| parent: "Parent Folder", | |
| single: "Single Folder", | |
| } as const; |
Greptile OverviewGreptile SummaryThis PR adds a new project-manager extension that provides quick access to development projects with features for organizing, searching, and opening projects in editors/terminals. Key Features:
Issues Found:
Overall Assessment: Confidence Score: 4/5
Important Files Changed
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
4 files reviewed, 1 comment
| export interface Preferences { | ||
| mainEditor?: Application; | ||
| mainTerminal?: Application; | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove manual Preferences interface definition. Raycast auto-generates preference types in raycast-env.d.ts when the extension runs. Manual definitions can become out of sync with your actual configuration in package.json.
| export interface Preferences { | |
| mainEditor?: Application; | |
| mainTerminal?: Application; | |
| } | |
| // Preferences interface is auto-generated in raycast-env.d.ts | |
| // Remove this manual definition and import from @raycast/api if needed |
Context Used: Rule from dashboard - What: Don't manually define Preferences for getPreferenceValues() or commends Argument interfa... (source)
Description
Screencast
Checklist
npm run buildand tested this distribution build in Raycastassetsfolder are used by the extension itselfREADMEare placed outside of themetadatafolder