@the-coded/pstash 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -42
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -28,8 +28,6 @@ pstash pop
|
|
|
28
28
|
|
|
29
29
|
- [Table of Contents](#table-of-contents)
|
|
30
30
|
- [Overview](#overview)
|
|
31
|
-
- [How it works](#how-it-works)
|
|
32
|
-
- [Architecture](#architecture)
|
|
33
31
|
- [Installation](#installation)
|
|
34
32
|
- [Quick Start](#quick-start)
|
|
35
33
|
- [1. Create a private data repo](#1-create-a-private-data-repo)
|
|
@@ -71,46 +69,6 @@ pstash pop
|
|
|
71
69
|
- **Organized** — grouped by project, tagged, searchable
|
|
72
70
|
- **Multi-machine** — synced via a private git repo
|
|
73
71
|
|
|
74
|
-
### How it works
|
|
75
|
-
|
|
76
|
-
1. You have a private **data repo** (e.g. `my-personal-stash` on GitHub)
|
|
77
|
-
2. `pstash init` clones it to `~/.pstash` and creates `~/.pstashrc`
|
|
78
|
-
3. `pstash save` copies your files into `~/.pstash/<project>/<stash-id>/`
|
|
79
|
-
4. A `.stash.json` metadata file is written alongside the files
|
|
80
|
-
5. Changes are committed and (optionally) pushed to remote
|
|
81
|
-
6. `pstash pop` or `pstash apply` restores files back to your project
|
|
82
|
-
|
|
83
|
-
---
|
|
84
|
-
|
|
85
|
-
## Architecture
|
|
86
|
-
|
|
87
|
-
```
|
|
88
|
-
pstash-cli/ ← this package (CLI code)
|
|
89
|
-
src/
|
|
90
|
-
cli.ts ← Commander.js setup + command registration
|
|
91
|
-
commands/ ← one file per command
|
|
92
|
-
core/
|
|
93
|
-
stasher.ts ← save() / update() / restore() / delete() / list()
|
|
94
|
-
indexer.ts ← manages .project.json
|
|
95
|
-
detector.ts ← project name detection (git remote / dirname)
|
|
96
|
-
git.ts ← simple-git wrapper
|
|
97
|
-
compressor.ts ← tar.gz compress/decompress
|
|
98
|
-
config/
|
|
99
|
-
loader.ts ← ~/.pstashrc read/write/validate
|
|
100
|
-
schemas.ts ← Zod SSoT for all types
|
|
101
|
-
utils/ ← fs, format, time, validation, prompts
|
|
102
|
-
|
|
103
|
-
~/.pstashrc ← global config (JSON)
|
|
104
|
-
~/.pstash/ ← local clone of your data repo
|
|
105
|
-
<project>/
|
|
106
|
-
.project.json ← project index (count, size, aliases)
|
|
107
|
-
<stash-id>/
|
|
108
|
-
.stash.json ← stash metadata
|
|
109
|
-
<your-files> ← stashed files (or stash.tar.gz)
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
**Two-repo design**: The CLI code (`pstash` npm package) is separate from the data repo (`my-personal-stash`). The data repo is yours — private, versioned by git, never published to npm.
|
|
113
|
-
|
|
114
72
|
---
|
|
115
73
|
|
|
116
74
|
## Installation
|