@1endpoint/coding-helper 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 CHANGED
@@ -110,7 +110,7 @@ yarn test
110
110
  yarn pack --out ../coding-helper-0.1.0.tgz
111
111
  ```
112
112
 
113
- No production dependencies and no build step. The published entry is native ESM. Package contents are allowlisted. See [release checklist](docs/RELEASE.md) for current verification boundaries and publishing steps. Publishing is a separate maintainer action; creating or pushing the repository does not publish npm.
113
+ No production dependencies and no build step. The published entry is native ESM. Package contents are allowlisted. See the [publishing guide](docs/PUBLISHING.md) for step-by-step npm authentication, first publication, verification, updates and troubleshooting. See the [release checklist](docs/RELEASE.md) for current verification boundaries. Publishing is a separate maintainer action; creating or pushing the repository does not publish npm.
114
114
 
115
115
  ## Reference and attribution
116
116
 
@@ -0,0 +1,153 @@
1
+ # Publishing @1endpoint/coding-helper to npm
2
+
3
+ This guide is for maintainers publishing the package, not for end users configuring a coding tool. For tool setup, see the [README](../README.md). For implementation and verification boundaries, see the [release checklist](RELEASE.md).
4
+
5
+ **Publishing is a separate action from pushing to GitHub.** Run the publish command only when you intend to release the selected version publicly. This document does not mean that a release has already been published.
6
+
7
+ ## 1. Requirements
8
+
9
+ - Node.js **22.19.0 or newer**.
10
+ - Yarn **4.17.0**, matching the repository's `packageManager` setting.
11
+ - An npm account authorized to publish under the **`@1endpoint`** scope.
12
+ - Access to the account's required two-factor authentication method.
13
+ - A reviewed, committed checkout of [the repository](https://github.com/dothinh115/1endpoint-coding-helper).
14
+
15
+ The npm scope and GitHub owner are independent. Owning the GitHub repository does not grant npm publishing rights. If `1endpoint` is an npm organization, the publishing account must be a member with package creation/publish permissions. Create or obtain access to that scope before continuing; do not change the package name merely to work around a permission failure.
16
+
17
+ Never put npm passwords, access tokens, recovery codes, or one-time codes in source files, issue comments, screenshots, or chat. Use the package manager's authentication flow. The helper's `ONEENDPOINT_API_KEY` is **not** an npm credential and is not needed for publication.
18
+
19
+ ## 2. Open the checkout and authenticate
20
+
21
+ From this workspace:
22
+
23
+ ```bash
24
+ cd /Users/thinhdo/Documents/1endpoint/coding-helper
25
+ node --version
26
+ yarn --version
27
+
28
+ yarn npm login --scope 1endpoint --publish
29
+ yarn npm whoami --scope 1endpoint --publish
30
+ ```
31
+
32
+ Follow the login prompts privately. The final command should identify the intended publishing account. Authentication alone does not prove permission to create this scoped package.
33
+
34
+ ## 3. Review the version and source
35
+
36
+ ```bash
37
+ git status --short
38
+ git log -1 --oneline
39
+ node --input-type=module -e 'import fs from "node:fs"; const p = JSON.parse(fs.readFileSync("package.json", "utf8")); console.log(`${p.name}@${p.version}`)'
40
+ ```
41
+
42
+ The worktree should be clean, and the name/version must be the release you intend to publish. The initial package version is `0.1.0`.
43
+
44
+ Optionally inspect the registry before releasing:
45
+
46
+ ```bash
47
+ yarn npm info @1endpoint/coding-helper --fields name,version,versions
48
+ ```
49
+
50
+ Before the first publication, a package-not-found response can be expected. It does **not** establish that your account owns the scope. If the target version already exists, do not retry publishing that same version: published versions are immutable, even after unpublishing. Prepare a new version instead.
51
+
52
+ ## 4. Run the release checks
53
+
54
+ ```bash
55
+ yarn install --immutable
56
+ yarn check
57
+ yarn test
58
+ yarn pack --dry-run
59
+ git diff --check
60
+ ```
61
+
62
+ There is no separate compilation step: the package ships native ESM source. `prepack` also runs the syntax check and test suite when packaging/publishing.
63
+
64
+ The ordinary test suite deliberately skips the opt-in installed-Claude loopback fixture. To run that fixture on a machine with Claude Code installed, set its absolute executable path:
65
+
66
+ ```bash
67
+ CODING_HELPER_TEST_CLAUDE="$(command -v claude)" yarn test
68
+ ```
69
+
70
+ This fixture uses a local synthetic server and dummy credentials, not paid gateway inference. Review skips and failures; a test run does not establish support for operating systems or CLI versions that were not exercised.
71
+
72
+ Inspect the package file list. It should contain only package metadata, the license, README, documentation and the intended source modules. Do not ship environment files, credentials, helper runtime homes, test output or unrelated workspace files.
73
+
74
+ ## 5. Publish the package publicly
75
+
76
+ For the initial stable release:
77
+
78
+ ```bash
79
+ yarn npm publish --access public --tag latest
80
+ ```
81
+
82
+ If npm requests an authenticator code, follow the prompt or provide a current code using the supported option:
83
+
84
+ ```bash
85
+ yarn npm publish --access public --tag latest --otp YOUR_CURRENT_CODE
86
+ ```
87
+
88
+ Replace the placeholder privately. Be aware that command arguments may be visible in shell history or process listings; prefer an interactive prompt when available. Never copy the real code into documentation or chat.
89
+
90
+ `--access public` is intentional for this scoped package. `--tag latest` makes the release the default installed version. For a prerelease, use a prerelease version and a separate tag such as `next`; do not accidentally move `latest` to an experimental build.
91
+
92
+ **Do not repeat the publish command blindly after an ambiguous network failure.** Check whether the version reached the registry first.
93
+
94
+ ## 6. Verify the public release
95
+
96
+ For version `0.1.0`:
97
+
98
+ ```bash
99
+ yarn npm info @1endpoint/coding-helper --fields name,version,bin,dist
100
+ npx @1endpoint/coding-helper@0.1.0 --version
101
+ npx @1endpoint/coding-helper@0.1.0 --help
102
+ npx @1endpoint/coding-helper@0.1.0
103
+ ```
104
+
105
+ Verify:
106
+
107
+ 1. Registry metadata reports the expected name and version, binary entries, and tarball integrity.
108
+ 2. `--version` prints `0.1.0` and `--help` lists the documented commands.
109
+ 3. The interactive entry asks for **English / Tiếng Việt first**.
110
+ 4. Arrow keys and Enter select actions; confirmation does not require typing `y/n`.
111
+ 5. Setup offers the public 1endpoint text-model catalog, with independent Claude tier mappings.
112
+ 6. Setup/reconfigure emphasizes restarting the session through the helper.
113
+
114
+ Do the interactive smoke in a fresh environment or set `ONEENDPOINT_HELPER_HOME` to a new absolute test directory. Setup does not require a real API key. Do not launch inference merely to verify that npm installation works. Use the helper's `remove` action to remove its generated connection configuration afterward; runtime data is intentionally preserved.
115
+
116
+ Registry propagation and local package-manager caches can briefly lag. Check the exact pinned version before assuming a publish failed. After propagation, also verify the unpinned entry resolves to the intended `latest` release:
117
+
118
+ ```bash
119
+ npx @1endpoint/coding-helper --version
120
+ ```
121
+
122
+ ## 7. Finish the release handoff
123
+
124
+ - Record the released version, source commit, registry integrity and verification outcome.
125
+ - Ensure public setup documentation matches the released CLI rather than unreleased local changes.
126
+ - Deploy Console documentation separately through its normal pipeline if needed. Removing a Console warning does not publish an npm package or prove registry availability.
127
+ - Keep live-provider inference, browser/mobile QA and operating-system coverage distinct from package installation checks.
128
+
129
+ ## Publishing an update
130
+
131
+ 1. Make and review the change.
132
+ 2. Update the `version` in `package.json` to a new semantic version. Use a patch release for compatible fixes, a minor release for compatible features, and a major release for breaking changes. Pre-1.0 compatibility expectations should still be documented explicitly.
133
+ 3. Run `yarn install` to reconcile the lockfile if necessary, then repeat the checks above.
134
+ 4. Commit and push the reviewed release source when authorized.
135
+ 5. Publish, then verify the exact new version and the intended distribution tag.
136
+
137
+ Never overwrite an existing version. For a bad release, prepare a fixed version; consider npm deprecation according to the project's release policy rather than treating unpublish as rollback.
138
+
139
+ ## Troubleshooting
140
+
141
+ | Symptom | What to check |
142
+ | --- | --- |
143
+ | `401`, `ENEEDAUTH`, or invalid credentials | Repeat `yarn npm login --scope 1endpoint --publish`, then check `whoami`. Confirm the publishing registry and account. |
144
+ | `403` or scope/package permission denied | Confirm organization membership, package creation/publish rights, account security requirements and token restrictions if using token authentication. Login alone is insufficient. |
145
+ | Package not found before the first release | Expected for an unpublished package, but also possible with the wrong registry or inaccessible package. Verify scope ownership and registry configuration. |
146
+ | Version already published | Select a new version; an existing version cannot be replaced. |
147
+ | OTP invalid or expired | Use a fresh code from the publishing account and check the device clock. Do not weaken account security. |
148
+ | `prepack` fails | Fix the syntax/test failure and rerun the release checks. Do not bypass the release gate to publish. |
149
+ | Publish timed out or disconnected | Query the exact version in the registry before attempting another publish. |
150
+ | `npx` cannot find the release immediately | Check exact registry metadata, allow propagation time, and use the pinned version. Confirm you did not publish only under a prerelease tag. |
151
+ | CLI exits because Node is unsupported | Install a Node version satisfying `>=22.19.0` and retry. |
152
+
153
+ For CI automation, configure npm trusted publishing or appropriately restricted credentials using current npm and CI-provider documentation. Do not assume this local Yarn login procedure configures CI identity, provenance or release approvals.
package/docs/RELEASE.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # Release and verification gate
2
2
 
3
+ For the complete maintainer procedure, follow the [npm publishing guide](PUBLISHING.md): account/scope permissions, login, release checks, publication, pinned npx verification, updates and troubleshooting.
4
+
3
5
  ## Scope
4
6
 
5
7
  Initial package: `@1endpoint/coding-helper@0.1.0`, public npm access. Independent repository: `dothinh115/1endpoint-coding-helper`. First Git commit: `first push`. **Git push does not authorize npm publication.** Maintainer publishes after reviewing the handoff.
@@ -34,7 +36,7 @@ Console checks: focused coding-helper documentation regressions, scoped ESLint,
34
36
  - Verify the npm account has publish rights for scope `@1endpoint` and satisfies npm 2FA/trusted-publishing requirements. Never copy npm credentials into repository or chat.
35
37
  - Re-run the checks above from the committed source.
36
38
  - Maintainer may publish with Yarn's npm publish command, public access, and the desired release tag. This task deliberately does not run it.
37
- - After publication verify registry version, integrity, bin mapping and real `npx @1endpoint/coding-helper --version` from a fresh environment. Only then remove the Console/docs unpublished warning, commit/deploy the Console update through its normal pipeline, and announce availability.
39
+ - After publication verify registry version, integrity, bin mapping and real `npx @1endpoint/coding-helper --version` from a fresh environment before announcing availability. The Console unpublished warning was removed separately at the user's request; that presentation change is not proof of publication. Commit/deploy Console changes through its normal pipeline when authorized.
38
40
 
39
41
  ## Verification record
40
42
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@1endpoint/coding-helper",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Safe isolated 1endpoint setup for DeepSeek Harness and Claude Code CLI",
5
5
  "type": "module",
6
6
  "bin": {
@@ -42,4 +42,4 @@
42
42
  "cli",
43
43
  "setup"
44
44
  ]
45
- }
45
+ }