mirror of
https://github.com/atom/atom.git
synced 2026-01-24 06:18:03 -05:00
Per PR feedback, splitting out package-specific development information into its own document.
53 lines
2.2 KiB
Markdown
53 lines
2.2 KiB
Markdown
# Contributing to Official Atom Packages
|
|
|
|
If you think you know which package is causing the issue you are reporting, feel
|
|
free to open up the issue in that specific repository instead. When in doubt
|
|
just open the issue here but be aware that it may get closed here and reopened
|
|
in the proper package's repository.
|
|
|
|
## Hacking on Packages
|
|
|
|
### Cloning
|
|
|
|
The first step is creating your own clone. You can of course do this manually
|
|
with git, or you can use the `apm develop` command to create a clone based on
|
|
the package's `repository` field in the `package.json`.
|
|
|
|
For example, if you want to make changes to the `tree-view` package, run the
|
|
following command:
|
|
|
|
```
|
|
> apm develop tree-view
|
|
Cloning https://github.com/atom/tree-view ✓
|
|
Installing modules ✓
|
|
~/.atom/dev/packages/tree-view -> ~/github/tree-view
|
|
```
|
|
|
|
This clones the `tree-view` repository to `~/github`. If you prefer a different
|
|
path, specify it via the `ATOM_REPOS_HOME` environment variable.
|
|
|
|
### Running in Development Mode
|
|
|
|
Editing a package in Atom is a bit of a circular experience: you're using Atom
|
|
to modify itself. What happens if you temporarily break something? You don't
|
|
want the version of Atom you're using to edit to become useless in the process.
|
|
For this reason, you'll only want to load packages in **development mode** while
|
|
you are working on them. You'll perform your editing in **stable mode**, only
|
|
switching to development mode to test your changes.
|
|
|
|
To open a development mode window, use the "Application: Open Dev" command,
|
|
which is normally bound to `cmd-shift-o`. You can also run dev mode from the
|
|
command line with `atom --dev`.
|
|
|
|
To load your package in development mode, create a symlink to it in
|
|
`~/.atom/dev/packages`. This occurs automatically when you clone the package
|
|
with `apm develop`. You can also run `apm link --dev` and `apm unlink --dev`
|
|
from the package directory to create and remove dev-mode symlinks.
|
|
|
|
### Installing Dependencies
|
|
|
|
Finally, you need to install the cloned package's dependencies by running
|
|
`apm install` within the package directory. This step is also performed
|
|
automatically the first time you run `apm develop`, but you'll want to keep
|
|
dependencies up to date by running `apm update` after pulling upstream changes.
|