-
Clone the repository:
git clone https://github.com/jomardyan/Script-Manager.git cd Script-Manager -
Install backend dependencies:
cd backend pip install -r requirements.txt -
Install frontend dependencies:
cd ../frontend npm install
-
Start the backend server:
cd backend python main.pyThe API will be available at http://localhost:8000
-
Start the frontend (in a new terminal):
cd frontend npm run devThe web interface will be available at http://localhost:3000
- Navigate to Folder Roots in the sidebar
- Click Add Folder Root
- Fill in the details:
- Name: A friendly name for this folder (e.g., "Production Scripts")
- Path: Absolute path to the folder (e.g., "/home/user/scripts")
- Recursive: Check to scan subfolders
- Include Patterns: Optional comma-separated patterns (e.g., ".py,.sh")
- Exclude Patterns: Optional patterns to skip (e.g., "test,tmp")
- Click Add
- Go to Folder Roots
- Click Scan next to a folder root
- Wait for the scan to complete
- Review the results showing new, updated, and deleted scripts
- Navigate to Scripts in the sidebar
- Use the search bar to find scripts by name or path
- Use filters to narrow down by language or status
- Click on a script name to view details
On the script detail page, you can:
- Add Notes: Document important information about the script
- Add Tags: Organize scripts with tags (create tags first in the Tags section)
- Update Status: Set status (active, draft, deprecated, archived)
- Set Classification: Add classification like "production" or "staging"
- Assign Owner: Record who owns or maintains the script
- Set Environment: Specify the deployment environment
- Navigate to Tags in the sidebar
- Click Create Tag
- Enter:
- Name: Tag name (e.g., "production", "backup", "critical")
- Group: Optional group name (e.g., "environment", "category")
- Color: Pick a color for visual distinction
- Use tags on scripts to organize your collection
- Navigate to Search in the sidebar
- Enter search criteria:
- Query: Search term for name or path
- Languages: Filter by programming language
- Status: Filter by script status
- Tags: Filter by tags
- Folder Roots: Filter by specific folders
- Click Search
The Dashboard shows:
- Total number of scripts indexed
- Number of folder roots configured
- Total tags created
- Scripts grouped by language
- Recent folder roots and scan status
- Use meaningful tags: Create tags for different purposes (environment, team, system)
- Add notes: Document what scripts do, when to use them, and any dependencies
- Set status appropriately: Mark deprecated scripts to avoid confusion
- Use classification: Distinguish between production, staging, and development scripts
- Start with recursive scanning to find all scripts
- Use exclude patterns to skip temporary files and test directories
- Set appropriate max file size to avoid indexing large data files
- Re-scan regularly to keep the index up to date
- Use pagination when browsing large script collections
- Apply filters to narrow down search results
- Exclude unnecessary directories to speed up scans
- Use tags for quick categorization instead of relying solely on search
Script Manager automatically detects the following file types:
- Python: .py
- PowerShell: .ps1, .psm1
- Bash: .sh
- Batch: .bat, .cmd
- SQL: .sql
- JavaScript: .js
- TypeScript: .ts
- YAML: .yml, .yaml
- JSON: .json
- Terraform: .tf
- Ruby: .rb
- Perl: .pl
- PHP: .php
- Go: .go
- Rust: .rs
- Java: .java
- C#: .cs
- C++: .cpp
- C: .c
- R: .r
- Check that port 8000 is not in use
- Verify Python dependencies are installed:
pip install -r requirements.txt - Check for error messages in the console
- Check that port 3000 is not in use
- Verify Node.js dependencies are installed:
npm install - Check for error messages in the console
- Verify the folder path exists and is accessible
- Check exclude patterns aren't filtering out the scripts
- Ensure the file extensions are supported
- Check the max file size setting
- The database is automatically created at
backend/data/scripts.db - To reset the database, delete the file and restart the backend
- Regular backups of the database file are recommended
You can configure the application using environment variables:
# Backend configuration
export DATABASE_PATH="./data/scripts.db"
export API_PORT="8000"
# Start the backend
python main.pyFor developers integrating with the API, see API.md for complete endpoint documentation.
Interactive API documentation is available at:
- Swagger UI: http://localhost:8000/docs
- ReDoc: http://localhost:8000/redoc




