Most engineers are very habitual and relatively consistent in how they prefer to setup new projects. As of now, I am still manually opening the terminal, creating new projects with shell commands, and then opening the project in Cursor after it’s been created.
It would be nice to have some AI-Powered automation features on the “Open a project” page for starting a new project from scratch and setting everything up according to the unique/personalized preferences of the Engineer that is using Cursor. Maybe add a new tab to the “Cursor Settings” page and manage the preferences from there.
I understand I could probably make an MCP server to do all this, but I feel like this should be a default feature for all users. I also believe that the combined intelligence of the entire Cursor community will produce a much better outcome than something I could create on my own.
Here’s a list of examples for a few very basic features that might be worth including:
-
Favorite parent folder(s) - Many developers keep all/most of their projects in like 1 or 2 folders to stay organized. Create a short list of your favorite folders to store projects in. New projects should automatically be created inside whatever parent folder you specify. Default value should the most-recently used parent folder.
-
Default directory structure - JSON file with comments enabled (similar to the settings.json VS Code file) that has a list of relative paths to all the folders that should be automatically added to each new project. Example JSON file:
[ { // Root directory "name": ".", "contents": [ // Data directory { "name": "data", "contents": [ { "name": "raw" }, { "name": "clean" } ] }, // All my custom functions, categorized by the programming language { "name": "functions", "contents": [ { "name": "bash" }, { "name": "javascript" }, { "name": "python" }, { "name": "r" }, { "name": "sql" } ] }, // I like to organize all my git clones into one folder and then all subdirectories are automatically created to mirror the original URL that I cloned the git repo from. For example, if I clone the repository , then the directory structure will be: { "name": "git_clones", "contents": [ { "name": "github.com", "contents": [ { "name": "fastapi", "contents": [ { "name": "fastapi" } ] } ] } ] }, // Scripts that I use to automate my workflow { "name": "scripts" }, // Third party tools that the project depends on and cannot be installed with "git clone" or one of the standard package managers like pip or npm. { "name": "third_party" } ] } ]
-
Default files - Files that you should automatically copy into every project. I typically just copy a “.vscode/settings.json” file from an old project, paste it into the new project and then slightly modify it. I also like using direnv for automatically setting project-specific environment variables for the terminal, which are defined in the
.envrc
file. -
Favorite tools - List of your favorite functions from various modules/packages, your favorite third-party APIs/platforms/services, etc. For example, my favorite tool to control a web browser is the puppeteer node.js module. I like to use the
writeFileSync
function from the fs module to export JSON data.
Some sort of form could add the name of the tool, what types of scenarios to use the tool for (“Use the Playwright npm module if you need to control a web browser”, “Use writeFileSync from the fs module to export data to a JSON file”, etc. ), the desired version number (optional, default to latest), the local file path of the desired tool (optional), etc.
4B. Maybe eventually integrate some sort of code snippet manager that allows you to add examples of the exact ways that you like your favorite tools being utilized.