@rtorr/nah 1.0.13 → 1.0.15
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 +41 -8
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -20,25 +20,25 @@ NAH eliminates this by making applications self-describing. Apps declare what th
|
|
|
20
20
|
## Example
|
|
21
21
|
|
|
22
22
|
```bash
|
|
23
|
-
# Install
|
|
24
|
-
nah
|
|
25
|
-
nah
|
|
23
|
+
# Install packages (auto-detects .nap/.nak)
|
|
24
|
+
nah install vendor-sdk-2.1.0.nak
|
|
25
|
+
nah install myapp-1.0.0.nap
|
|
26
26
|
|
|
27
27
|
# Or install directly from URLs
|
|
28
|
-
nah
|
|
29
|
-
nah
|
|
28
|
+
nah install https://example.com/vendor-sdk-2.1.0.nak
|
|
29
|
+
nah install https://example.com/myapp-1.0.0.nap
|
|
30
30
|
|
|
31
31
|
# Query the launch contract
|
|
32
|
-
nah
|
|
32
|
+
nah status com.example.myapp
|
|
33
33
|
```
|
|
34
34
|
|
|
35
35
|
```
|
|
36
36
|
Application: com.example.myapp v1.0.0
|
|
37
|
-
|
|
37
|
+
NAK: com.vendor.sdk v2.1.0
|
|
38
38
|
Binary: /opt/nah/apps/com.example.myapp-1.0.0/bin/myapp
|
|
39
39
|
CWD: /opt/nah/apps/com.example.myapp-1.0.0
|
|
40
40
|
Library Paths: /opt/nah/naks/com.vendor.sdk/2.1.0/lib
|
|
41
|
-
Environment:
|
|
41
|
+
Environment (NAH_*):
|
|
42
42
|
NAH_APP_ID=com.example.myapp
|
|
43
43
|
NAH_APP_VERSION=1.0.0
|
|
44
44
|
NAH_NAK_ROOT=/opt/nah/naks/com.vendor.sdk/2.1.0
|
|
@@ -46,6 +46,37 @@ Environment:
|
|
|
46
46
|
|
|
47
47
|
The contract is deterministic. Same inputs, same output. Auditable before execution.
|
|
48
48
|
|
|
49
|
+
## CLI Overview
|
|
50
|
+
|
|
51
|
+
```
|
|
52
|
+
nah install <source> Install app or NAK (auto-detected from .nap/.nak)
|
|
53
|
+
nah uninstall <id> Remove an installed package
|
|
54
|
+
nah list List installed apps and NAKs
|
|
55
|
+
nah pack <dir> Create a .nap or .nak package
|
|
56
|
+
nah status [target] Show status, validate files, diagnose issues
|
|
57
|
+
nah init <type> <dir> Create new project (app, nak, or root)
|
|
58
|
+
nah profile list|set Manage host profiles
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## Decision Flowchart
|
|
62
|
+
|
|
63
|
+
```
|
|
64
|
+
What are you building?
|
|
65
|
+
│
|
|
66
|
+
├─ An application that uses an SDK
|
|
67
|
+
│ └─ Create an app with: nah init app ./myapp
|
|
68
|
+
│ Then install with: nah install myapp.nap
|
|
69
|
+
│
|
|
70
|
+
├─ An SDK/framework for apps to use
|
|
71
|
+
│ └─ Create a NAK with: nah init nak ./mysdk
|
|
72
|
+
│ Then install with: nah install mysdk.nak
|
|
73
|
+
│
|
|
74
|
+
└─ A host to run NAH applications
|
|
75
|
+
└─ Create a root with: nah init root ./my-nah
|
|
76
|
+
Then install packages: nah install <package>
|
|
77
|
+
Then check status: nah status
|
|
78
|
+
```
|
|
79
|
+
|
|
49
80
|
## Key Properties
|
|
50
81
|
|
|
51
82
|
- **No network at launch time**: Contract composition uses only local state
|
|
@@ -99,11 +130,13 @@ target_link_libraries(your_target PRIVATE nahhost)
|
|
|
99
130
|
|
|
100
131
|
| Document | Description |
|
|
101
132
|
|----------|-------------|
|
|
133
|
+
| [How It Works](docs/how-it-works.md) | Internals of the launch contract system |
|
|
102
134
|
| [Concepts](docs/concepts.md) | Core terminology: manifests, NAKs, profiles, contracts |
|
|
103
135
|
| [Getting Started: Host](docs/getting-started-host.md) | Set up a host and deploy applications |
|
|
104
136
|
| [Getting Started: SDK](docs/getting-started-nak.md) | Package an SDK for distribution |
|
|
105
137
|
| [Getting Started: App](docs/getting-started-app.md) | Build an application with a manifest |
|
|
106
138
|
| [CLI Reference](docs/cli.md) | Command-line interface documentation |
|
|
139
|
+
| [Troubleshooting](docs/troubleshooting.md) | Common issues and solutions |
|
|
107
140
|
| [Specification](SPEC.md) | Normative specification |
|
|
108
141
|
| [Contributing](CONTRIBUTING.md) | Development setup and releasing |
|
|
109
142
|
|