{"id":50323233,"url":"https://github.com/phellams/zypline","last_synced_at":"2026-05-29T04:02:25.384Z","repository":{"id":349853229,"uuid":"1028063120","full_name":"phellams/zypline","owner":"phellams","description":"Quickly locate items across configured or specified paths, apply various filters, and receive results in a human-readable format.","archived":false,"fork":false,"pushed_at":"2026-04-07T20:00:54.000Z","size":16,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-07T22:07:21.255Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PowerShell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/phellams.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-07-29T01:29:27.000Z","updated_at":"2026-04-07T20:00:58.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/phellams/zypline","commit_stats":null,"previous_names":["phellams/zypline"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/phellams/zypline","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phellams%2Fzypline","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phellams%2Fzypline/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phellams%2Fzypline/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phellams%2Fzypline/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/phellams","download_url":"https://codeload.github.com/phellams/zypline/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phellams%2Fzypline/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33635961,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-29T02:00:06.066Z","response_time":107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-05-29T04:02:22.842Z","updated_at":"2026-05-29T04:02:25.374Z","avatar_url":"https://github.com/phellams.png","language":"PowerShell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# **Zypline PowerShell Module**\n\n Quickly locate items across configured or specified paths, apply various filters, and receive results in a human-readable format.\n\n## **✨ Features**\n\n* **Configurable Search Paths:** Define and manage your search locations via a JSON configuration file.  \n* **Flexible Filtering:** Search by name (wildcard or regex), exclude specific file extensions, and filter by last write time.  \n* **Item Type Selection:** Search for files, folders, or both.  \n* **Recursive Search:** Dive deep into subdirectories.  \n* **Human-Readable Sizes:** Convert file sizes to KB, MB, GB, etc., for easy understanding.  \n* **Enhanced Console Output:** Utilizes custom console coloring (via New-ColorConsole) and emojis for a professional and intuitive user experience.\n\n## **📦 Installation**\n\nTo install the zypline module, follow these steps:\n\n## **🛠️ Usage**\n\n### **Get-ZyplineConfiguration**\n\nRetrieves the current zypline module's configuration. If no configuration file exists, it will create a default one at `$env:USERPROFILE\\Documents\\zypline\\config.json`.\n\n#### **Syntax**\n\n```powershell\nGet-ZyplineConfiguration\n```\n\n#### **Examples**\n\n```powershell\n# Get the current configuration  \nGet-ZyplineConfiguration\n```\n```powershell\n# Store the configuration in a variable  \n$Config = Get-ZyplineConfiguration  \n$Config.SearchPaths\n```\n\n### **Set-ZyplineConfiguration**\n\nSaves a given configuration object to the config.json file, overwriting any existing configuration.\n\n#### **Syntax**\n\n```powershell\nSet-ZyplineConfiguration -Configuration \u003cPSCustomObject\u003e\n```\n\n#### **Examples**\n\n```powershell\n# Create a new configuration object and save it  \n$NewConfig = [PSCustomObject]@{  \n    SearchPaths = @(\"C:\\Projects\", \"D:\\Data\")  \n}  \nSet-ZyplineConfiguration -Configuration $NewConfig\n```\n\n```powershell\n# Update an existing configuration  \n$CurrentConfig = Get-ZyplineConfiguration  \n$CurrentConfig.SearchPaths += \"E:\\Archives\"  \nSet-ZyplineConfiguration -Configuration $CurrentConfig\n```\n\n### **Add-ZyplineSearchPath**\n\nAdds one or more paths to the zypline search configuration. It ensures that only unique, existing paths are added.\n\n#### **Syntax**\n\n```powershell\nAdd-ZyplineSearchPath -Path \u003cString[]\u003e\n```\n\n#### **Examples**\n\n```powershell\n# Add a single search path  \nAdd-ZyplineSearchPath -Path \"C:\\MyImportantFolder\"\n```\n\n```powershell\n# Add multiple search paths  \nAdd-ZyplineSearchPath -Path \"C:\\Logs\", \"D:\\Backups\"\n```\n\n### **Remove-ZyplineSearchPath**\n\nRemoves one or more paths from the zypline search configuration.\n\n#### **Syntax**\n\n```powershell\nRemove-ZyplineSearchPath -Path \u003cString[]\u003e\n```\n\n#### **Examples**\n\n```powershell\n# Remove a single search path  \nRemove-ZyplineSearchPath -Path \"$env:USERPROFILE\\Downloads\"\n```\n\n```powershell\n# Remove multiple search paths  \nRemove-ZyplineSearchPath -Path \"C:\\OldLogs\", \"D:\\Temp\"\n```\n### **Find-ZyplineItem**\n\nThe core search function. It searches configured paths (or explicit paths) for files and folders, applying various filters.\n\n#### **Syntax**\n\n```powershell\nFind-ZyplineItem  \n    [-Path \u003cString[]\u003e]  \n    [-IncludePattern \u003cString\u003e]  \n    [-ExcludePattern \u003cString\u003e]  \n    [-ExcludeExtension \u003cString[]\u003e]  \n    [-OlderThan \u003cDateTime\u003e]  \n    [-SearchFolders]  \n    [-SearchFiles]  \n    [-Recurse]  \n    [-UseRegex]  \n    [\u003cCommonParameters\u003e]\n```\n\n#### **Parameters**\n\n* -**Path** `\u003cString[]\u003e`: One or more root paths to start the search from. If omitted, configured paths are used.  \n* -**IncludePattern** `\u003cString\u003e`: A pattern to include items whose names match. Can be wildcard (e.g., *.log) or regex (with `-UseRegex`).  \n* -**ExcludePattern** `\u003cString\u003e`: A pattern to exclude items whose names match. Can be wildcard or regex.  \n* -**ExcludeExtension** `\u003cString[]\u003e`: An array of file extensions (e.g., \"txt\", \"log\") to exclude. Case-insensitive, no dot required.  \n* -**OlderThan** `\u003cDateTime\u003e`: Only include items with a LastWriteTime older than this date.  \n* -**SearchFolders**: Include folders in the search results.  \n* -**SearchFiles**: Include files in the search results. By default, only files are searched if neither `-SearchFolders` nor `-SearchFiles` is specified. If both are specified, both files and folders are searched.  \n* -**Recurse**: Include subdirectories recursively.  \n* -**UseRegex**: Treat `-IncludePattern` and `-ExcludePattern` as regular expressions.\n\n#### **Examples**\n\n```powershell\n# 📄 Find all .log files recursively in configured paths  \nFind-ZyplineItem -IncludePattern \"*.log\" -Recurse\n\n# 🔍 Search a specific path for files older than 30 days, excluding .tmp and .bak  \nFind-ZyplineItem -Path \"C:\\Temp\" -ExcludeExtension \"tmp\", \"bak\" -OlderThan (Get-Date).AddDays(-30) -Recurse\n\n# 📁 Find folders starting with \"Project\" recursively  \nFind-ZyplineItem -SearchFolders -IncludePattern \"Project*\" -Recurse\n\n# 📝 Find files matching a specific date pattern using regex  \nFind-ZyplineItem -IncludePattern \"^\\d{4}-\\d{2}-\\d{2}\\_report\\.txt$\" -UseRegex -Recurse\n\n# 📂📄 Find both files and folders containing \"config\" in their name  \nFind-ZyplineItem -IncludePattern \"\\*config\\*\" -SearchFiles -SearchFolders -Recurse  \n```\n\n# **Contributing**\n\nIf you find a bug or have a suggestion, please [open an issue](https://github.com/your-username/zypline/issues) or [create a pull request](https://github.com/your-username/zypline/pulls).\n\n# **License**\n\nThis project is released under the [MIT License](https://opensource.org/licenses/MIT).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphellams%2Fzypline","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphellams%2Fzypline","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphellams%2Fzypline/lists"}