@atlashub/smartstack-cli 1.28.0 → 1.29.0
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/.documentation/installation.html +31 -4
- package/dist/index.js +29 -8
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -764,13 +764,25 @@ claude mcp add smartstack -- smartstack-mcp</code></pre>
|
|
|
764
764
|
<p data-lang="fr">Installez le serveur MCP Context7 pour acceder a la documentation des bibliotheques.</p>
|
|
765
765
|
<p data-lang="en">Install the Context7 MCP server to access library documentation.</p>
|
|
766
766
|
|
|
767
|
-
<p data-lang="fr">Obtenez une cle API sur <a href="https://context7.com" target="_blank">context7.com</a>, puis
|
|
768
|
-
<p data-lang="en">Get an API key at <a href="https://context7.com" target="_blank">context7.com</a>, then
|
|
767
|
+
<p data-lang="fr">Obtenez une cle API sur <a href="https://context7.com" target="_blank">context7.com</a>, puis entrez-la ci-dessous :</p>
|
|
768
|
+
<p data-lang="en">Get an API key at <a href="https://context7.com" target="_blank">context7.com</a>, then enter it below:</p>
|
|
769
|
+
|
|
770
|
+
<div class="api-key-input" style="margin: 1rem 0;">
|
|
771
|
+
<label style="display: block; font-weight: 600; margin-bottom: 0.5rem; color: var(--text);">
|
|
772
|
+
<span data-lang="fr">Votre cle API Context7 :</span>
|
|
773
|
+
<span data-lang="en">Your Context7 API key:</span>
|
|
774
|
+
</label>
|
|
775
|
+
<input type="text"
|
|
776
|
+
id="context7-api-key"
|
|
777
|
+
placeholder="ctx7_xxxxxxxxxxxxxxxx"
|
|
778
|
+
style="width: 100%; max-width: 400px; padding: 0.75rem 1rem; border: 1px solid var(--border); border-radius: 6px; background: var(--bg-card); color: var(--text); font-family: monospace; font-size: 0.9rem;"
|
|
779
|
+
oninput="updateContext7Commands()">
|
|
780
|
+
</div>
|
|
769
781
|
|
|
770
782
|
<div class="code-block">
|
|
771
783
|
<button class="copy-btn">Copy</button>
|
|
772
|
-
<pre><code># 1. Definir la cle API
|
|
773
|
-
$env:CONTEXT7_API_KEY = "votre-cle-api"
|
|
784
|
+
<pre><code id="context7-commands"># 1. Definir la cle API
|
|
785
|
+
$env:CONTEXT7_API_KEY = "<span class="context7-key-placeholder" style="color: var(--text-muted);">votre-cle-api</span>"
|
|
774
786
|
|
|
775
787
|
# 2. Installer le package
|
|
776
788
|
npm install -g @upstash/context7-mcp
|
|
@@ -1442,6 +1454,21 @@ smartstack init</code></pre>
|
|
|
1442
1454
|
}
|
|
1443
1455
|
}
|
|
1444
1456
|
|
|
1457
|
+
// Context7 API key dynamic update
|
|
1458
|
+
function updateContext7Commands() {
|
|
1459
|
+
var input = document.getElementById('context7-api-key');
|
|
1460
|
+
var placeholder = document.querySelector('.context7-key-placeholder');
|
|
1461
|
+
var value = input.value.trim();
|
|
1462
|
+
|
|
1463
|
+
if (value) {
|
|
1464
|
+
placeholder.textContent = value;
|
|
1465
|
+
placeholder.style.color = 'var(--success)';
|
|
1466
|
+
} else {
|
|
1467
|
+
placeholder.textContent = 'votre-cle-api';
|
|
1468
|
+
placeholder.style.color = 'var(--text-muted)';
|
|
1469
|
+
}
|
|
1470
|
+
}
|
|
1471
|
+
|
|
1445
1472
|
</script>
|
|
1446
1473
|
</body>
|
|
1447
1474
|
</html>
|
package/dist/index.js
CHANGED
|
@@ -116814,19 +116814,40 @@ var initCommand = new Command("init").description("Initialize a new SmartStack p
|
|
|
116814
116814
|
process.exit(1);
|
|
116815
116815
|
}
|
|
116816
116816
|
}
|
|
116817
|
+
let finalProjectName = projectName;
|
|
116817
116818
|
const validation = validateCSharpNamespace(projectName);
|
|
116818
116819
|
if (!validation.valid) {
|
|
116819
|
-
logger.
|
|
116820
|
-
if (validation.suggestion) {
|
|
116821
|
-
|
|
116820
|
+
logger.warning(`Project name "${projectName}" contains invalid characters for C# namespace.`);
|
|
116821
|
+
if (validation.suggestion && !options.yes) {
|
|
116822
|
+
const { useSuggestion } = await lib_default.prompt([
|
|
116823
|
+
{
|
|
116824
|
+
type: "confirm",
|
|
116825
|
+
name: "useSuggestion",
|
|
116826
|
+
message: `Use "${source_default.cyan(validation.suggestion)}" as C# namespace instead?`,
|
|
116827
|
+
default: true
|
|
116828
|
+
}
|
|
116829
|
+
]);
|
|
116830
|
+
if (useSuggestion) {
|
|
116831
|
+
finalProjectName = validation.suggestion;
|
|
116832
|
+
logger.success(`Using "${finalProjectName}" as project name`);
|
|
116833
|
+
} else {
|
|
116834
|
+
logger.error(`Cannot continue with invalid project name.`);
|
|
116835
|
+
logger.info(`Tip: Rename folder to use only letters, digits, and underscores.`);
|
|
116836
|
+
process.exit(1);
|
|
116837
|
+
}
|
|
116838
|
+
} else if (validation.suggestion && options.yes) {
|
|
116839
|
+
finalProjectName = validation.suggestion;
|
|
116840
|
+
logger.info(`Auto-converted to "${finalProjectName}" for C# compatibility`);
|
|
116841
|
+
} else {
|
|
116842
|
+
logger.error(`Invalid project name: ${validation.error}`);
|
|
116843
|
+
process.exit(1);
|
|
116822
116844
|
}
|
|
116823
|
-
process.exit(1);
|
|
116824
116845
|
}
|
|
116825
116846
|
let config;
|
|
116826
116847
|
if (options.yes) {
|
|
116827
116848
|
config = {
|
|
116828
|
-
name:
|
|
116829
|
-
nameLower:
|
|
116849
|
+
name: finalProjectName,
|
|
116850
|
+
nameLower: finalProjectName.toLowerCase(),
|
|
116830
116851
|
database: "sqlserver",
|
|
116831
116852
|
preview: options.preview ?? false,
|
|
116832
116853
|
projectDir: inPlace ? projectDir : void 0,
|
|
@@ -116869,8 +116890,8 @@ var initCommand = new Command("init").description("Initialize a new SmartStack p
|
|
|
116869
116890
|
}
|
|
116870
116891
|
]);
|
|
116871
116892
|
config = {
|
|
116872
|
-
name:
|
|
116873
|
-
nameLower:
|
|
116893
|
+
name: finalProjectName,
|
|
116894
|
+
nameLower: finalProjectName.toLowerCase(),
|
|
116874
116895
|
database: "sqlserver",
|
|
116875
116896
|
preview: options.preview ?? false,
|
|
116876
116897
|
projectDir: inPlace ? projectDir : void 0,
|