@vucinatim/agentic-devtools 0.1.2 → 0.1.4

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
@@ -6,6 +6,9 @@ Agentic Devtools is an MCP-first open-source package for developer platforms
6
6
  such as Railway, Namecheap, and npm. It is meant to be run directly by MCP hosts with
7
7
  `npx`, while still exposing package imports for custom automation.
8
8
 
9
+ `npx` is the canonical runtime path. Global install is optional terminal
10
+ convenience only.
11
+
9
12
  Most users should not install this into their app. Point your agent host at the
10
13
  tool you need:
11
14
 
@@ -85,8 +88,15 @@ Railway:
85
88
  }
86
89
  ```
87
90
 
88
- After `connect railway`, the same server config can omit `env` because the token
89
- is resolved from `~/.config/agentic-devtools/railway.json`.
91
+ Use:
92
+
93
+ - `RAILWAY_API_TOKEN` for Railway account tokens and workspace tokens
94
+ - `RAILWAY_PROJECT_TOKEN` for Railway project tokens
95
+ - `RAILWAY_PROJECT_ID` as an optional default project id for account/workspace
96
+ token flows
97
+
98
+ After `connect railway`, the same server config can omit `env` because the
99
+ stored token is resolved from `~/.config/agentic-devtools/railway.json`.
90
100
 
91
101
  Namecheap:
92
102
 
@@ -128,6 +138,29 @@ GitHub Actions Trusted Publishing over local write tokens. Use
128
138
  `setup-publishing npm` to run npm's official Trusted Publishing setup command
129
139
  through the package.
130
140
 
141
+ ### Railway Coverage
142
+
143
+ The Railway tool now targets parity with Railway's documented public API for:
144
+
145
+ - projects and project members
146
+ - environments
147
+ - services and service instances
148
+ - deployments
149
+ - variables
150
+ - Railway-managed and custom domains
151
+ - volumes
152
+
153
+ This does not currently claim parity for undocumented dashboard-only concepts
154
+ such as canvas grouping internals.
155
+
156
+ Trusted Publishing notes:
157
+
158
+ - npm currently documents Trusted Publishing for GitHub-hosted GitHub Actions,
159
+ GitLab.com shared runners, and CircleCI cloud
160
+ - npm documents a minimum of Node `22.14.0` and npm CLI `11.5.1` for Trusted
161
+ Publishing
162
+ - each npm package currently has one Trusted Publisher connection at a time
163
+
131
164
  ### Global CLI
132
165
 
133
166
  Useful if you use the tools often from a terminal:
@@ -140,6 +173,23 @@ agentic-devtools auth-status railway
140
173
  agentic-devtools mcp railway
141
174
  ```
142
175
 
176
+ If `agentic-devtools` is not found after global install, your shell is not
177
+ exposing npm's global bin path. That is a shell setup issue, most commonly with
178
+ Node version managers such as `fnm` or `nvm`, not a package runtime issue.
179
+
180
+ Check:
181
+
182
+ ```bash
183
+ npm prefix -g
184
+ ```
185
+
186
+ Then make sure `<that-prefix>/bin` is on your `PATH`, or just use the canonical
187
+ no-install path:
188
+
189
+ ```bash
190
+ npx -y @vucinatim/agentic-devtools tools
191
+ ```
192
+
143
193
  ### Project Dependency
144
194
 
145
195
  Use this only when building your own automation on top of the service clients:
@@ -9,6 +9,10 @@ The ideal user experience is:
9
9
  npx -y @vucinatim/agentic-devtools connect <tool>
10
10
  ```
11
11
 
12
+ This is intentionally the primary path. A global install can be convenient for
13
+ humans in a terminal, but it depends on the user's shell exposing npm's global
14
+ bin directory and should not be treated as the required onboarding contract.
15
+
12
16
  After that, MCP host config should not need tokens inline:
13
17
 
14
18
  ```json
@@ -134,15 +138,40 @@ Recommended path:
134
138
  - `RAILWAY_API_TOKEN`
135
139
  - `RAILWAY_TOKEN`
136
140
  - `RAILWAY_PROJECT_ID`
141
+ - `RAILWAY_API_ENDPOINT`
137
142
  4. make env vars override stored config
138
143
  5. add OAuth once the app registration and callback flow are ready
139
144
 
140
145
  Token guidance:
141
146
 
142
- - project token: narrow project-scoped inspection
143
- - account/workspace token: account identity and project listing
147
+ - account token: broadest scope across the user's resources and workspaces
148
+ - workspace token: scoped to a single workspace, but still sent as bearer auth
149
+ through `RAILWAY_API_TOKEN` or `RAILWAY_TOKEN`
150
+ - project token: scoped to a single environment and sent through
151
+ `RAILWAY_PROJECT_TOKEN`
144
152
  - do not ask for account token when a project token is enough
