https://plugins.jetbrains.com/plugin/24889-snapshots-for-ai/
Snapshots for AI is a custom plugin for PHPStorm that generates machine-readable markdown snapshots of the files the user is currently working on. These generated markdown files can be fed to your favorite large language model (LLM) for further processing or analysis.
https://www.youtube.com/watch?v=xiCwXUZVW6k
- Generate Markdown Snapshots: Create snapshots of your current files in markdown format.
- Include Project Structure: Optionally include the entire project structure in the snapshot.
- Selective File Inclusion: Choose specific files or include all files from the project in the snapshot.
- Configurable Exclusions: Exclude specific file patterns from snapshots using the configuration file.
-
Download and install the plugin from the JetBrains Plugin Repository.
-
Open a project in PHPStorm.
-
Find the plugin and activate the free trial:
- Navigate to
File > Settings > Plugins
. - Search for "Snapshots for AI".
- Click on the plugin and select
Install
. - After installation, click on
Activate Free Trial
.
- Navigate to
- Creating a Snapshot:
- Navigate to
Tools > Create Snapshot
or click the camera icon at the top right side of the main toolbar. - Enter your prompt, select the files to include, and click
OK
. - Snapshop will be generated and opened automatically.
- Snapshots are stored inside the
.snapshots
directory at the root of your project application
- Navigate to
https://plugins.jetbrains.com/plugin/24889-snapshots-for-ai/example-markdown-output
The config.json
file in the .snapshots
directory allows you to customize the plugin's behavior.
{
"default": {
"default_prompt": "Enter your prompt here",
"default_include_entire_project_structure": true,
"default_include_all_files": false
},
"excluded_patterns": [
".git",
".gitignore",
"gradlew",
"gradlew.*",
"node_modules",
".snapshots",
".idea",
".vscode",
"gradle",
"*.log",
"*.tmp",
"target",
"dist",
"build",
".DS_Store",
"*.bak",
"*.swp",
"*.swo",
"*.lock",
"*.iml",
"coverage",
"*.min.js",
"*.min.css",
"__pycache__"
],
"included_patterns": [
"build.gradle",
"settings.gradle",
"gradle.properties",
"pom.xml",
"Makefile",
"CMakeLists.txt",
"package.json",
"package-lock.json",
"yarn.lock",
"requirements.txt",
"Pipfile",
"Pipfile.lock",
"Gemfile",
"Gemfile.lock",
"composer.json",
"composer.lock",
".editorconfig",
".eslintrc.json",
".eslintrc.js",
".prettierrc",
".babelrc",
".env",
".dockerignore",
".gitattributes",
".stylelintrc",
".npmrc"
]
}