{"id":20626323,"url":"https://github.com/tryfabric/memorable-milestones","last_synced_at":"2025-10-26T07:35:21.373Z","repository":{"id":42077379,"uuid":"260581306","full_name":"tryfabric/memorable-milestones","owner":"tryfabric","description":"A GitHub Action that puts your milestones on auto-pilot, using memorable emoji names 🤖","archived":false,"fork":false,"pushed_at":"2023-01-08T15:14:15.000Z","size":25283,"stargazers_count":24,"open_issues_count":7,"forks_count":4,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-12T09:48:16.388Z","etag":null,"topics":["auto-pilot","emoji","fabric","github-action","instantish","memorable-milestones","milestones","project-management","schedule","sprint"],"latest_commit_sha":null,"homepage":"https://itsinstantish.com","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tryfabric.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-05-01T23:55:20.000Z","updated_at":"2024-06-08T23:34:36.000Z","dependencies_parsed_at":"2023-02-08T06:31:13.078Z","dependency_job_id":null,"html_url":"https://github.com/tryfabric/memorable-milestones","commit_stats":{"total_commits":84,"total_committers":6,"mean_commits":14.0,"dds":"0.13095238095238093","last_synced_commit":"599f34a0548177368cdd6908bd358abb663231d6"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tryfabric%2Fmemorable-milestones","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tryfabric%2Fmemorable-milestones/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tryfabric%2Fmemorable-milestones/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tryfabric%2Fmemorable-milestones/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tryfabric","download_url":"https://codeload.github.com/tryfabric/memorable-milestones/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249094939,"owners_count":21211837,"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":["auto-pilot","emoji","fabric","github-action","instantish","memorable-milestones","milestones","project-management","schedule","sprint"],"created_at":"2024-11-16T13:12:42.145Z","updated_at":"2025-10-26T07:35:16.322Z","avatar_url":"https://github.com/tryfabric.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Memorable Milestones\n[![Memorable Milestones](https://res.cloudinary.com/m15y/image/upload/v1588977044/su/TJ5G67VHU/kmbjqinsp71vavcdth7j.svg)](https://github.com/instantish/memorable-milestones)\n\n🍎🚲🌵🦆🥚🥏🍇🐴🦞🗺🍊🦔☀️🎾☂️🍉\n\nAn opinionated GitHub Action that puts your milestones on auto-pilot, using memorable emoji names.\n\n**You won't have to create or close milestones again.**\n\nGenerates weekly milestones (up to 8 weeks out), rotating between 16 pre-selected and memorable emoji names.\n\nDue dates are set to every Thursday.\n\nCheck out this project's [milestones page](https://github.com/instantish/memorable-milestones/milestones) to see what the generated ones look like.\n\nYou can also follow our [Twitter bot](https://twitter.com/milestones_bot) to be notified when milestones start and end! 💝\n\n![Milestones](https://user-images.githubusercontent.com/1459660/81017934-4539da00-8e18-11ea-8dc0-3af3b1474944.png)\n\n\n**Benefits:**\n\n✅ easy one-time setup, with **no config needed**\n\n✅ automatically keeps schedule **up to date**\n\n✅ you don't have to come up with your own memorable names\n\n✅ the schedule is **global**, so you can collaborate with external teams easily\n\n✅ even **closes milestones** that have no more open issues or PRs, so you don't have to\n\n## Milestones\n\nThere are 16 weekly milestones. Names and due dates are pre-determined, so there's no setup!\n\nThe milestone schedule is **global**, meaning the `🍉  Watermelon` sprint finishes on\nAugust 27 2020 for everyone using this action. This makes it simple to collaborate across teams.\n\n### Due dates\n\nMilestones are weekly and the action will create 8 of them for 8 weeks out. The due dates are each Thursday.\n\n### Names\n\nThe names are designed to be easy to remember and distinct. Using emojis triggers the parts\nof our brains that are great at remembering pictures!\n\n**What makes these milestones memorable?**\n\nHere is the criteria used to *select* the 16 emojis:\n\n- emoji picture is not too small or zoomed out\n- emoji is not distractingly cutesy\n- the correct name of the emoji should immediately come to mind when you see it\n- knowing the emoji name, should be easy to find emoji and not confuse with another emoji\n- shouldn't make you hungry 😂\n- no scene-type emojis\n- emojis used shouldn't look similar\n- should have to do with nature or activities, not electronics\n- shouldn't be too positive-associated or negative-associated\n- shouldn't be strongly associated with a sprint type, like a 🧹 for cleanup sprint\n- One word and ideally less than 3 syllables\n\n**How is order determined?**\n\nHere is the criteria used to *order* the 16 emojis:\n\n- emojis of similar colour should not be next to each other\n- ideally, emojis of the same category should not be next to each other (food, activity, nature, animal)\n- names of emojis should be in alphabetical order so it's each to recall that apple was before bike\n\n**How is name formatting determined?**\n\nNames are one word and include the emoji and the name. Two spaces are put in between because that formatting\ntends to look better on GitHub and on Slack with the Instantish integration.\n\n**Cool, so what are the names?**\n\nHere are the names, followed by first due date (future due dates are a multiple of 16 weeks from then):\n\n`🍎  Apple` - May 14 2020\n`🚲  Bike` - May 21 2020\n`🌵  Cactus` - May 28 2020\n`🦆  Duck` - June 4 2020 (@marissamarym's bday 🧁)\n`🥚  Egg` - June 11 2020\n`🥏  Frisbee` - June 18 2020\n`🍇  Grape` - June 25 2020\n`🐴  Horse` - July 2 2020\n`🦞  Lobster` - July 9 2020\n`🗺  Map` - July 16 2020\n`🍊  Orange` - July 23 2020\n`🦔  Porcupine` - July 30 2020\n`☀️  Sun` - August 6 2020\n`🎾  Tennis` - August 13 2020\n`☂️  Umbrella` - August 20 2020\n`🍉  Watermelon` - August 27 2020\n\n\n## Functionality\n\nThis Action only creates or closes milestones (when they get to 100%). That means it doesn't\ndelete your current milestones or change their names or due dates. If a milestone with the exact same\nname exists, it does not recreate it or edit it.\n\nHave a holiday coming up or skipping a milestone? Just close it and it won't be recreated.\n\n## Usage\n\nActions are \"individual tasks that you can combine to create jobs and customize your workflow.\" You can use them by creating a file that ends in `.yml` in the `.github` directory of your repo. A nice convention is to create a directory within `.github` called `workflows`, but you can set it up any way you like.\n\nCreate a new file at the path `.github/workflows/milestones.yml` and copy the following verbatim:\n```yaml\nname: \"Memorable milestones\"\non:\n  schedule:\n  - cron: \"*/30 * * * *\"\n\njobs:\n  memorable-milestones:\n    runs-on: ubuntu-latest\n    steps:\n    - uses: instantish/memorable-milestones@2.0.1\n      with:\n        repo-token: ${{ secrets.GITHUB_TOKEN }}\n```\n\n\nSee [action.yml](./action.yml) for the full list of options.\n\nYou can add a badge to your repo's README (like [![Memorable Milestones](https://res.cloudinary.com/m15y/image/upload/v1588977044/su/TJ5G67VHU/kmbjqinsp71vavcdth7j.svg)](https://github.com/instantish/memorable-milestones)):\n\n```markdown\n[![Memorable Milestones](https://res.cloudinary.com/m15y/image/upload/v1588977044/su/TJ5G67VHU/kmbjqinsp71vavcdth7j.svg)](https://github.com/instantish/memorable-milestones)\n```\n\nIf you have questions about setting this up, feel free to reach out to hi@itsinstantish.com with subject line \"Question about GitHub Action\" 😊\n\n## Action minutes\n\nThis is a rough estimate, but on average, this action takes \u003c20s to run on Linux. Assuming it runs every 30 minutes and takes up to 30s, that's \u003c24 minutes a day, or \u003c744 minutes a month. This cost is per-repo.\n\nGitHub's free plan allocates 2k minutes for free, the team plan allocates 3k, and enterprise allocates 50k.\n\nIf you run this once a day, (cron: `0 0 * * *`) instead of once every 30 minutes (cron: `*/30 * * * *`), it should use \u003c15 minutes a month per repo, so you can configure it on up to ~100 repos without going over your free plan budget.\n\n## Debugging\n\nTo see debug ouput from this action, you must set the secret `ACTIONS_STEP_DEBUG` to `true` in your repository. You can run this action in debug only mode (no actions will be taken on your milestones) by passing `debug-only` `true` as an argument to the action.\n\n## Building and testing\n\nInstall the dependencies\n```bash\n$ npm install\n```\n\nBuild the typescript and package it for distribution\n```bash\n$ npm run build \u0026\u0026 npm run pack\n```\n\nRun the tests :heavy_check_mark:\n```bash\n$ npm test\n```\n\n---\n\nBuilt with 💙 by the team behind [Fabric](https://tryfabric.com).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftryfabric%2Fmemorable-milestones","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftryfabric%2Fmemorable-milestones","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftryfabric%2Fmemorable-milestones/lists"}