{"id":13993295,"url":"https://github.com/JohnSundell/SwiftScripting","last_synced_at":"2025-07-22T17:31:49.070Z","repository":{"id":72298106,"uuid":"87965801","full_name":"JohnSundell/SwiftScripting","owner":"JohnSundell","description":"A list of Swift scripting tools, frameworks \u0026 examples","archived":true,"fork":false,"pushed_at":"2019-09-27T12:39:21.000Z","size":13,"stargazers_count":238,"open_issues_count":0,"forks_count":11,"subscribers_count":8,"default_branch":"master","last_synced_at":"2024-08-10T14:13:43.992Z","etag":null,"topics":["frameworks","list","scripting","swift","swift-script","tools","xcode"],"latest_commit_sha":null,"homepage":"","language":null,"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/JohnSundell.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}},"created_at":"2017-04-11T18:19:40.000Z","updated_at":"2024-05-18T16:29:55.000Z","dependencies_parsed_at":null,"dependency_job_id":"307bb186-7be3-4c54-b122-bcc8f13f1c48","html_url":"https://github.com/JohnSundell/SwiftScripting","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JohnSundell%2FSwiftScripting","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JohnSundell%2FSwiftScripting/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JohnSundell%2FSwiftScripting/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JohnSundell%2FSwiftScripting/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JohnSundell","download_url":"https://codeload.github.com/JohnSundell/SwiftScripting/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227143498,"owners_count":17737171,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["frameworks","list","scripting","swift","swift-script","tools","xcode"],"created_at":"2024-08-09T14:02:19.067Z","updated_at":"2024-11-29T14:32:09.154Z","avatar_url":"https://github.com/JohnSundell.png","language":null,"funding_links":[],"categories":["Others"],"sub_categories":[],"readme":"⚠️ **NO LONGER MAINTAINED** This list is no longer kept up to date, so some of its information may no longer be relevant.\n\n# Swift scripting resources\n\nThis is a list of tools, frameworks \u0026 examples that you might find useful when scripting in Swift 🚀\n\n## Index\n\n- [Tools](#tools)\n- [Frameworks](#frameworks)\n- [Examples](#examples)\n- [Contributing](#contributing)\n\n## Tools\n\n### [Marathon](https://github.com/johnsundell/marathon)\n\nMarathon makes it easy to write, run and manage your Swift scripts. Quickly create, edit, run, install \u0026 share your scripts, and easily add dependencies to them.\n\n### [PackageBuilder](https://github.com/pixyzehn/PackageBuilder)\n\nPackageBuilder builds a simple command-line structure using SPM. The structure follows the approach described in [Building a command line tool using the Swift Package Manager](https://www.swiftbysundell.com/posts/building-a-command-line-tool-using-the-swift-package-manager) separating your code between a framework and the executable.\n\n### [Swift Package Manager](https://github.com/apple/swift-package-manager)\n\nThe Package Manager for the Swift Programming Language. Using it you can manage your dependencies + compile \u0026 run your scripts. Also enables you to generate Xcode projects for your scripts.\n\n## Frameworks\n\n*While most Swift frameworks can be used in scripts, the ones in this list are particularily useful in tasks that are common when doing Swift scripting.*\n\n### [Commandant](https://github.com/Carthage/Commandant)\n\nCommandant is a Swift framework for parsing command-line arguments, inspired by Argo (which is, in turn, inspired by the Haskell library Aeson).\n\n### [Commander](https://github.com/kylef/Commander)\n\nCommander is a small Swift framework allowing you to craft beautiful command line interfaces in a composable way. Accept input in a type safe way with great error handling and provide descriptions for your arguments.\n\n### [CommandLineKit](https://github.com/jatoben/CommandLine)\n\nA pure Swift library for creating command-line interfaces. Using it, you can easily accept parameters \u0026 flags in your scripts, and print help messages \u0026 usage instructions for them.\n\n### [Files](https://github.com/johnsundell/files)\n\nA nicer way to handle files \u0026 folders in Swift. Files gives you an object-oriented API around the file system, making it easy to create, move, rename and handle files \u0026 folders in a script.\n\n### [Guaka](https://github.com/oarrabi/Guaka)\n\nGuaka helps you create modern and familiar CLI apps in the vein of widely used projects such as: Docker, Kubernetes, OpenShift, Hugo and more.\n\n### [Guitar](https://github.com/artsabintsev/guitar)\n\nA Cross-Platform String and Regular Expression Library Written in Swift. Makes it easier to handle strings (such as input) in your scripts, evaluate regular expressions on them, transform them, and more.\n\n### [Rainbow](https://github.com/onevcat/Rainbow)\n\nDelightful console output for Swift developers. Rainbow makes it easy to color the text your script outputs on the command line.\n\n### [Releases](https://github.com/johnsundell/releases)\n\nA Swift package for resolving released versions from a Git repository. Enables you to easily build tooling around Git versions. Resolve, sort \u0026 filter versions for both remote \u0026 local repositories.\n\n### [ShellOut](https://github.com/johnsundell/shellout)\n\nEasily run shell commands from a Swift script or command line tool. Gives you a simple function that enables you to \"shell out\" and run tasks on the command line from your scripts.\n\n### [Swiftline](https://github.com/oarrabi/Swiftline)\n\nSwiftline is a set of tools to help you create command line applications.\n\n### [SwiftShell](https://github.com/kareman/SwiftShell)\n\nA library for creating command-line applications and running shell commands in Swift. It provides features such as running asynchronous tasks, handling contexts \u0026 errors and managing input \u0026 output.\n\n### [Xgen](https://github.com/johnsundell/xgen)\n\nA Swift package for generating Xcode workspaces \u0026 playgrounds. Using it, you can build developer tools \u0026 scripts that generates workspaces for your projects, or playgrounds for quick prototyping.\n\n## Examples\n\n### [Carting](https://github.com/artemnovichkov/Carting)\n\nCarting is a simple tool for updating Carthage Build Phase.\n\n### [Marathon Examples](https://github.com/johnsundell/marathon-examples)\n\nA collection of example Swift scripts that can easily be run using Marathon.\n\n### [Playground](https://github.com/JohnSundell/Playground)\n\nInstantly create Swift playgrounds from the command line.\n\n### [Selenops](https://github.com/zntfdr/Selenops)\n\nA stupid simple Swift Web Crawler.\n\n### [TestDrive](https://github.com/johnsundell/testdrive)\n\nQuickly try out any Swift pod or framework in a playground.\n\n## Contributing\n\nThis list is still in its early days, so a lot of awesome stuff is sure to be missing. If you know of a tool, framework or example that should be on this list - [**add it and open a PR**](https://github.com/JohnSundell/SwiftScripting/edit/master/README.md)! 👍 Before you do though, here are some quick guidelines:\n\n- You can totally add your own creations.\n- Only add things that are open source, and that are generally useful for Swift scripting.\n- Don't add general Swift frameworks such as JSON mappers or networking libraries (there are other lists for that).\n- Keep the list in alphabetical order.\n- Follow the same style as for the other entries.\n- No more than 2 lines of description for each entry.\n\nLooking forward to your contributions and seeing this list grow! 🎉\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJohnSundell%2FSwiftScripting","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FJohnSundell%2FSwiftScripting","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJohnSundell%2FSwiftScripting/lists"}