|
1 | | -# Turborepo starter |
| 1 | +[](https://opensource.org/licenses/MIT) |
| 2 | +[](https://github.com/withseismic/cursor-tools/stargazers) |
| 3 | +[](https://www.typescriptlang.org/) |
| 4 | +[](https://www.electronjs.org/) |
| 5 | +[](https://reactjs.org/) |
| 6 | +[](https://discord.gg/cursor) |
2 | 7 |
|
3 | | -This Turborepo starter is maintained by the Turborepo core team. |
| 8 | +[🔗 Reddit Discussion](https://www.reddit.com/r/cursor/comments/1i77m4d/notepads_manager_for_cursor/) | [💬 Discord Community](https://discord.gg/BX25FcS53N) |
4 | 9 |
|
5 | | -## Using this example |
| 10 | +# Cursor Tools |
6 | 11 |
|
7 | | -Run the following command: |
| 12 | +A powerful desktop application for managing and enhancing your Cursor IDE notepads, built with Electron, React, and TypeScript. (Ish. It's a proof of concept that shows you how to hook into Cursor's workspace / global settings and do some cool stuff.) |
8 | 13 |
|
9 | | -```sh |
10 | | -npx create-turbo@latest |
11 | | -``` |
| 14 | + |
12 | 15 |
|
13 | | -## What's inside? |
| 16 | +## Overview |
14 | 17 |
|
15 | | -This Turborepo includes the following packages/apps: |
| 18 | +Cursor Tools provides a robust suite of utilities for managing your Cursor IDE notepads, allowing you to backup, sync, and organize your development notes across workspaces. Built with modern technologies and best practices, it offers a seamless integration with your Cursor IDE workflow. |
16 | 19 |
|
17 | | -### Apps and Packages |
| 20 | +### Key Features |
18 | 21 |
|
19 | | -- `docs`: a [Next.js](https://nextjs.org/) app |
20 | | -- `web`: another [Next.js](https://nextjs.org/) app |
21 | | -- `@repo/ui`: a stub React component library shared by both `web` and `docs` applications |
22 | | -- `@repo/eslint-config`: `eslint` configurations (includes `eslint-config-next` and `eslint-config-prettier`) |
23 | | -- `@repo/typescript-config`: `tsconfig.json`s used throughout the monorepo |
| 22 | +#### 1. Notepad Management |
24 | 23 |
|
25 | | -Each package/app is 100% [TypeScript](https://www.typescriptlang.org/). |
| 24 | +- **Create & Edit**: Create new notepads with rich content and edit existing ones |
| 25 | +- **Organization**: Group related notepads and manage them efficiently |
| 26 | +- **Search & Filter**: Quickly find notepads across all workspaces |
| 27 | +- **Backup & Sync**: Automatically backup your Cursor notepads across workspaces |
| 28 | +- **Import/Export**: Share notepads between workspaces or with team members |
26 | 29 |
|
27 | | -### Utilities |
| 30 | +#### 2. Smart Templates |
28 | 31 |
|
29 | | -This Turborepo has some additional tools already setup for you: |
| 32 | +Pre-built notepad templates for common development workflows: |
30 | 33 |
|
31 | | -- [TypeScript](https://www.typescriptlang.org/) for static type checking |
32 | | -- [ESLint](https://eslint.org/) for code linting |
33 | | -- [Prettier](https://prettier.io) for code formatting |
| 34 | +- Git branch and workflow best practices |
| 35 | +- Test-Driven Development (TDD) guides |
| 36 | +- AI-assisted development patterns |
| 37 | +- Documentation templates |
| 38 | +- Code review checklists |
| 39 | +- Performance optimization guides |
| 40 | +- Security best practices |
| 41 | +- Accessibility guidelines |
| 42 | +- Architecture planning templates |
34 | 43 |
|
35 | | -### Build |
| 44 | +#### 3. Workspace Integration |
36 | 45 |
|
37 | | -To build all apps and packages, run the following command: |
| 46 | +- **Multi-Workspace Support**: Manage notepads across multiple Cursor workspaces |
| 47 | +- **Workspace Migration**: Easily copy notepads between workspaces |
| 48 | +- **Context Awareness**: Notepads maintain references to relevant files and folders |
| 49 | +- **Persistent Storage**: Reliable SQLite-based storage for all your notes |
38 | 50 |
|
39 | | -``` |
40 | | -cd my-turborepo |
41 | | -pnpm build |
| 51 | +#### 4. Advanced Features |
| 52 | + |
| 53 | +- **Version History**: Track changes to your notepads over time |
| 54 | +- **Rich Context**: Link notepads to files, folders, and git commits |
| 55 | +- **Smart References**: Maintain connections to external resources and documentation |
| 56 | +- **Customizable Layout**: Adjust the UI layout to match your workflow |
| 57 | + |
| 58 | +### Installation |
| 59 | + |
| 60 | +```bash |
| 61 | +# Install dependencies |
| 62 | +pnpm install |
| 63 | + |
| 64 | +# Start development |
| 65 | +pnpm dev:electron |
| 66 | + |
| 67 | +# Build for your platform |
| 68 | +pnpm build:win # Windows |
| 69 | +pnpm build:mac # macOS |
| 70 | +pnpm build:linux # Linux |
42 | 71 | ``` |
43 | 72 |
|
44 | | -### Develop |
| 73 | +### Project Structure |
45 | 74 |
|
46 | | -To develop all apps and packages, run the following command: |
| 75 | +This project uses [Turborepo](https://turbo.build/repo) and follows modern development practices: |
47 | 76 |
|
48 | 77 | ``` |
49 | | -cd my-turborepo |
50 | | -pnpm dev |
| 78 | +apps/ |
| 79 | + ├── electron-app/ # Main desktop application |
| 80 | + │ ├── src/ |
| 81 | + │ │ ├── main/ # Electron main process |
| 82 | + │ │ ├── renderer/ # React-based UI |
| 83 | + │ │ └── preload/ # Preload scripts |
| 84 | + │ └── ... |
| 85 | +packages/ |
| 86 | + ├── eslint-config/ # Shared ESLint configuration |
| 87 | + └── typescript-config/ # Shared TypeScript configuration |
51 | 88 | ``` |
52 | 89 |
|
53 | | -### Remote Caching |
| 90 | +### Technology Stack |
54 | 91 |
|
55 | | -> [!TIP] |
56 | | -> Vercel Remote Cache is free for all plans. Get started today at [vercel.com](https://vercel.com/signup?/signup?utm_source=remote-cache-sdk&utm_campaign=free_remote_cache). |
| 92 | +- **TypeScript**: For type-safe code |
| 93 | +- **Electron**: Desktop application framework |
| 94 | +- **React**: UI components and state management |
| 95 | +- **SQLite**: Reliable data persistence |
| 96 | +- **Tailwind CSS**: Modern styling |
| 97 | +- **ESLint & Prettier**: Code quality tools |
57 | 98 |
|
58 | | -Turborepo can use a technique known as [Remote Caching](https://turbo.build/repo/docs/core-concepts/remote-caching) to share cache artifacts across machines, enabling you to share build caches with your team and CI/CD pipelines. |
| 99 | +### API Documentation |
59 | 100 |
|
60 | | -By default, Turborepo will cache locally. To enable Remote Caching you will need an account with Vercel. If you don't have an account you can [create one](https://vercel.com/signup?utm_source=turborepo-examples), then enter the following commands: |
| 101 | +#### Notepad Management |
61 | 102 |
|
62 | | -``` |
63 | | -cd my-turborepo |
64 | | -npx turbo login |
65 | | -``` |
| 103 | +```typescript |
| 104 | +// Create a new notepad |
| 105 | +const notepad = await notepadManager.createNotepad({ |
| 106 | + name: "My Notepad", |
| 107 | + text: "Initial content" |
| 108 | +}); |
66 | 109 |
|
67 | | -This will authenticate the Turborepo CLI with your [Vercel account](https://vercel.com/docs/concepts/personal-accounts/overview). |
| 110 | +// Get all notepads |
| 111 | +const notepads = await notepadManager.getAll(); |
68 | 112 |
|
69 | | -Next, you can link your Turborepo to your Remote Cache by running the following command from the root of your Turborepo: |
| 113 | +// Get a specific notepad |
| 114 | +const notepad = await notepadManager.getNotepad(id); |
70 | 115 |
|
| 116 | +// Update notepad content |
| 117 | +await notepad.setText("Updated content"); |
| 118 | + |
| 119 | +// Delete a notepad |
| 120 | +await notepadManager.deleteNotepad(id); |
71 | 121 | ``` |
72 | | -npx turbo link |
| 122 | + |
| 123 | +#### Workspace Operations |
| 124 | + |
| 125 | +```typescript |
| 126 | +// Get all workspaces |
| 127 | +const workspaces = await workspaceManager.getWorkspaces(); |
| 128 | + |
| 129 | +// Get a specific workspace |
| 130 | +const workspace = await workspaceManager.getWorkspace(id); |
| 131 | + |
| 132 | +// Access workspace storage |
| 133 | +await workspace.set("key", value); |
| 134 | +const value = await workspace.get("key"); |
73 | 135 | ``` |
74 | 136 |
|
75 | | -## Useful Links |
| 137 | +### Contributing |
| 138 | + |
| 139 | +We welcome contributions! Please follow these steps: |
| 140 | + |
| 141 | +1. Fork the repository |
| 142 | +2. Create a feature branch |
| 143 | +3. Make your changes |
| 144 | +4. Submit a pull request |
| 145 | + |
| 146 | +Please ensure your code follows our style guidelines and includes appropriate tests. |
76 | 147 |
|
77 | | -Learn more about the power of Turborepo: |
| 148 | +### License |
78 | 149 |
|
79 | | -- [Tasks](https://turbo.build/repo/docs/core-concepts/monorepos/running-tasks) |
80 | | -- [Caching](https://turbo.build/repo/docs/core-concepts/caching) |
81 | | -- [Remote Caching](https://turbo.build/repo/docs/core-concepts/remote-caching) |
82 | | -- [Filtering](https://turbo.build/repo/docs/core-concepts/monorepos/filtering) |
83 | | -- [Configuration Options](https://turbo.build/repo/docs/reference/configuration) |
84 | | -- [CLI Usage](https://turbo.build/repo/docs/reference/command-line-reference) |
| 150 | +MIT |
0 commit comments