{"id":13991801,"url":"https://github.com/danielbrodin/atom-project-manager","last_synced_at":"2025-07-22T14:32:09.411Z","repository":{"id":15184045,"uuid":"17912038","full_name":"danielbrodin/atom-project-manager","owner":"danielbrodin","description":"Project manager for the Atom editor","archived":true,"fork":false,"pushed_at":"2022-02-02T00:16:23.000Z","size":537,"stargazers_count":511,"open_issues_count":0,"forks_count":69,"subscribers_count":8,"default_branch":"master","last_synced_at":"2024-08-10T14:07:05.945Z","etag":null,"topics":["atom","atom-package","javascript"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":false,"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/danielbrodin.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-03-19T16:37:49.000Z","updated_at":"2024-06-01T12:41:19.000Z","dependencies_parsed_at":"2022-08-29T01:30:53.296Z","dependency_job_id":null,"html_url":"https://github.com/danielbrodin/atom-project-manager","commit_stats":null,"previous_names":[],"tags_count":104,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielbrodin%2Fatom-project-manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielbrodin%2Fatom-project-manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielbrodin%2Fatom-project-manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielbrodin%2Fatom-project-manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/danielbrodin","download_url":"https://codeload.github.com/danielbrodin/atom-project-manager/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227123995,"owners_count":17734238,"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":["atom","atom-package","javascript"],"created_at":"2024-08-09T14:01:36.080Z","updated_at":"2024-11-29T12:30:46.735Z","avatar_url":"https://github.com/danielbrodin.png","language":"JavaScript","readme":"# Project Manager\n[![Build status](https://travis-ci.org/danielbrodin/atom-project-manager.svg?branch=master)](https://travis-ci.org/danielbrodin/atom-project-manager/)\n[![apm](https://img.shields.io/apm/dm/project-manager.svg)](https://atom.io/packages/project-manager)\n[![apm](https://img.shields.io/apm/v/project-manager.svg)]()\n\n[![Paypal Donations](https://www.paypalobjects.com/en_US/i/btn/btn_donate_SM.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations\u0026business=DR4XQWAZV6M2A\u0026lc=SE\u0026item_name=Project%20Manager\u0026item_number=atom%2dproject%2dmanager\u0026currency_code=EUR\u0026bn=PP%2dDonationsBF%3abtn_donate_SM%2egif%3aNonHosted) a :beer: if you enjoy using the [project manager](https://github.com/danielbrodin/atom-project-manager) :)\n\n![Project Manager](https://raw.github.com/danielbrodin/atom-project-manager/master/project-manager.gif)\n\n\nGet easy access to all your projects and manage them with project specific settings and options.\n\n## Install\n```\n$ apm install project-manager\n```\nYou can also open Atom and go to Preferences \u003e Install and search for `project-manager`\n\n\n## Use\n### List Projects\n`ctrl-cmd-p` (mac) / `alt-shift-P` (win \u0026 linux) or `Project Manager: List Projects` in the Command Palette.\n\nProjects can be filtered by `title`, `group` and `template` by typing `group: atom` which would give all projects with the `atom` group.\n\n\n### Save Project\n`Project Manager: Save Project` in the Command Palette and write the title you want to save the project as.\n\n### Edit Project\n`Project Manager: Edit Project` will open a page where you can edit the current project. It currently only supports certain fields.\n\n### Edit Projects\nAll projects are saved in a `.cson` file which you can easily reach by searching for `Project Manager: Edit Projects` in the Command Palette.\n\n## Project Settings\n\nsetting    | Type      | Description                                                                                                                                           | Default               \n-----------|-----------|-------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------\n`title`    | `string`  | Projects title. Used in the projects list                                                                                                | `''`                  \n`paths`    | `array`   | The folders that will open in the tree view. First path is the main one that counts as the project.                                                   | `[]`                  \n`settings` | `Object`  | Enables you to set project specific settings. Everything that goes in the `config.cson` file can go here. It also supports scoped settings.           | `{}`                  \n`icon`     | `string`  | Icon that shows in the projects list. It's class-based so can either be a class already provided by Atom like `icon-squirrel` or a class of your own. You can find a list of all icons on [octicons.github.com](https://octicons.github.com/). | `'icon-chevron-right'`\n`devMode`  | `boolean` | `true` if project should open in dev mode. [Look here][devMode] for more info.                                                                        | `false`               \n`group`    | `string`  | Adds a group to the projects list that can be used to group and filter projects                                                                       | `null`                \n`template` | `string`  | If you add a project in the `projects.cson` file without `paths` it will count as a template. This way you can easily share settings between projects | `null`                \n\n### Local settings file\nAll these settings can be added to a `project.cson` file in the root folder of the project. It follows the below example, but without the array.\n\n### Example\n```coffeescript\n[\n  {\n    title: 'Project Manager'\n    group: 'Atom'\n    paths: [\n      '/path/to/project-manager'\n    ]\n    devMode: true\n    settings:\n      'editor.tabLength': 4\n      'editor.showInvisibles': true\n  }\n]\n\n```\n\n## Provider\nIf you want to use the projects available through the Project Manager you can use the provided methods.\n\n```javascript\nfunction consumeProjectManager({ getProjects, getProject, saveProject, openProject } =\u003e {\n  /**\n   * Get an array containing all projects.\n   * The callback will be run each time a project is added.\n   * Returns a Disposable.\n   */\n  disposables.add( getProjects(projects =\u003e {\n    // Do something with the projects.\n  }));\n\n  /**\n   * Get the currently active project.\n   * The callback will be run whenever the active project changes.\n   * Returns a Disposable.\n   */\n  disposables.add( getProject(project =\u003e {\n    if (project) {\n      // We have an active project.\n    } else {\n      // Project is either not loaded yet, or there is no project saved.\n    }\n  }));\n\n  /**\n   * Can take either a project recieved from getProjects/getProject or\n   * just an object with the props for a new project.\n   */\n  saveProject(project);\n\n  /**\n   * Will open the project.\n   * `openInSameWindow` should be true if the project should open up in the\n   * current window.\n   */\n  openProject(project, openInSameWindow);\n});\n\n```\n\n\n## Contribute\nIf you would like to contribute to the project manager, be it new features or bugs,\nplease do the following:\n\n1. Fork the repository\n2. Create a new topic branch off the master branch that describe what it does\n3. Commit and push the branch\n4. Make a pull request describing what you have done\n5. Now it will hopefully get merged :)\n\nAll PR's should:\n- Pass the [eslint](https://atom.io/packages/linter-eslint) linter\n- Add a test when it makes sense, which should be most of the time\n\n[devMode]: https://atom.io/docs/api/v1.11.2/AtomEnvironment#instance-open\n","funding_links":["https://www.paypal.com/cgi-bin/webscr?cmd=_donations\u0026business=DR4XQWAZV6M2A\u0026lc=SE\u0026item_name=Project%20Manager\u0026item_number=atom%2dproject%2dmanager\u0026currency_code=EUR\u0026bn=PP%2dDonationsBF%3abtn_donate_SM%2egif%3aNonHosted"],"categories":["Editors","JavaScript"],"sub_categories":["Atom"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanielbrodin%2Fatom-project-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdanielbrodin%2Fatom-project-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanielbrodin%2Fatom-project-manager/lists"}