atris 3.25.1 → 3.25.2

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/bin/atris.js CHANGED
@@ -1455,7 +1455,7 @@ if (command === 'init') {
1455
1455
  console.error(`✗ Chat failed: ${error.message || error}`);
1456
1456
  process.exit(1);
1457
1457
  });
1458
- } else if (command === 'fast' || (command === 'ax' && process.argv[3] === 'fast')) {
1458
+ } else if (command === 'fast' || command === 'ax') {
1459
1459
  atrisFastChat()
1460
1460
  .then(() => process.exit(0))
1461
1461
  .catch((error) => {
package/commands/align.js CHANGED
@@ -466,6 +466,26 @@ async function alignHardLocalToCloud(token, biz, localDir) {
466
466
 
467
467
  async function alignAtris() {
468
468
  // Parse args
469
+ const printUsage = () => {
470
+ console.log('Usage: atris align [business] [--fix] [--hard] [--from cloud|local] [--dry-run]');
471
+ console.log('');
472
+ console.log(' atris align Diff current workspace against cloud (auto-detect)');
473
+ console.log(' atris align example-co Diff example-co workspace');
474
+ console.log(' atris align example-co --fix Fix drift (local is canonical by default)');
475
+ console.log(' atris align example-co --fix --hard Force-push: nuke cloud cruft, upload local. Skips diff. Fast.');
476
+ console.log(' atris align example-co --fix --from cloud Cloud is canonical: pull EC2-only, delete local extras');
477
+ console.log(' atris align example-co --dry-run Show what would change, do nothing');
478
+ };
479
+
480
+ // Explicit help must win before we try to auto-detect a business slug,
481
+ // otherwise `--help` gets overwritten by the .atris/business.json fallback
482
+ // and the command attempts a real align instead of printing usage.
483
+ const firstArg = process.argv[3];
484
+ if (firstArg === '--help' || firstArg === '-h' || firstArg === 'help') {
485
+ printUsage();
486
+ process.exit(0);
487
+ }
488
+
469
489
  let slug = process.argv[3];
470
490
  if (!slug || slug.startsWith('-')) {
471
491
  const bizFile = path.join(process.cwd(), '.atris', 'business.json');
@@ -475,15 +495,8 @@ async function alignAtris() {
475
495
  if (!slug || slug.startsWith('-')) slug = null;
476
496
  }
477
497
 
478
- if (!slug || slug === '--help' || slug === '-h' || slug === 'help') {
479
- console.log('Usage: atris align [business] [--fix] [--hard] [--from cloud|local] [--dry-run]');
480
- console.log('');
481
- console.log(' atris align Diff current workspace against cloud (auto-detect)');
482
- console.log(' atris align example-co Diff example-co workspace');
483
- console.log(' atris align example-co --fix Fix drift (local is canonical by default)');
484
- console.log(' atris align example-co --fix --hard Force-push: nuke cloud cruft, upload local. Skips diff. Fast.');
485
- console.log(' atris align example-co --fix --from cloud Cloud is canonical: pull EC2-only, delete local extras');
486
- console.log(' atris align example-co --dry-run Show what would change, do nothing');
498
+ if (!slug) {
499
+ printUsage();
487
500
  process.exit(0);
488
501
  }
489
502
 
package/commands/skill.js CHANGED
@@ -622,15 +622,19 @@ curl -s "https://api.atris.ai/api/integrations/YOUR_INTEGRATION/items" \\
622
622
  // --- CREATE subcommand ---
623
623
 
624
624
  function skillCreate(nameArg, ...flags) {
625
- if (!nameArg) {
626
- console.error('Usage: atris skill create <name> [--integration] [--description="..."] [--local]');
627
- console.error('');
628
- console.error('Examples:');
629
- console.error(' atris skill create daily-standup');
630
- console.error(' atris skill create email-outreach --integration');
631
- console.error(' atris skill create example-co/bol-processor --integration');
632
- console.error(' atris skill create my-skill --local # project only, skip system dirs');
633
- process.exit(1);
625
+ // A flag-shaped first arg is not a skill name (e.g. `skill create --help`);
626
+ // show usage instead of creating a junk folder named "--help".
627
+ const wantsHelp = nameArg === '--help' || nameArg === '-h' || nameArg === 'help';
628
+ if (!nameArg || nameArg.startsWith('-')) {
629
+ const out = wantsHelp ? console.log : console.error;
630
+ out('Usage: atris skill create <name> [--integration] [--description="..."] [--local]');
631
+ out('');
632
+ out('Examples:');
633
+ out(' atris skill create daily-standup');
634
+ out(' atris skill create email-outreach --integration');
635
+ out(' atris skill create example-co/bol-processor --integration');
636
+ out(' atris skill create my-skill --local # project only, skip system dirs');
637
+ process.exit(wantsHelp ? 0 : 1);
634
638
  }
635
639
 
636
640
  const isIntegration = flags.includes('--integration');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "atris",
3
- "version": "3.25.1",
3
+ "version": "3.25.2",
4
4
  "main": "bin/atris.js",
5
5
  "bin": {
6
6
  "atris": "bin/atris.js",