{"id":16335957,"url":"https://github.com/saschagrunert/seer","last_synced_at":"2025-11-03T09:30:40.749Z","repository":{"id":78566240,"uuid":"115761157","full_name":"saschagrunert/seer","owner":"saschagrunert","description":"A collaborative resource planning tool 🔮","archived":false,"fork":false,"pushed_at":"2018-04-29T11:04:51.000Z","size":164,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-12-27T04:08:34.669Z","etag":null,"topics":["collaboration","haskell","planning","productvision","resource","roadmap","schedule","tool","vision"],"latest_commit_sha":null,"homepage":"","language":"Haskell","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/saschagrunert.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}},"created_at":"2017-12-29T23:30:58.000Z","updated_at":"2023-09-06T12:51:28.000Z","dependencies_parsed_at":"2023-03-12T04:38:26.580Z","dependency_job_id":null,"html_url":"https://github.com/saschagrunert/seer","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/saschagrunert%2Fseer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saschagrunert%2Fseer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saschagrunert%2Fseer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saschagrunert%2Fseer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/saschagrunert","download_url":"https://codeload.github.com/saschagrunert/seer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239412471,"owners_count":19634016,"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":["collaboration","haskell","planning","productvision","resource","roadmap","schedule","tool","vision"],"created_at":"2024-10-10T23:42:49.738Z","updated_at":"2025-02-18T05:16:28.301Z","avatar_url":"https://github.com/saschagrunert.png","language":"Haskell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# seer 🔮\n[![Build Status](https://travis-ci.org/saschagrunert/seer.svg)](https://travis-ci.org/saschagrunert/seer) [![Build status](https://ci.appveyor.com/api/projects/status/1bjn2k6rjlsldu0b?svg=true)](https://ci.appveyor.com/project/saschagrunert/seer) [![License MIT](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/saschagrunert/seer/blob/master/LICENSE) [![Development Status](https://img.shields.io/badge/status-in%20development-yellow.svg)](#about)\n\n## A collaborative resource planning tool\n\nTable of contents:\n\n- [About](#about)\n- [Installation](#installation)\n- [Usage](#usage)\n- [Hacking](#hacking)\n- [Contributing](#contributing)\n\n---\n\n## About\nA lots of development teams and whole companies facing the problem of planning\ntheir time in an efficient manner. This can have various reasons, like too many\nongoing work or unclear requirements from customers. This ends up mostly in not\nhaving any clear vision at all which affects the daily development and will lead\ninto bad software quality.\n\nIf there is no clear vision it is hard to develop a good roadmap. If there is no\ngood roadmap it is hard to do the weekly planning.\n\n**This is where the seer comes in.**\n\n## Installation\nThe project is currently under development which means there is no official\nrelease yet.\n\n## Usage\nAfter the installation Seer can be used via the command line:\n\n```console\n\u003e seer\nseer - A collaborative resource planning tool\n\nUsage: seer COMMAND [--version]\n\nAvailable options:\n  --version                Print the current version\n  -h,--help                Show this help text\n\nBasic commands:\n  config                   Configure the environment\n  get                      Display one or many entities\n  create                   Create an entity\n  delete                   Delete an entity\n  edit                     Edit an entity\n  view                     View the Agenda\n\nMore info at \u003chttps://github.com/saschagrunert/seer\u003e\n```\n\n### Storages\n#### Create a Storage instance\nThe first thing to be done is to create a storage instance.\n\n```console\n\u003e seer create storage myLocalStorage\n✓ Done\n```\n\nOptionally it is possible to provide a remote location for the storage, which\nshould be an empty git repository.\n\n```console\n\u003e seer create storage myStorage -r git@github.com:saschagrunert/seer-storage.git\n✓ Done\n```\n\n#### Listing Storages\nThe get an overview about the available Storage instances simply execute:\n\n```console\n\u003e seer get storages\nNAME            REMOTE\nmyLocalStorage\nmyStorage       git@github.com:saschagrunert/seer-storage.git\n```\n\n### Config\nPer default, the last created storage is currently selected. The Config can be\nchanged to select another Storage:\n\n```console\n\u003e seer config get\n#  STORAGE    CREATED\n1  myStorage  01.04.18 12:26\n\n\u003e seer config set-storage myLocalStorage\n✓ Done\n\n\u003e seer config get\n#  STORAGE         CREATED\n1  myLocalStorage  01.04.18 12:26\n```\n\n### Resources\n#### Creating Resources\nOne of the basic entities of Seer are Resources. A Resource can be anything you\ncan imagine which has an available amount of time. For example, team members are\nresources, but something like rental cars can be resources too. To create a\nresource called \"me\" which is available on Mondays from 10:00-18:00 and Fridays\nfrom 10:00-15:00, execute:\n\n```console\n\u003e seer create resource me -m 10-18 -f 10-15\n✓ Done\n```\n\nGenerally, Resources have a name, an optionally description and a weekly\navailability. All options can be seen using the help:\n\n```console\n\u003e seer create resource -h\nThe option `-h` expects an argument.\n\nUsage: seer create resource NAME [-d|--description DESCRIPTION]\n                            [-m|--mon HH[:MM]-HH[:MM]]\n                            [-t|--tue HH[:MM]-HH[:MM]]\n                            [-w|--wed HH[:MM]-HH[:MM]]\n                            [-h|--thu HH[:MM]-HH[:MM]]\n                            [-f|--fri HH[:MM]-HH[:MM]]\n                            [-s|--sat HH[:MM]-HH[:MM]]\n                            [-u|--sun HH[:MM]-HH[:MM]]\n  Create a new Resource within the default Storage\n\nAvailable options:\n  -d,--description DESCRIPTION\n                           Optional description for the Resource\n  -m,--mon HH[:MM]-HH[:MM] Monday availability\n  -t,--tue HH[:MM]-HH[:MM] Tuesday availability\n  -w,--wed HH[:MM]-HH[:MM] Wednesday availability\n  -h,--thu HH[:MM]-HH[:MM] Thursday availability\n  -f,--fri HH[:MM]-HH[:MM] Friday availability\n  -s,--sat HH[:MM]-HH[:MM] Saturday availability\n  -u,--sun HH[:MM]-HH[:MM] Sunday availability\n  -h,--help                Show this help text\n```\n\n#### Listing Resources\nAll available Resources can be listed using:\n\n```console\n\u003e seer get resources\n#  NAME  DESCRIPTION  Mon          Tue  Wed  Thu  Fri          Sat  Sun  CREATED\n1  me                 10:00-18:00                 10:00-15:00            01.04.18 13:13\n```\n\n#### Editing Resources\nResources can be edited too, like this:\n\n```console\n\u003e seer edit resource me -m 10-19 -f 10-15\n✓ Done\n```\n\nNow the Resource will be updated:\n\n```console\n\u003e seer get resources\n#  NAME  DESCRIPTION  Mon          Tue  Wed  Thu  Fri          Sat  Sun  CREATED\n1  me                 10:00-19:00                 10:00-15:00            01.04.18 13:13\n```\n\n### Actions\n#### Creating Actions\nThe second base entities are Actions. An Action can be anything you can imagine\nwhich consumes time. For example, tasks are actions. To create an action called\n\"myTask\" which takes two hours time execute:\n\n```console\n\u003e seer create action myTask 2h\n✓ Done\n```\n\nGenerally, Actions have a name, an optionally description and a duration. All\noptions can be seen using the help:\n\n```console\n\u003e seer create resource -h\n\nUsage: seer create action NAME DURATION [-d|--description DESCRIPTION]\n  Create a new Action within the default Storage\n\nAvailable options:\n  DURATION                 The time the action will take, like '1y', '2w', '3d',\n                           '4h', '5m'\n  -d,--description DESCRIPTION\n                           Optional description for the Action\n  -h,--help                Show this help text\n```\n\n#### Listing Actions\nAll available Actions can be listed using:\n\n```console\n\u003e seer get actions\n#  NAME    DESCRIPTION  DURATION  CREATED\n1  myTask               2h        29.04.18 11:49\n```\n\n#### Editing Actions\nActions can be edited too, like this:\n\n```console\n\u003e seer edit action myTask -r 1h\n✓ Done\n```\n\nNow the Action will be updated:\n\n```console\n#  NAME    DESCRIPTION  DURATION  CREATED\n1  myTask               1h        29.04.18 11:49\n```\n\n### Schedules\n#### Creating Schedules\nThe last base entities are Schedules. Schedules glue Actions and Resource\ntogether to a real time plan. To create an Schedule between the Action \"myTask\"\nand the Resource \"me\", execute:\n\n```console\n\u003e seer create schedule now me myTask\nUsing calculated date range: 30.04.18 10:00 - 30.04.18 11:00\n✓ Done\n```\n\nSeer automatically selects the next available time slot for this task, if not\nalready blocked by another task.\n\nGenerally, Schedules have a Resource, an Action and a starting date. All options\ncan be seen using the help:\n\n```console\n\u003e seer create schedule -h\nUsage: seer create schedule START RESOURCE ACTION\n  Create a new Schedule within the default Storage\n\n  Available options:\n    START                    The date and time when the Schedule starts\n    RESOURCE                 The name of the Resource which should be used\n    ACTION                   The name of the Action which should be done\n    -h,--help                Show this help text\n```\n\nThe start date parser supports absolute dates (in EU and US format) and relative\ndates (like \"next monday\", \"now\").\n\n#### Listing Schedules\nTo get an overview about all Schedules, execute:\n\n```console\n\u003e seer get schedules\n#  FROM            TO              Σ   RESOURCE  ACTION  CREATED\n1  30.04.18 10:00  30.04.18 11:00  1h  me        myTask  29.04.18 11:55\n```\n\nAlternatively a more agenda based view is available too:\n\n```console\n\u003e seer view\nMon [30.04] 10:00 ↦ myTask (me)\n            11:00 ⇥ myTask (me)\n```\n\n#### Editing Schedules\nSchedules can be edited too. So it should be possible to reschedule if the\ntime slot is available, change the Action or even the Resource of the Schedule.\n\nFor example, to change the Schedule with the number `1` (referenced from the\n`seer get schedules` command) to the next 5th May:\n\n```console\n\u003e seer edit schedule 1 -s \"7. may\"\n✓ Done\n```\n\nNow the Schedule should be changed as intended:\n\n```console\n\u003e seer get schedules\n#  FROM            TO              Σ   RESOURCE  ACTION  CREATED\n1  07.05.18 10:00  07.05.18 11:00  1h  me        myTask  29.04.18 11:55\n```\n\n## Hacking\nTo start hacking simply clone this repository and make sure that\n[stack](https://docs.haskellstack.org/en/stable/README/) is installed. Then\nsimply hack around and build the project with:\n\n```console\n\u003e stack build --file-watch\n```\n\n## Contributing\nYou want to contribute to this project? Wow, thanks! So please just fork it and\nsend me a pull request.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaschagrunert%2Fseer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsaschagrunert%2Fseer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaschagrunert%2Fseer/lists"}