aws-amplify / aws-amplify/amplify-cli

Have Amplify CLI follow the XDG Base Directory specification

Open
#13,996 2 comments 0 reactions 0 assignees View on GitHub
feature-request ops-general platform
Dominant language
TypeScript
Stars
2.9k
Forks
825
Avg merge
11d 23h
Merged PRs (30d)
2

Description

### Is this feature request related to a new or existing Amplify category?

New category

### Is this related to another service?

_No response_

### Describe the feature you'd like to request

Move the `.amplify` directory from the user's home directory to another location, by default, or via a environment variable / CLI argument.

### Describe the solution you'd like

The CLI creates a directory in the user's home directory called `.amplify`.

A more appropriate location would be `.local/share/amplify`, according to the XDG spec.

The `bin`, `lib` and `logs` subdirectories of `.amplify` could also be split among the standard contents of the `.local` dir.

An easier and quicker solution, that most would find sufficient is to allow for the location of the `.amplify` folder to be configured via a config file, environment variable, or command line argument. In that case; the structure would not be altered and the default could remain the same; in case that's important for backwards compatibility or something else.

### Describe alternatives you've considered

I could find no information that suggests that this is currently possible. One alternative is to use symlinks, but that is not a solution for those intent on reducing clutter in their home directory.

### Additional context

_No response_

### Is this something that you'd be interested in working on?

- [ ] 👋 I may be able to implement this feature request

### Would this feature include a breaking change?

- [X] ⚠️ This feature might incur a breaking change

Contributor guide

Open the contributing guide

Research direction

No files, tests, or entry points are named. Start by locating where the CLI creates and resolves the user's .amplify directory, then review how configuration, environment variables, and command-line arguments are handled. Done means defining an agreed XDG-compatible or configurable location without leaving the migration and backwards-compatibility behavior ambiguous.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
cli
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.