
config generator
一个基于 Electron 的桌面应用程序,用于生成本地开发工具的配置文件。
Repository Info
About This Server
一个基于 Electron 的桌面应用程序,用于生成本地开发工具的配置文件。
Model Context Protocol (MCP) - This server can be integrated with AI applications to provide additional context and capabilities, enabling enhanced AI interactions and functionality.
Documentation
Config Generator
Config Generator is a desktop application built with Electron, Vite, React, TypeScript, and Tailwind CSS. It provides a user-friendly interface to generate config.json files for various local development tools and applications, streamlining their setup and configuration.
Key Features
- Dynamic Platform Configuration: Define platforms (applications or services) and their specific configuration needs through
settings.json. - Tool Integration: Leverages a
database.jsonto define available tools (e.g., MCP servers) and their parameters. - Live Settings Reload:
settings.jsonis monitored for changes. Any updates to this file (e.g., changing the output directory, modifying platform definitions) are reflected in the application automatically without requiring a restart. - Customizable Output: Specify output directories and filenames for generated configurations.
- Batch Operations: Define and execute post-generation batch commands (e.g., injecting secrets, moving files) for each platform via
settings.json. - Modern Tech Stack: Built with Electron, React, Vite, TypeScript, and Tailwind CSS for a responsive and maintainable application.
Configuration Files
The application relies on two main JSON files for its configuration:
1. settings.json
This file controls the application-wide settings and defines the "platforms" that the user can select and configure.
- Location: Must be placed in the root directory of the project (alongside
package.json). - Live Reload: Changes to this file are automatically detected and applied to the running application.
- Structure:
output_dir(optional): Specifies a global output directory for all generated configuration files. If commented out or missing, defaults to the project root.platforms(array): Defines the list of platforms available in the application's dropdown menu. Each platform object can have:name(string, required): Display name in the UI.platform_dir(string, optional): Subdirectory under the mainoutput_dirfor this platform's files. Defaults to thename.output_filename(string, optional): Name of the generated config file. Defaults toconfig.json.batch(string, optional): A shell command to execute after the configuration file is saved. Supports the placeholder{{config_file_path}}, which is replaced with the absolute path to the generated file.
Example settings.json:
// settings.json
{
// "output_dir": "output", // Optional: custom global output directory
"platforms": [
{
"name": "Claude Desktop",
"platform_dir": "ClaudeConfig", // Outputs to "output/ClaudeConfig" if output_dir is "output"
"output_filename": "claude_settings.json",
"batch": "op inject -i \"{{config_file_path}}\" > \"~/Library/Application Support/Claude/claude_desktop_config.json\""
},
{
"name": "Another Tool"
// ... other properties
}
]
}
2. database.json
This file defines the available "tools" or "MCP servers" and their associated commands or settings that can be configured for each platform.
- Location:
- Command-line Argument: Specify a path using
--database=/path/to/your/database.json. - Project Root (Default): If no argument is provided, it looks for
database.jsonin the project root.
- Command-line Argument: Specify a path using
- Error Handling: If not found or invalid, the application will show an error and exit.
- Live Reload: Changes to this file are automatically detected, and the new configuration is loaded.
- Structure Example:
// database.json
{
"mcpServers": {
"mcp-time": {
"command": "mcp-time",
"args": ["--format", "hh:mm:ss"]
},
"mcp-spotify": {
"command": "mcp-spotify",
"args": ["--now-playing"]
}
// ... other tools
}
}
Prerequisites
- Node.js (LTS version recommended)
- npm (comes with Node.js)
Installation
-
Clone the repository:
git clone <your-repository-url> cd config-generator -
Install dependencies:
npm install
Development
To run the application in development mode with hot reloading:
npm run dev
This command will:
- Start the Vite development server for the renderer process.
- Wait for the Vite server to be ready.
- Compile the main process TypeScript code.
- Launch the Electron application.
Building for Production
To build the application for production:
npm run build
This will compile the TypeScript code and package the application using Vite and Electron Builder. The output will be in the dist directory (or as configured in electron-builder settings within package.json).
License
This project is licensed under the MIT License. See the LICENSE file for details.
Quick Start
Clone the repository
git clone https://github.com/walkingshamrock/config-generatorInstall dependencies
cd config-generator
npm installFollow the documentation
Check the repository's README.md file for specific installation and usage instructions.
Repository Details
Recommended MCP Servers
Discord MCP
Enable AI assistants to seamlessly interact with Discord servers, channels, and messages.
Knit MCP
Connect AI agents to 200+ SaaS applications and automate workflows.
Apify MCP Server
Deploy and interact with Apify actors for web scraping and data extraction.
BrowserStack MCP
BrowserStack MCP Server for automated testing across multiple browsers.
Zapier MCP
A Zapier server that provides automation capabilities for various apps.