{"id":20837851,"url":"https://github.com/raguay/projectmanagerfig","last_synced_at":"2025-07-17T13:33:01.137Z","repository":{"id":39764448,"uuid":"291632511","full_name":"raguay/ProjectManagerFig","owner":"raguay","description":"This is an add-on application for fig. It allows for basic project management on the command line.","archived":false,"fork":false,"pushed_at":"2022-12-07T05:48:18.000Z","size":946,"stargazers_count":7,"open_issues_count":7,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-08T20:50:59.424Z","etag":null,"topics":["fig","project-management","svelte","svelte3"],"latest_commit_sha":null,"homepage":"","language":"Svelte","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/raguay.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}},"created_at":"2020-08-31T06:23:23.000Z","updated_at":"2023-03-20T11:47:52.000Z","dependencies_parsed_at":"2023-01-24T13:45:14.013Z","dependency_job_id":null,"html_url":"https://github.com/raguay/ProjectManagerFig","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/raguay/ProjectManagerFig","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raguay%2FProjectManagerFig","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raguay%2FProjectManagerFig/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raguay%2FProjectManagerFig/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raguay%2FProjectManagerFig/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/raguay","download_url":"https://codeload.github.com/raguay/ProjectManagerFig/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raguay%2FProjectManagerFig/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265611155,"owners_count":23797826,"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":["fig","project-management","svelte","svelte3"],"created_at":"2024-11-18T01:08:44.111Z","updated_at":"2025-07-17T13:33:01.115Z","avatar_url":"https://github.com/raguay.png","language":"Svelte","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Project Manager for Fig\n\nThis is a project manager application for the [fig](https://docs.withfig.com/) terminal \nassistant. This app will tie into my [Project Manager for fman](https://github.com/raguay/ProjectManager) \nand [Project Manager for Alfred](https://github.com/raguay/MyAlfred/blob/master/Alfred%204/Project%20Manager.alfredworkflow). \nIt will also use the editor defined by the $EDITOR environment variable or the editor defined \nby the My Editor Alfred workflow or the CurrentFiles script used with [BitBar](http://getbitbar.org), \n[TextBar](http://richsomerfield.com/apps/textbar/), and ScriptBar (my own version that isn't available yet).\nThe goal is to have a nice, integrated way to work in and change projects.\n\nYou can run your `npm`, `mask`, `maid`, `grunt`, and `gulp` scripts from this application. You don't have \nto be in the root directory either. It will move the current shell to the root directory, \nrun the script, and then go back to the directory you were in. If you don't have some of these \nit will not show them in the program. It also runs git status and commit commands.\n\n### Getting Current Directory\n\nThe current fig API doesn't give real time current directory path. Therefore, this application \naddon uses a file `~/.path` that should have the latest directory path. The easiest way to set \nit is to run `pwd \u003e ~/.path` inside the function for showing the shell prompt.\n\nIn Fish shell, you would add it to the function `fish_prompt`. My `fish_prompt` function is \n\n```\nfunction fish_prompt\n    pwd \u003e ~/.path\n    switch \"$fish_key_bindings\"\n        case fish_hybrid_key_bindings fish_vi_key_bindings\n            set keymap \"$fish_bind_mode\"\n        case '*'\n            set keymap insert\n    end\n    set -l exit_code $status\n    # Account for changes in variable name between v2.7 and v3.0\n    set -l starship_duration \"$CMD_DURATION$cmd_duration\"\n    \"/usr/local/bin/starship\" prompt --status=$exit_code --keymap=$keymap --cmd-duration=$starship_duration --jobs=(count (jobs -p))\nend\n```\n\nI am using [starship](https://starship.rs/) to create the prompt. The `fish_prompt` function \nhas the line to set current directory. This isn't the most ideal solution, but it does work. \n\nIf you don't have this file, then the application will use `fig.env.PWD` which has the \ndirectory that the application was opened on.\n\n### Installing\n\nCurrently, fig doesn't have a way to download third party applications like it does for \nrunbooks. Therefore, you need to download this full archive and place it in your `~/run` \ndirectory. You should then be able to use `fig projectmanagerfig` to run it, but that doesn't \nwork on my system. Therefore, you will need to run `fig local ~/run/projectmanagerfig/index.html`.\n\n### Features\n\n- Go to predefined projects\n- Edit the project directory\n- Delete the current project from the list of projects.\n- Edit maid, mask, npm, gulp, and grunt configuration files\n- Run tasks defined in maid, mask, npm, gulp, and grunt\n- Edit/Run the project startup script\n- Setup new project directories from the currently visited project in the shell\n- If the project has a git repository, the following is possible without having to be in the root directory of the project:\n    - get a status\n    - commit with a message\n- It will use the editor defined in the BitBar, TextBar, and Alfred CurrentFiles scripts. The editor is designated in the file `~/.myeditorchoice` and is ran with the `open` command. If the file doesn't exist, then it will run the editor defined by the $EDITOR environment variable.\n- Project templates: either local or on GitHub with a initializer script that will be ran after \ncopying.\n- Project Notes: a special directory `.notes` will contain notes you create for this project. It works with the [fman](https://fman.io/) [Notes plugin](https://github.com/raguay/Notes). You can edit, delete, and create new notes.\n- Better styling and dark mode \n\n### Ideals and Suggestions\n\nIf there is a feature you would like to see in the application or a bug, just create an issue in this \nrepository with the subject `[feature]` or `[bug]` in the subject line. I'm still working on:\n\n- Mask subcommands and parameters\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraguay%2Fprojectmanagerfig","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fraguay%2Fprojectmanagerfig","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraguay%2Fprojectmanagerfig/lists"}