{"id":23490048,"url":"https://github.com/emrl/stir","last_synced_at":"2025-07-04T03:06:06.853Z","repository":{"id":35647186,"uuid":"39921887","full_name":"EMRL/stir","owner":"EMRL","description":"Designed to speed up, integrate, and automate maintaining and updating of Wordpress websites.","archived":false,"fork":false,"pushed_at":"2025-03-23T00:47:13.000Z","size":3541,"stargazers_count":5,"open_issues_count":6,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-15T04:37:28.746Z","etag":null,"topics":["bash-scripting","cron","dashboard","deployment","wordpress","wordpress-automation","wordpress-websites"],"latest_commit_sha":null,"homepage":"","language":"Shell","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/EMRL.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"zenodo":null}},"created_at":"2015-07-29T23:55:02.000Z","updated_at":"2025-03-23T00:47:16.000Z","dependencies_parsed_at":"2024-01-24T19:41:40.160Z","dependency_job_id":"45e1f68e-3693-4816-8941-baa0422401c2","html_url":"https://github.com/EMRL/stir","commit_stats":null,"previous_names":[],"tags_count":25,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EMRL%2Fstir","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EMRL%2Fstir/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EMRL%2Fstir/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EMRL%2Fstir/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/EMRL","download_url":"https://codeload.github.com/EMRL/stir/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EMRL%2Fstir/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":258674606,"owners_count":22739591,"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-scripting","cron","dashboard","deployment","wordpress","wordpress-automation","wordpress-websites"],"created_at":"2024-12-25T00:15:09.999Z","updated_at":"2025-07-04T03:06:06.825Z","avatar_url":"https://github.com/EMRL.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"﻿﻿![Stir](https://raw.githubusercontent.com/EMRL/stir/master/img/logo.png)\n\n[![release](https://img.shields.io/github/v/release/emrl/stir?sort=semver)](https://github.com/EMRL/stir/releases/latest)\n[![Github issues](https://img.shields.io/github/issues/emrl/stir)](https://github.com/EMRL/stir/issues)\n\n`stir` is designed to speed up, automate, and integrate project commits, management, and deployment. Its main focus is Wordpress websites, but it can be used with any code repository. \n\n[Changelog](https://github.com/EMRL/stir/blob/master/CHANGELOG.md) \u0026bull; [Known bugs](https://github.com/EMRL/stir/issues?q=is%3Aopen+is%3Aissue+label%3Abug) \u0026bull; [Installation](https://github.com/EMRL/stir/wiki)\n\n`stir` is in daily use at [EMRL](https://emrl.com), an advertising, design, and development agency in northern California. If you have any questions, please feel free to contact us.\n\nPlease note that there is quite a bit of setup involved in getting this running reliably. A full setup guide is coming soon™ but for now check out what we've got started in the [wiki documentation](https://github.com/EMRL/stir/wiki).\n\n## Startup Options\n\n```\nUsage: stir [options] [target] ...\nOptions:\n  -F, --force            Skip all user interaction, forces 'Yes' to all actions\n  -S, --skip-update      Skip any Wordpress core/plugin updates\n  -u, --update           If no available Wordpress updates, halt deployment\n  -U, --update-only      Deploy only Wordpresss plugin/core updates\n  -D, --deploy           Deploy current production code to live environment\n  -m, --merge            Force merge of all branches\n  -c, --current          Deploy a project from current directory          \n  -t, --time             Add time to project management integration\n  -p, --prepare          Clone and setup local Wordpress project\n  -V, --verbose          Output more process information to screen\n  -q, --quiet            Display minimal output on screen\n  -v, --version          Output version information and exit\n  -h, --help             Display this help and exit\n  -H, --more-help        Display extended help and exit\n\nOther Options:\n  --automate             For unattended execution via cron\n  --build                Build project assets\n  --prepare              Prepare project\n  --reset                Resets local project files\n  --prepare-with-reset   Reset and prepare project\n  --digest               Create and send weekly digest\n  --report               Create a monthly activity report\n  --no-check             Override active file and server checks\n  --stats                Generate project statistics pages\n  --invoice              Create an invoice\n  --strict               Any error will halt deployment completely\n  --debug                Run in debug mode\n  --debug-to-file        Save debug output to a file\n  --unlock               Delete expired lock files\n  --repair               Repair a deployment after merge failure\n  --scan                 Scan production hosts for malware issues\n  --update-acf           Force an update or reinstall of ACF Pro\n  --test-ssh             Validate SSH key setup\n  --test-email           Test email configuration\n  --test-slack           Test Slack integration\n  --test-webhook         Test webhook integration  \n  --test-analytics       Test Google Analytics authentication\n  --test-monitor         Test production server uptime and latency monitoring\n  --test-mautic          Test Mautic integration\n  --test-bugsnag         Test Bugsnag integration\n  --show-settings        Display current global and project settings\n  --function-list        Output a list of all functions()\n  --variable-list        Output a project's declared variables\n```\n\n## How It Works\n\n`stir` consolidates a boatload of functions into a single command that simplifies web app deployment from a development or staging environment to a production server. It also can provide clients with a dashboard of information about their project.\n\n![Dashboard](https://raw.githubusercontent.com/EMRL/stir/master/img/dashboard.png)\n\n`stir` requires [`git`](https://git-scm.com/), and will make use of [`wp-cli`](http://wp-cli.org/), [`grunt`](http://gruntjs.com/), [`npm`](https://www.npmjs.com/), [`composer`](https://getcomposer.org/), and  [`mina`](http://nadarei.co/mina/) if they are installed.\n\n## Installation\n\n`stir` can be run from anywhere, but if you'd like it to be installed server-wide follow the instructions below. \n\n1. In the `stir` directory, type `sudo ./install/doinst.sh` and enter your sudo password when/if asked\n2. That's it. By default `stir` is installed to `/usr/local/bin/` and support files are installed to `/etc/stir/`\n\n## Configuration\n\nConfiguration is handled globally in the `/etc/stir/global.conf` file. Individual users also have their own settings in `~/.stirrc`\n\nRepositories can each have their own configuration. An example of this file can be [found here](https://github.com/EMRL/stir/blob/master/etc/stir-global.conf).\n\n## Integration\n\n`stir` is able to integrate with many third-party platforms, including [Slack](https://slack.com), [Google Analytics](https://google.com/analytics/), [PHP Server Monitor](https://phpservermonitor.org), [Bugsnag](https://bugsnag.com), [Invoice Ninja](https://invoiceninja.com), [Mautic](https://mautic.org), and more. Check out the [integration wiki](https://github.com/EMRL/stir/wiki/Integration) for more information.\n\n## Autopilot\n\n`stir --automate` works well for unattended updates of Wordpress sites; great for maintaining updates via a cron. An example cron script can be [found here](https://github.com/EMRL/stir/blob/master/etc/cron/stir.cron.example). Running in this mode, the project will only be deployed if there are Wordpress core or plugin updates. If other code changes are detected the project will not be auto-updated. Smart Commits must be enabled or nothing will be deployed.\n\n## Contact\n\n* \u003chttps://emrl.com/\u003e\n* \u003chttps://www.facebook.com/advertisingisnotacrime\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femrl%2Fstir","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Femrl%2Fstir","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femrl%2Fstir/lists"}