-
Notifications
You must be signed in to change notification settings - Fork 3.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- chore: update dependencies and remove react-devtools - docs: add SECURITY.md explaining vulnerability management strategy - Enhance API utility by exporting getPreferences function for improved preference management - Remove Husky configuration and related dependencies from the project to resolve CI issues. - Remove Husky to fix CI issues - Add back node-fetch import for HTTP requests - Clean up API code and remove unused types - Update .gitignore to allow husky files - Add husky pre-commit hook to run linting - Enhance package.json with precommit linting script and remove debug logs from index.tsx - Update icons in package.json, replace deprecated files, and improve documentation on icon requirements and troubleshooting - Update documentation and reorganize assets - Update GitHub repository links in all docs - Clean up and reorganize icon assets - Update package.json with correct icon paths - Restore .png extensions for icons - Remove .png extensions from icon paths - Update icon locations and paths - Update icon paths to be relative to assets directory - Clean up repository structure and add TypeScript config - Add package.json to repository - Major update: Icon fixes, documentation and asset reorganization - chore: initial commit with gitignore
- Loading branch information
1 parent
d97fca7
commit 4b8af8d
Showing
48 changed files
with
11,323 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
PROJECT: MuteDeck Raycast Extension Publication | ||
STATUS: In Progress | ||
DEADLINE: TBD | ||
|
||
[X] Core Functionality | ||
[X] Toggle Microphone command | ||
[X] Toggle Video command | ||
[X] Leave Meeting command | ||
[X] Show Status command | ||
[X] API integration | ||
[X] Error handling | ||
[X] User preferences | ||
|
||
[~] Documentation | ||
[X] README.md with features and setup | ||
[X] CHANGELOG.md with version history | ||
[X] Development guidelines (docs/development.md) | ||
[X] Architecture documentation (docs/architecture.md) | ||
[X] Keyboard shortcuts guide (docs/keyboard-shortcuts.md) | ||
[ ] Update GitHub repository links in README and docs | ||
[X] Add troubleshooting.md guide referenced in store description | ||
|
||
[X] Testing & Quality (as per development.md) | ||
[X] Manual testing of all commands | ||
[X] Integration testing with MuteDeck app | ||
[X] API interaction verification | ||
[X] State management testing | ||
[X] Error handling verification | ||
[X] UI/UX consistency check | ||
[X] Performance profiling | ||
|
||
[~] Store Assets | ||
[X] Store description (assets/store/description.md) | ||
[X] Store screenshots (in progress, assets/store/screenshots/) | ||
[X] Verify all screenshot descriptions match actual images | ||
[X] Final review of store assets | ||
[ ] Create demo video (optional, as noted in description) | ||
|
||
[X] Security & Compliance | ||
[X] Local-only API communication documented | ||
[X] Privacy considerations in store description | ||
[X] Complete security review of API endpoints | ||
[X] Add explicit data handling documentation | ||
[X] Verify license file matches MIT license | ||
|
||
[X] Release Preparation | ||
[X] Package.json configuration | ||
[X] Dependencies up to date | ||
[X] Project structure documented | ||
[X] Version number finalized in package.json | ||
[X] Release date set in CHANGELOG | ||
[X] Git tags prepared | ||
[X] Release notes prepared | ||
|
||
[IN PROGRESS] Store Submission | ||
[X] Final store listing preview | ||
[X] Internal review checklist | ||
[IN PROGRESS] Submit for Raycast review | ||
[ ] Address reviewer feedback | ||
[ ] Prepare launch announcement | ||
|
||
NOTES: | ||
- GitHub repository needs to be made public before updating links | ||
- Screenshots are in progress but need final review | ||
- Development guidelines are comprehensive and should be followed for testing | ||
- Store description is complete but needs link updates | ||
- Consider adding more error scenarios to troubleshooting guide |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
# Project Notes | ||
|
||
## 2024-02-13 | ||
- Project initialized: Raycast extension for MuteDeck integration | ||
- Reviewed architecture requirements and project structure | ||
- Established core features: | ||
- Microphone mute toggle | ||
- Video toggle | ||
- Leave meeting functionality | ||
- Defined initial project structure and implementation plan | ||
- Key technical decisions: | ||
- Using TypeScript for type safety | ||
- Following Raycast's recommended extension architecture | ||
- Implementing real-time status monitoring | ||
- Robust error handling for common failure cases | ||
- Development Tools Available: | ||
- Manage Extensions Command (Raycast built-in) | ||
- CLI tools for build/develop/lint | ||
- ESLint configuration for best practices | ||
- VS Code extension (community tool) for enhanced development | ||
- Next steps identified: | ||
- Set up development environment | ||
- Create extension scaffold | ||
- Implement API wrapper | ||
- Setup Progress: | ||
- ✅ Installed Node.js (v23.5.0) and npm (v10.9.2) | ||
- ✅ Installed @raycast/api package globally | ||
- ✅ RESOLVED: Found correct extension creation process | ||
- Must use Raycast app's built-in "Create Extension" command | ||
- Will use "Detail" template for rich UI capabilities | ||
- Development workflow: | ||
1. Create extension through Raycast app | ||
2. Run npm install in created directory | ||
3. Start development with npm run dev | ||
4. Use VS Code for development | ||
- No CLI tools needed for initial creation | ||
|
||
## 2024-02-14 | ||
- Core functionality implemented: | ||
- ✅ Toggle microphone command | ||
- ✅ Toggle video command | ||
- ✅ Leave meeting command | ||
- ✅ Status view | ||
- API integration complete: | ||
- ✅ Status monitoring | ||
- ✅ Command endpoints | ||
- ✅ Error handling | ||
- Moving to Polish Phase: | ||
- Identified Bear extension as quality benchmark | ||
- Created comprehensive polish plan | ||
- Key focus areas: | ||
1. Assets and Visual Identity | ||
2. Documentation Quality | ||
3. Enhanced User Experience | ||
4. Code Quality | ||
5. Repository Structure | ||
- Next Steps: | ||
- Create new prompt for polish phase | ||
- Follow Bear extension's example | ||
- Implement professional-grade improvements |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,82 @@ | ||
# Nova Project Rules | ||
|
||
1. Package Management | ||
- Use Poetry ONLY | ||
- Direct pip usage is FORBIDDEN | ||
|
||
2. Vision Model | ||
- Use "gpt-4o" model for vision recognition | ||
- Do NOT use gpt-4-vision-preview or any other vision models | ||
|
||
3 AI Commands | ||
When I submit a command to you, you MUST follow the procedure outlined in the command. | ||
|
||
- "update docs": | ||
- procedure: | ||
1. "Parse all Markdown files in docs/**/*.md and README.md" | ||
2. "Extract relevant updates from conversation" | ||
3. "Apply any relevant and useful updates" | ||
|
||
- "update plan": | ||
- procedure: | ||
1. "You MUST read the .Plan file" | ||
2. "Extract relevant updates from conversation" | ||
3. "Apply any relevant and useful updates to the .Plan file" | ||
|
||
- "update rules": | ||
- procedure: | ||
1. "Parse .cursorrules file" | ||
2. "Extract rule updates from conversation" | ||
3. "Apply any relevant and useful updates" | ||
|
||
- "capture thoughts": | ||
- procedure: | ||
1. "You MUST read the .cursorscratchpad file" | ||
2. "Extract relevant insights from current context" | ||
3. "Interleave your thoughts with previous thoughts in the <SCRATCHPAD> buffer" | ||
4. "You MUST write your thoughts in the <SCRATCHPAD> buffer" | ||
5. "Consolidate your thoughts as necessary, grouping related thoughts together" | ||
|
||
- "update cursornotes": | ||
- procedure: | ||
1. "You MUST read the .cursornotes and .cursorscratchpad files" | ||
2. "Consolidate previous thoughts from <SCRATCHPAD>" | ||
3. "Integrate new information from current conversation" | ||
4. "Format as dated entry, request date from user" | ||
5. "Append to .cursornotes file" | ||
6. "Clear <SCRATCHPAD> section in .cursorscratchpad" | ||
|
||
- "run tests": | ||
- procedure: | ||
1. "You MUST poetry run pytest" | ||
|
||
- "clean run": | ||
- procedure: | ||
1. "You MUST poetry run python -m nova.cleanup -a && poetry run python -m nova.cli --config config/nova.yaml" | ||
|
||
- "fix pre-commit": | ||
- procedure: | ||
1. "You MUST poetry run pre-commit run mypy --all-files" | ||
2. "You MUST fix all the errors" | ||
|
||
- "create prompt": | ||
- procedure: | ||
1. "You MUST run the capture thoughts command first" | ||
2. "You MUST run the update cursornotes command" | ||
3. "You MUST ask the user if we are implementing a current plan" | ||
4. "If yes, you MUST read the current plan file" | ||
5. "You MUST create a comprehensive prompt that includes:" | ||
- "Context from cursornotes" | ||
- "Plan data if applicable" | ||
- "Clear statement of current goal" | ||
- "Instructions for getting context" | ||
- "Next steps" | ||
- "How to use Nova's file structure" | ||
- "Required tools and commands" | ||
- "You should summarize and link to the relevant docs, instead of just saying all the text that we ahve captured elsewhere." | ||
|
||
|
||
|
||
|
||
|
||
❯ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
# Current Thoughts | ||
<SCRATCHPAD> | ||
- Project involves creating a Raycast extension for MuteDeck integration | ||
- Core functionality revolves around meeting controls (mute, video, leave) | ||
- Need to handle real-time status monitoring and error cases | ||
- Architecture follows standard Raycast extension patterns with clear separation of concerns | ||
- Initial focus is on setting up development environment and project structure | ||
- TypeScript will be primary language with React-based UI components | ||
- Error handling strategy needs to be robust for common failure modes | ||
- RESOLVED: Previous CLI tool issues clarified | ||
- Extension creation should be done through Raycast app's "Create Extension" command | ||
- No direct npm creation commands needed | ||
- Will use "Detail" template for rich UI capabilities | ||
|
||
POLISH PHASE INSIGHTS: | ||
- Need to follow Bear extension's example for professional quality | ||
- Key areas for polish: | ||
1. Assets and Visual Identity | ||
- MuteDeck icon integration | ||
- Consistent command icons | ||
- Professional screenshots/GIFs | ||
2. Documentation Quality | ||
- Clear, comprehensive README | ||
- Inline code documentation | ||
- Usage examples and troubleshooting | ||
3. Enhanced User Experience | ||
- Better error messages | ||
- Loading states | ||
- Keyboard shortcut suggestions | ||
4. Code Quality | ||
- TypeScript strict mode | ||
- ESLint/Prettier setup | ||
- Pre-commit hooks | ||
5. Repository Structure | ||
- Professional organization | ||
- Clear contribution guidelines | ||
- Version history tracking | ||
|
||
PROMPT REQUIREMENTS: | ||
- Context from current implementation | ||
- Clear goals for polish phase | ||
- Reference to Bear extension as quality standard | ||
- Step-by-step approach to improvements | ||
- Focus on user experience and professional quality | ||
- Tools and commands needed | ||
- File structure and organization | ||
|
||
- Development Tools to Use: | ||
- ray CLI commands for development: | ||
- ray develop: Start development mode | ||
- ray build: Build the extension | ||
- ray lint: Check code quality | ||
- VS Code extension for better development experience | ||
- Manage Extensions command in Raycast for testing | ||
- Next steps: | ||
- Set up development environment with npm install | ||
- Start development server with ray develop | ||
- Implement core functionality using available tools | ||
</SCRATCHPAD> | ||
|
||
# Reference Information | ||
- Local API endpoint: http://localhost:3491/ | ||
- Key endpoints: status, mute, video, leave | ||
- Must handle: MuteDeck not running, no active meeting, command failures | ||
- Bear extension as reference: https://www.raycast.com/hmarr/bear | ||
- Repository structure example: https://github.com/raycast/extensions/tree/main/extensions/bear |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
module.exports = { | ||
extends: ['@raycast'], | ||
parserOptions: { | ||
ecmaVersion: 2021, | ||
sourceType: 'module', | ||
project: './tsconfig.json', | ||
}, | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,86 @@ | ||
# Python | ||
__pycache__/ | ||
*.py[cod] | ||
*$py.class | ||
*.so | ||
.Python | ||
build/ | ||
develop-eggs/ | ||
dist/ | ||
downloads/ | ||
eggs/ | ||
.eggs/ | ||
lib/ | ||
lib64/ | ||
parts/ | ||
sdist/ | ||
var/ | ||
wheels/ | ||
*.egg-info/ | ||
.installed.cfg | ||
*.egg | ||
|
||
# Virtual environments | ||
.env | ||
.venv | ||
env/ | ||
venv/ | ||
ENV/ | ||
|
||
# IDE | ||
.idea/ | ||
.vscode/ | ||
*.swp | ||
*.swo | ||
.DS_Store | ||
|
||
# Testing | ||
.coverage | ||
coverage.xml | ||
htmlcov/ | ||
.pytest_cache/ | ||
.mypy_cache/ | ||
|
||
# Nova specific | ||
logs/ | ||
cache/ | ||
output/ | ||
*.log | ||
config/nova.yaml | ||
.env | ||
|
||
# Node.js | ||
node_modules/ | ||
npm-debug.log* | ||
yarn-debug.log* | ||
yarn-error.log* | ||
.pnpm-debug.log* | ||
.npm/ | ||
.yarn/ | ||
.pnp.* | ||
|
||
# TypeScript | ||
*.tsbuildinfo | ||
.tscache/ | ||
*.js.map | ||
|
||
# Raycast Extension | ||
.raycast-swift-build/ | ||
.build/ | ||
*.xcodeproj | ||
.raycast/ | ||
|
||
# Development | ||
.env.local | ||
.env.development.local | ||
.env.test.local | ||
.env.production.local | ||
|
||
# Misc | ||
.tmp/ | ||
.temp/ | ||
*.bak | ||
*.backup | ||
*~ | ||
.history/ | ||
.cache/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
{ | ||
"semi": true, | ||
"trailingComma": "es5", | ||
"singleQuote": true, | ||
"printWidth": 100, | ||
"tabWidth": 2, | ||
"useTabs": false, | ||
"bracketSpacing": true, | ||
"arrowParens": "avoid" | ||
} |
Oops, something went wrong.