@relipa/ai-flow-kit 0.1.0 → 0.1.1-beta.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/package.json CHANGED
@@ -1,67 +1,68 @@
1
- {
2
- "name": "@relipa/ai-flow-kit",
3
- "version": "0.1.0",
4
- "description": "All-in-one AI Flow Kit for team development with Claude AI - skills, templates, and MCP adapters",
5
- "author": "Example Team",
6
- "publishConfig": {
7
- "access": "public",
8
- "registry": "https://registry.npmjs.com/"
9
- },
10
- "license": "ISC",
11
- "type": "commonjs",
12
- "main": "index.js",
13
- "bin": {
14
- "ak": "./bin/ak.js",
15
- "aiflow": "./bin/aiflow.js"
16
- },
17
- "files": [
18
- "README.md",
19
- "bin",
20
- "custom",
21
- "scripts",
22
- "upstream",
23
- "docs/common",
24
- "docs/project",
25
- "package.json",
26
- "index.js"
27
- ],
28
- "keywords": [
29
- "ai",
30
- "claude",
31
- "development",
32
- "workflow",
33
- "superpowers",
34
- "mcp",
35
- "team",
36
- "productivity"
37
- ],
38
- "engines": {
39
- "node": ">=16.0.0",
40
- "npm": ">=6.0.0"
41
- },
42
- "scripts": {
43
- "aiflow": "node bin/aiflow.js",
44
- "test": "jest",
45
- "lint": "echo \"Add linting in future\" && exit 0",
46
- "docs": "echo \"Documentation available in ./docs\"",
47
- "publish:beta": "npm publish --tag beta",
48
- "publish:stable": "npm publish"
49
- },
50
- "dependencies": {
51
- "@inquirer/prompts": "^3.0.0",
52
- "chalk": "^4.1.2",
53
- "commander": "^11.0.0",
54
- "fs-extra": "^11.3.4",
55
- "semver": "^7.7.4"
56
- },
57
- "devDependencies": {
58
- "exceljs": "^4.4.0",
59
- "jest": "^30.4.2",
60
- "typescript": "^6.0.2"
61
- },
62
- "jest": {
63
- "testMatch": [
64
- "<rootDir>/tests/**/*.test.js"
65
- ]
66
- }
67
- }
1
+ {
2
+ "name": "@relipa/ai-flow-kit",
3
+ "version": "0.1.1-beta.0",
4
+ "description": "All-in-one AI Flow Kit for team development with Claude AI - skills, templates, and MCP adapters",
5
+ "author": "Example Team",
6
+ "publishConfig": {
7
+ "access": "public",
8
+ "registry": "https://registry.npmjs.com/"
9
+ },
10
+ "license": "ISC",
11
+ "type": "commonjs",
12
+ "main": "index.js",
13
+ "bin": {
14
+ "ak": "./bin/ak.js",
15
+ "aiflow": "./bin/aiflow.js"
16
+ },
17
+ "files": [
18
+ "README.md",
19
+ "bin",
20
+ "custom",
21
+ "scripts",
22
+ "upstream",
23
+ "docs/common",
24
+ "docs/project",
25
+ "package.json",
26
+ "index.js"
27
+ ],
28
+ "keywords": [
29
+ "ai",
30
+ "claude",
31
+ "development",
32
+ "workflow",
33
+ "superpowers",
34
+ "mcp",
35
+ "team",
36
+ "productivity"
37
+ ],
38
+ "engines": {
39
+ "node": ">=16.0.0",
40
+ "npm": ">=6.0.0"
41
+ },
42
+ "scripts": {
43
+ "aiflow": "node bin/aiflow.js",
44
+ "test": "jest",
45
+ "lint": "echo \"Add linting in future\" && exit 0",
46
+ "docs": "echo \"Documentation available in ./docs\"",
47
+ "publish:beta": "npm publish --tag beta",
48
+ "publish:stable": "npm publish"
49
+ },
50
+ "dependencies": {
51
+ "@inquirer/prompts": "^3.0.0",
52
+ "chalk": "^4.1.2",
53
+ "commander": "^11.0.0",
54
+ "fs-extra": "^11.3.4",
55
+ "semver": "^7.7.4"
56
+ },
57
+ "devDependencies": {
58
+ "exceljs": "^4.4.0",
59
+ "jest": "^30.4.2",
60
+ "typescript": "^6.0.2",
61
+ "xlsx": "^0.18.5"
62
+ },
63
+ "jest": {
64
+ "testMatch": [
65
+ "<rootDir>/tests/**/*.test.js"
66
+ ]
67
+ }
68
+ }
package/scripts/doctor.js CHANGED
@@ -1,6 +1,7 @@
1
1
  const fs = require('fs-extra');
2
2
  const path = require('path');
3
3
  const chalk = require('chalk');
4
+ const { spawnSync } = require('child_process');
4
5
  const { detectRtk, isRtkHookConfigured, isGitNexusConfigured } = require('./init');
5
6
 
6
7
  function formatAgo(isoString) {
@@ -111,6 +112,31 @@ module.exports = async function doctor(options = {}) {
111
112
  warnings.push('Missing .claude/settings.json — run `aiflow init`.');
112
113
  }
113
114
 
115
+ // ── Clipboard ─────────────────────────────────────────────
116
+ if (process.platform === 'linux') {
117
+ const isWsl = (() => {
118
+ try { return /microsoft|wsl/i.test(require('fs').readFileSync('/proc/version', 'utf-8')); }
119
+ catch (_) { return false; }
120
+ })();
121
+
122
+ if (!isWsl) {
123
+ const hasWlCopy = spawnSync('which', ['wl-copy'], { stdio: 'ignore' }).status === 0;
124
+ const hasXclip = spawnSync('which', ['xclip'], { stdio: 'ignore' }).status === 0;
125
+ const hasXsel = spawnSync('which', ['xsel'], { stdio: 'ignore' }).status === 0;
126
+
127
+ if (hasWlCopy || hasXclip || hasXsel) {
128
+ const tool = hasWlCopy ? 'wl-copy' : hasXclip ? 'xclip' : 'xsel';
129
+ console.log(chalk.green(`✓ Clipboard tool available (${tool})`));
130
+ } else {
131
+ const isWayland = !!process.env.WAYLAND_DISPLAY;
132
+ const pkg = isWayland ? 'wl-clipboard' : 'xclip';
133
+ warnings.push(`Clipboard tool missing — \`ak prompt\` cannot copy to clipboard. Fix: sudo apt install ${pkg}`);
134
+ console.log(chalk.yellow(` ⚠ Clipboard tool not found (need: ${pkg})`));
135
+ console.log(chalk.gray(` Fix: sudo apt install ${pkg}`));
136
+ }
137
+ }
138
+ }
139
+
114
140
  // ── Token savings tools ────────────────────────────────────
115
141
  console.log('');
116
142
  console.log(chalk.bold('Token savings:'));