145
153
 
154
+ Validation guidance:
155
+
156
+ - do not assume every bearer token can call `me`
157
+ - validate project tokens through a project-token-specific query
158
+ - validate account and workspace tokens through project listing or other
159
+ workspace-compatible reads
160
+ - keep identity-only queries such as `me` as separate optional capabilities
161
+
162
+ Current Railway management scope should cover the documented public API for:
163
+
164
+ - projects and project members
165
+ - environments
166
+ - services and service instances
167
+ - deployments
168
+ - variables
169
+ - service domains and custom domains
170
+ - volumes
171
+
172
+ Do not claim parity for dashboard-only or undocumented organization surfaces
173
+ until Railway documents them as stable public API.
174
+
146
175
  ## Namecheap
147
176
 
148
177
  Namecheap is Tier 3.
@@ -196,6 +225,16 @@ For package publishing, prefer GitHub Actions Trusted Publishing through OIDC.
196
225
  The local npm tool may support publishing for controlled use cases, but real
197
226
  publishes must be explicit and confirmation-gated. Dry-run should be the default.
198
227
 
228
+ Current npm Trusted Publishing guidance:
229
+
230
+ - npm currently documents Trusted Publishing for GitHub-hosted GitHub Actions,
231
+ GitLab.com shared runners, and CircleCI cloud
232
+ - self-hosted runners are not currently the documented path
233
+ - npm currently documents Node `22.14.0+` and npm CLI `11.5.1+`
234
+ - a package currently has one Trusted Publisher configuration at a time
235
+ - after Trusted Publishing is verified, prefer npm's "disallow tokens" publish
236
+ setting for stronger security
237
+
199
238
  ## Hosted Connect Option
200
239
 
201
240
  A future hosted “Agentic Devtools Connect” service could reduce friction further.
@@ -32,6 +32,14 @@ permission so npm can verify the workflow identity.
32
32
  npm also publishes provenance attestations automatically when Trusted Publishing
33
33
  is used from supported CI.
34
34
 
35
+ Current npm requirements and limits:
36
+
37
+ - npm documents Trusted Publishing support for GitHub-hosted GitHub Actions,
38
+ GitLab.com shared runners, and CircleCI cloud
39
+ - self-hosted runners are not currently the documented path
40
+ - npm documents a minimum of Node `22.14.0` and npm CLI `11.5.1`
41
+ - each package currently has one Trusted Publisher configuration at a time
42
+
35
43
  References:
36
44
 
37
45
  - <https://docs.npmjs.com/trusted-publishers>
@@ -172,6 +180,10 @@ npx -y npm@^11.10.0 trust github @vucinatim/agentic-devtools --repo vucinatim/ag
172
180
  This keeps the setup aligned with npm's beta Trusted Publishing flow and lets
173
181
  npm handle web/security-key two-factor authentication when required.
174
182
 
183
+ After the Trusted Publisher is verified, npm recommends restricting token-based
184
+ publishing access for the package so Trusted Publishing becomes the normal write
185
+ path.
186
+
175
187
  For this repository it configures:
176
188
 
177
189
  - provider: GitHub Actions
package/docs/testing.md CHANGED
@@ -40,6 +40,10 @@ The publish workflow runs this after `npm publish`, so a release is only
40
40
  considered good after the registry-hosted package passes real installation and
41
41
  usage checks.
42
42
 
43
+ There is also a manual GitHub Actions workflow, `Published Smoke`, which can
44
+ re-run the same checks against any already-published version or against the
45
+ current `latest` release without publishing again.
46
+
43
47
  ## Coverage Scope
44
48
 
45
49
  Coverage measures library code under `src/`, excluding:
package/docs/usage.md CHANGED
@@ -6,6 +6,9 @@ The default user should configure their agent host to run a specific tool with
6
6
  `npx`. They do not need to add Agentic Devtools to their application
7
7
  dependencies.
8
8
 
9
+ Treat `npx` as the canonical path. Global install is optional shell
10
+ convenience, not the primary contract.
11
+
9
12
  Run guided setup once if you want credentials stored locally instead of inline
10
13
  in MCP host config:
11
14
 
@@ -36,6 +39,12 @@ Railway:
36
39
  }
37
40
  ```
38
41
 
42
+ Use:
43
+
44
+ - `RAILWAY_API_TOKEN` for Railway account tokens and workspace tokens
45
+ - `RAILWAY_PROJECT_TOKEN` for Railway project tokens
46
+ - `RAILWAY_PROJECT_ID` as an optional default project id
47
+
39
48
  If `connect railway` has already saved a token locally, omit the `env` block.
40
49
 
41
50
  Namecheap:
@@ -91,6 +100,23 @@ agentic-devtools auth-status railway
91
100
  agentic-devtools test-connection railway
92
101
  ```
