@specship/specship-win32-arm64 0.18.1 → 0.19.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/lib/dist/bin/specship.js +31 -1
- package/lib/dist/bin/specship.js.map +1 -1
- package/lib/dist/index.d.ts.map +1 -1
- package/lib/dist/index.js +4 -1
- package/lib/dist/index.js.map +1 -1
- package/lib/dist/installer/index.d.ts.map +1 -1
- package/lib/dist/installer/index.js +17 -26
- package/lib/dist/installer/index.js.map +1 -1
- package/lib/dist/jira/client.d.ts +15 -0
- package/lib/dist/jira/client.d.ts.map +1 -1
- package/lib/dist/jira/client.js +121 -9
- package/lib/dist/jira/client.js.map +1 -1
- package/lib/dist/jira/config.d.ts.map +1 -1
- package/lib/dist/jira/config.js +8 -0
- package/lib/dist/jira/config.js.map +1 -1
- package/lib/dist/jira/types.d.ts +15 -0
- package/lib/dist/jira/types.d.ts.map +1 -1
- package/lib/dist/jira/types.js.map +1 -1
- package/lib/dist/mcp/spec-tools.d.ts.map +1 -1
- package/lib/dist/mcp/spec-tools.js +7 -2
- package/lib/dist/mcp/spec-tools.js.map +1 -1
- package/lib/dist/resolution/spec-link-resolver.d.ts +18 -0
- package/lib/dist/resolution/spec-link-resolver.d.ts.map +1 -1
- package/lib/dist/resolution/spec-link-resolver.js +65 -7
- package/lib/dist/resolution/spec-link-resolver.js.map +1 -1
- package/lib/node_modules/.package-lock.json +1 -1
- package/lib/package.json +1 -1
- package/package.json +1 -1
package/lib/dist/bin/specship.js
CHANGED
|
@@ -2163,6 +2163,7 @@ function main() {
|
|
|
2163
2163
|
.option('--no-permissions', 'Skip writing the auto-allow permissions list')
|
|
2164
2164
|
.option('--sdd', '(default) Install the spec-driven-development governance tier (spec/authoring/review/design commands + the spec-author nudge hook)')
|
|
2165
2165
|
.option('--no-sdd', 'Skip the governance tier — retrieval-only install (the pre-0.18 default)')
|
|
2166
|
+
.option('--path <repo>', 'Target repo to wire and initialize (default: current directory). Project-local files and the .specship index land there')
|
|
2166
2167
|
.option('--with-jira', 'Enable the optional JIRA integration (talks to your Atlassian instance; off by default — the core install is 100% local)')
|
|
2167
2168
|
.option('--with-designer', 'Enable the optional Designer integration (EXPERIMENTAL — drives claude.ai/design via a debug Chrome session and may break without notice; off by default)')
|
|
2168
2169
|
.option('--statusline', 'Wire the SpecShip status-line segment into Claude (skips the prompt; never overwrites an existing status line)')
|
|
@@ -2179,6 +2180,18 @@ function main() {
|
|
|
2179
2180
|
process.stdout.write(claudeTarget.printConfig(loc));
|
|
2180
2181
|
return;
|
|
2181
2182
|
}
|
|
2183
|
+
// Target repo (INSTALL-SCOPE-DOC, REQ-SCOPE-002): the project-local
|
|
2184
|
+
// wiring and the .specship index land in --path, not wherever the
|
|
2185
|
+
// command happened to run. Same semantics as the bundle installer's
|
|
2186
|
+
// --path — implemented the same way (the local writers are cwd-based).
|
|
2187
|
+
if (opts.path) {
|
|
2188
|
+
const target = path.resolve(opts.path);
|
|
2189
|
+
if (!fs.existsSync(target) || !fs.statSync(target).isDirectory()) {
|
|
2190
|
+
error(`--path '${opts.path}' is not a directory`);
|
|
2191
|
+
process.exit(1);
|
|
2192
|
+
}
|
|
2193
|
+
process.chdir(target);
|
|
2194
|
+
}
|
|
2182
2195
|
const { runInstallerWithOptions } = await Promise.resolve().then(() => __importStar(require('../installer')));
|
|
2183
2196
|
if (opts.location && opts.location !== 'global' && opts.location !== 'local') {
|
|
2184
2197
|
error(`--location must be "global" or "local" (got "${opts.location}").`);
|
|
@@ -3083,6 +3096,8 @@ function main() {
|
|
|
3083
3096
|
.option('--api-token <token>', 'Cloud: API token (paired with --email)')
|
|
3084
3097
|
.option('--pat <token>', 'Data Center: personal access token')
|
|
3085
3098
|
.option('--deployment <kind>', 'Deployment kind: "cloud" or "datacenter" (inferred if omitted)')
|
|
3099
|
+
.option('--ca-cert <pem>', 'Path to a PEM CA bundle for a corporate/self-signed certificate (Data Center)')
|
|
3100
|
+
.option('--insecure-tls', 'Disable TLS certificate verification for JIRA requests only (last resort)')
|
|
3086
3101
|
.action(async (opts) => {
|
|
3087
3102
|
const { saveJiraConfig, resolveJiraCredentials, inferDeployment, jiraConfigPath, JiraClient, JiraAuthError, } = await Promise.resolve().then(() => __importStar(require('../jira')));
|
|
3088
3103
|
const clack = await importESM('@clack/prompts');
|
|
@@ -3109,7 +3124,7 @@ function main() {
|
|
|
3109
3124
|
}
|
|
3110
3125
|
else {
|
|
3111
3126
|
const baseUrl = opts.baseUrl ?? (await clack.text({
|
|
3112
|
-
message: 'JIRA base URL',
|
|
3127
|
+
message: 'JIRA base URL (include the context path if your instance has one, e.g. https://host:8443/jira)',
|
|
3113
3128
|
placeholder: 'https://acme.atlassian.net',
|
|
3114
3129
|
validate: (v) => (v && v.trim() ? undefined : 'Required'),
|
|
3115
3130
|
}));
|
|
@@ -3161,6 +3176,21 @@ function main() {
|
|
|
3161
3176
|
config.pat = String(pat);
|
|
3162
3177
|
}
|
|
3163
3178
|
}
|
|
3179
|
+
// Corporate TLS opt-ins (REQ-JIRATLS-001) — flags apply on both the
|
|
3180
|
+
// flagged and interactive paths.
|
|
3181
|
+
if (opts.caCert) {
|
|
3182
|
+
const caPath = opts.caCert.trim();
|
|
3183
|
+
if (!fs.existsSync(caPath)) {
|
|
3184
|
+
clack.log.error(`CA certificate not found: ${caPath}`);
|
|
3185
|
+
process.exit(1);
|
|
3186
|
+
}
|
|
3187
|
+
config.caCertPath = caPath;
|
|
3188
|
+
}
|
|
3189
|
+
if (opts.insecureTls) {
|
|
3190
|
+
config.insecureTls = true;
|
|
3191
|
+
clack.log.warn('TLS certificate verification is DISABLED for JIRA requests. ' +
|
|
3192
|
+
'Prefer --ca-cert with your corporate CA bundle when possible.');
|
|
3193
|
+
}
|
|
3164
3194
|
saveJiraConfig(config);
|
|
3165
3195
|
// NOTE: never print the credential — only the path.
|
|
3166
3196
|
clack.log.success(`Saved credentials to ${jiraConfigPath()} (permissions 0600).`);
|