{"id":21846604,"url":"https://github.com/binarybirds/swift-plugins","last_synced_at":"2025-07-20T20:30:46.628Z","repository":{"id":242904177,"uuid":"810791862","full_name":"BinaryBirds/swift-plugins","owner":"BinaryBirds","description":"Plugins for Swift","archived":true,"fork":false,"pushed_at":"2024-09-18T19:05:54.000Z","size":22,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-07-18T21:04:23.599Z","etag":null,"topics":["bash","bash-script","openapi","swift","swiftplugin"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BinaryBirds.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2024-06-05T11:11:10.000Z","updated_at":"2025-01-08T09:19:24.000Z","dependencies_parsed_at":"2024-06-05T17:12:19.998Z","dependency_job_id":"b4fe9a1a-2df6-433c-83a9-29f43bdaca0a","html_url":"https://github.com/BinaryBirds/swift-plugins","commit_stats":null,"previous_names":["binarybirds/swift-plugins"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/BinaryBirds/swift-plugins","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BinaryBirds%2Fswift-plugins","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BinaryBirds%2Fswift-plugins/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BinaryBirds%2Fswift-plugins/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BinaryBirds%2Fswift-plugins/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BinaryBirds","download_url":"https://codeload.github.com/BinaryBirds/swift-plugins/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BinaryBirds%2Fswift-plugins/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266193055,"owners_count":23890718,"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":["bash","bash-script","openapi","swift","swiftplugin"],"created_at":"2024-11-27T23:14:41.297Z","updated_at":"2025-07-20T20:30:46.271Z","avatar_url":"https://github.com/BinaryBirds.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Swift Plugins WIP\n\nThis repository contains a set of Swift plugins designed to streamline various tasks such as checking for API breakages, validating OpenAPI specifications, and formatting Swift code.\n\n## Install\n\nAdd the repository as a dependency:\n\n```swift\n.package(url: \"https://github.com/BinaryBirds/swift-plugins\", from: \"0.0.4\"),\n```\n\nUpdate the packages and you are ready.\n\n## Plugins\n\nTo list plugins call `swift package plugin --list`\n\n### CheckApiBreakagePlugin\n\nThis plugin runs a script to check for any breaking changes in the API. It uses the swift package diagnose-api-breaking-changes command to analyze the current API against the last tagged version and reports any breaking changes found.\n\nUsage: `swift package --disable-sandbox check-api-breakage`\n\t\n### CheckBrokenSymlinksPlugin\nThis plugin runs a script to find and report broken symbolic links within the repository. It iterates over all files tracked by Git and checks if their symlink targets exist.\n\nUsage: `swift package --disable-sandbox check-broken-symlinks`\n\n### CheckLocalSwiftDependenciesPlugin\nThis plugin checks for local Swift package dependencies in the repository. It scans Package.swift files for local dependencies defined using .package(path:) and reports any occurrences.\n\nUsage: `swift package --disable-sandbox check-local-swift-dependencies`\n\t\n### CheckOpenApiSecurityPlugin\nThis plugin runs a security analysis on the OpenAPI specification using OWASP ZAP. It runs the zap-api-scan.py script inside a Docker container to check for security vulnerabilities in the OpenAPI definition.\n\nUsage: `swift package --disable-sandbox check-openapi-security`\n\n### CheckOpenApiValidationPlugin\nThis plugin validates the OpenAPI specification for compliance with the OpenAPI standard. It uses the openapi-spec-validator tool inside a Docker container to perform the validation.\n\nUsage: `swift package --disable-sandbox check-openapi-validation`\n\n### CheckUnacceptableLanguagePlugin\nThis plugin checks the codebase for unacceptable language patterns. It uses a predefined list of unacceptable terms and searches the codebase for any matches, reporting them if found.\n\nUsage: `swift package --disable-sandbox check-unacceptable-language`\n\n### GenerateContributorsListPlugin\nThis plugin generates a list of contributors for the repository. It uses the git shortlog command to gather commit information and formats it into a CONTRIBUTORS.txt file.\n\nUsage: `swift package --disable-sandbox generate-contributors-list`\n\n### InstallSwiftFormatPlugin\nThis plugin installs the swift-format tool, the version can be optionally defined using the `-v` parameter. The default version is `510.1.0`.\n\nUsage: `swift package --disable-sandbox install-swift-format`\n\n### InstallSwiftOpenApiGeneratorPlugin\nThis plugin installs the Swift OpenAPI generator tool, the version can be optionally defined using the `-v` parameter. The default version is `1.2.1`.\n\nUsage: `swift package --disable-sandbox install-swift-openapi-generator`\n\n### RunChmodPlugin\nIt runs `chmod` on the `.build/plugins` directory to make sure the Bash scripts are executable.\n\nUsage: `swift package --disable-sandbox run-chmod`\n\t\n### RunCleanPlugin\nThis plugin cleans up build artifacts and other temporary files from the repository. \n\nUsage: `swift package --disable-sandbox run-clean`\n\n### RunOpenApiServerPlugin\nThis plugin serves the OpenAPI documentation using an Nginx server. This try to run inside a Docker container.\n\nOptional parameters:\n\n- `-n` : add a custom identifier for the container, the default is `openapi-server`\n- `-p` : add a custom port to bind it to the container, the default is `8888:80`\n\nUsage: `swift package --disable-sandbox run-openapi-server`\n\n### RunSwiftFormatPlugin\nThis plugin checks/formats Swift code using the swift-format tool. It runs the tool on all Swift files in the repository, optionally fixing some of the issues if the `--fix` argument is provided.\n\nUsage: `swift package --disable-sandbox run-swift-format` for run lint or `swift package--disable-sandbox run-swift-format --fix` for fixing\n\n## Makefile\n\nA Makefile is included in this repository to simplify the execution of the plugins. Copy it to the repository where the plugins will be used.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbinarybirds%2Fswift-plugins","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbinarybirds%2Fswift-plugins","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbinarybirds%2Fswift-plugins/lists"}