93
102
 
103
+ If the command is not found after `npm install -g`, your shell is not exposing
104
+ npm's global bin directory. This is common with version managers such as `fnm`
105
+ or `nvm`.
106
+
107
+ Check:
108
+
109
+ ```bash
110
+ npm prefix -g
111
+ ```
112
+
113
+ Then ensure `<that-prefix>/bin` is on your `PATH`, or skip global install and
114
+ use:
115
+
116
+ ```bash
117
+ npx -y @vucinatim/agentic-devtools tools
118
+ ```
119
+
94
120
  ## Tertiary: Project Dependency
95
121
 
96
122
  Install into a project only when you want to build custom automation using the
@@ -112,8 +138,41 @@ Railway supports:
112
138
 
113
139
  - guided local setup through `agentic-devtools connect railway`
114
140
  - `RAILWAY_PROJECT_TOKEN` for project-scoped inspection
115
- - `RAILWAY_API_TOKEN` or `RAILWAY_TOKEN` for account-scoped inspection
141
+ - `RAILWAY_API_TOKEN` or `RAILWAY_TOKEN` for account tokens and workspace tokens
116
142
  - `RAILWAY_PROJECT_ID` as an optional default project id
143
+ - `RAILWAY_API_ENDPOINT` for endpoint override
144
+
145
+ Railway token guidance:
146
+
147
+ - account token: broadest scope across your resources and workspaces
148
+ - workspace token: scoped to one workspace, still passed as bearer auth through
149
+ `RAILWAY_API_TOKEN` or `RAILWAY_TOKEN`
150
+ - project token: scoped to one environment, passed through
151
+ `RAILWAY_PROJECT_TOKEN`
152
+
153
+ Validation behavior:
154
+
155
+ - project tokens are validated through the `projectToken` query
156
+ - account and workspace tokens are validated through project listing
157
+ - identity-style `me` queries are not treated as the compatibility baseline for
158
+ all bearer tokens
159
+
160
+ Railway capability coverage:
161
+
162
+ - read and mutate projects
163
+ - list project members
164
+ - read and mutate environments
165
+ - read and mutate services
166
+ - read and mutate service instance settings and limits
167
+ - deploy and redeploy service instances
168
+ - inspect deployments and list deployment history
169
+ - upsert and delete variables
170
+ - create, update, and delete Railway-managed and custom domains
171
+ - create and delete volumes
172
+
173
+ Not currently included as a supported public contract:
174
+
175
+ - undocumented dashboard canvas/group organization internals
117
176
 
118
177
  Namecheap supports:
119
178
 
@@ -134,6 +193,16 @@ npm supports:
134
193
  - `.npmrc` auth token resolution
135
194
  - `NPM_CONFIG_REGISTRY` for registry override
136
195
 
196
+ npm publishing guidance:
197
+
198
+ - prefer GitHub Actions Trusted Publishing over long-lived write tokens
199
+ - npm currently documents Trusted Publishing for GitHub-hosted runners, not
200
+ self-hosted GitHub Actions runners
201
+ - npm currently documents Node `22.14.0+` and npm CLI `11.5.1+` for Trusted
202
+ Publishing
203
+ - provenance attestations are generated automatically for public packages
204
+ published from public repositories through supported Trusted Publishing flows
205
+
137
206
  For publishing, prefer GitHub Actions Trusted Publishing. Local publishing is
138
207
  available through the npm MCP client but defaults to dry-run and requires an
139
208
  explicit confirmation string for real publishes.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vucinatim/agentic-devtools",
3
- "version": "0.1.2",
3
+ "version": "0.1.4",
4
4
  "private": false,
5
5
  "description": "MCP-first devtools for AI agents.",
6
6
  "type": "module",
package/src/cli.mjs CHANGED
@@ -160,7 +160,7 @@ if (args[0] === "test-connection") {
160
160
  const result =
161
161
  client.auth.kind === "project"
162
162
  ? await client.getProjectTokenContext()
163
- : await client.getCurrentViewer();
163
+ : await client.validateAccountToken();
164
164
  printJson({
165
165
  ok: true,
166
166
  tokenSource: client.auth.source,
@@ -339,7 +339,7 @@ export const runRailwayBrowserAuthFlow = async ({
339
339
  if (client.auth.kind === "project") {
340
340
  await client.getProjectTokenContext();
341
341
  } else {
342
- await client.getCurrentViewer();
342
+ await client.validateAccountToken();
343
343
  }
344
344
  }
345
345