@rigstate/cli 0.7.18 → 0.7.19

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.
@@ -0,0 +1,79 @@
1
+ [
2
+ {
3
+ "skillId": "rigstate-legacy-renovator",
4
+ "patterns": {
5
+ "content": [
6
+ "Vibeline"
7
+ ]
8
+ },
9
+ "confidence": "high"
10
+ },
11
+ {
12
+ "skillId": "sec-sql-01",
13
+ "patterns": {
14
+ "files": [
15
+ "**/*.ts",
16
+ "**/*.js"
17
+ ],
18
+ "content": [
19
+ "rpc(",
20
+ "execute(",
21
+ "query("
22
+ ]
23
+ },
24
+ "confidence": "high"
25
+ },
26
+ {
27
+ "skillId": "sec-rls-01",
28
+ "patterns": {
29
+ "files": [
30
+ "supabase/migrations/*.sql"
31
+ ]
32
+ },
33
+ "confidence": "high"
34
+ },
35
+ {
36
+ "skillId": "sec-key-01",
37
+ "patterns": {
38
+ "content": [
39
+ "sk_live_",
40
+ "sk_test_",
41
+ "AIza",
42
+ "eyJ"
43
+ ]
44
+ },
45
+ "confidence": "high"
46
+ },
47
+ {
48
+ "skillId": "sec-ui-01",
49
+ "patterns": {
50
+ "content": [
51
+ "dangerouslySetInnerHTML"
52
+ ]
53
+ },
54
+ "confidence": "high"
55
+ },
56
+ {
57
+ "skillId": "sec-auth-04",
58
+ "patterns": {
59
+ "files": [
60
+ "app/api/**/*.ts",
61
+ "app/api/**/*.js"
62
+ ],
63
+ "content": [
64
+ "supabase.from",
65
+ "db.select"
66
+ ]
67
+ },
68
+ "confidence": "high"
69
+ },
70
+ {
71
+ "skillId": "rigstate-integrity-gate",
72
+ "patterns": {
73
+ "content": [
74
+ "[CORE INTEGRITY]"
75
+ ]
76
+ },
77
+ "confidence": "high"
78
+ }
79
+ ]
@@ -0,0 +1 @@
1
+ 36637
@@ -0,0 +1,8 @@
1
+ {
2
+ "isRunning": true,
3
+ "startedAt": "2026-01-25T19:54:24.755Z",
4
+ "filesChecked": 2,
5
+ "violationsFound": 29,
6
+ "tasksProcessed": 0,
7
+ "lastActivity": "2026-01-25T20:17:01.185Z"
8
+ }
@@ -0,0 +1,5 @@
1
+ HARD_LOCK_ACTIVE
2
+ Timestamp: 2026-01-25T20:17:01.410Z
3
+
4
+ Blocking Files:
5
+ src/commands/daemon.ts
@@ -0,0 +1,166 @@
1
+ {
2
+ "timestamp": "2026-01-25T20:16:38.778Z",
3
+ "projectId": "bb9f8445-39fd-438c-8ab6-8057f5514395",
4
+ "rules": [
5
+ {
6
+ "id": "7eec5cbe-b7e4-4710-ba93-6231e3fc180c",
7
+ "rule_name": "modular_actions",
8
+ "rule_type": "CUSTOM",
9
+ "value": {
10
+ "description": "Server actions should be split by domain"
11
+ },
12
+ "severity": "info",
13
+ "description": "Keep server actions modular and domain-specific.",
14
+ "source": "global",
15
+ "is_enabled": true
16
+ },
17
+ {
18
+ "id": "600c2477-c85e-4939-8ff7-cb31d388be67",
19
+ "rule_name": "STRICT_MODULARIZATION",
20
+ "rule_type": "CUSTOM",
21
+ "value": {
22
+ "enforce_separation": true
23
+ },
24
+ "severity": "error",
25
+ "description": "Enforce strict separation between Logic (Hooks/Labs) and UI Components.",
26
+ "source": "global",
27
+ "is_enabled": true
28
+ },
29
+ {
30
+ "id": "639aec86-e7d1-4a95-bde8-1f41d8336ce3",
31
+ "rule_name": "COMPLEXITY_GUARD",
32
+ "rule_type": "CUSTOM",
33
+ "value": {
34
+ "max_complexity": 10
35
+ },
36
+ "severity": "warning",
37
+ "description": "Warn when functions become too complex (cyclomatic complexity > 10).",
38
+ "source": "global",
39
+ "is_enabled": true
40
+ },
41
+ {
42
+ "id": "d82d6647-bb47-4295-a5a7-799ebc39d04d",
43
+ "rule_name": "TYPED_CONTRACTS",
44
+ "rule_type": "CUSTOM",
45
+ "value": {
46
+ "strict_interfaces": true
47
+ },
48
+ "severity": "error",
49
+ "description": "Require explicit TypeScript interfaces for all component props and API responses.",
50
+ "source": "global",
51
+ "is_enabled": true
52
+ },
53
+ {
54
+ "id": "865bdd84-870b-4c7a-99f1-8a3297abde68",
55
+ "rule_name": "SINGLE_RESPONSIBILITY",
56
+ "rule_type": "CUSTOM",
57
+ "value": {
58
+ "max_exports": 1
59
+ },
60
+ "severity": "info",
61
+ "description": "Encourage one primary export per file to maintain single responsibility.",
62
+ "source": "global",
63
+ "is_enabled": true
64
+ },
65
+ {
66
+ "id": "4e9a89af-89ca-4af6-916f-40846821aa09",
67
+ "rule_name": "folder_structure",
68
+ "rule_type": "CUSTOM",
69
+ "value": {
70
+ "required_folders": [
71
+ "lib",
72
+ "components",
73
+ "actions"
74
+ ]
75
+ },
76
+ "severity": "warning",
77
+ "description": "Require standard folder structure (lib/, components/, actions/).",
78
+ "source": "global",
79
+ "is_enabled": true
80
+ },
81
+ {
82
+ "id": "6c2b4d8a-c82b-4dc0-b205-c932558bc1c2",
83
+ "rule_name": "max_file_lines",
84
+ "rule_type": "MAX_FILE_LINES",
85
+ "value": {
86
+ "limit": 300,
87
+ "warning_threshold": 250
88
+ },
89
+ "severity": "warning",
90
+ "description": "Files should not exceed 300 lines. Warning at 250.",
91
+ "source": "global",
92
+ "is_enabled": true
93
+ },
94
+ {
95
+ "id": "31942cae-6be9-4961-a969-498af7450e00",
96
+ "rule_name": "MAX_FILE_LINES",
97
+ "rule_type": "MAX_FILE_LINES",
98
+ "value": {
99
+ "limit": 300
100
+ },
101
+ "severity": "warning",
102
+ "description": "Enforce a maximum of 300 lines per file to ensure readability.",
103
+ "source": "global",
104
+ "is_enabled": true
105
+ },
106
+ {
107
+ "id": "13ab9d0c-1943-44ad-8da9-7fd9e9b357f3",
108
+ "rule_name": "max_function_lines",
109
+ "rule_type": "MAX_FUNCTION_LINES",
110
+ "value": {
111
+ "limit": 50,
112
+ "warning_threshold": 35
113
+ },
114
+ "severity": "warning",
115
+ "description": "Functions should not exceed 50 lines. Warning at 35.",
116
+ "source": "global",
117
+ "is_enabled": true
118
+ },
119
+ {
120
+ "id": "4749bce0-21eb-48a4-ad72-0e8e8f8ca032",
121
+ "rule_name": "component_naming",
122
+ "rule_type": "NAMING_CONVENTION",
123
+ "value": {
124
+ "context": "React components",
125
+ "pattern": "^[A-Z][a-zA-Z]*$"
126
+ },
127
+ "severity": "warning",
128
+ "description": "React components must use PascalCase.",
129
+ "source": "global",
130
+ "is_enabled": true
131
+ },
132
+ {
133
+ "id": "9fdddfc2-7af3-4e51-8ed8-4d0ca4a05a98",
134
+ "rule_name": "no_console_log",
135
+ "rule_type": "PATTERN_FORBIDDEN",
136
+ "value": {
137
+ "pattern": "console\\.log",
138
+ "allow_in": [
139
+ "*.test.ts",
140
+ "*.spec.ts"
141
+ ]
142
+ },
143
+ "severity": "info",
144
+ "description": "Avoid console.log in production code.",
145
+ "source": "global",
146
+ "is_enabled": true
147
+ },
148
+ {
149
+ "id": "d403cd91-7b9e-410b-819a-c515664904f7",
150
+ "rule_name": "require_error_handling",
151
+ "rule_type": "PATTERN_REQUIRED",
152
+ "value": {
153
+ "context": "async functions",
154
+ "pattern": "try.*catch|.catch\\("
155
+ },
156
+ "severity": "warning",
157
+ "description": "All async operations must have error handling.",
158
+ "source": "global",
159
+ "is_enabled": true
160
+ }
161
+ ],
162
+ "settings": {
163
+ "lmax": 400,
164
+ "lmax_warning": 350
165
+ }
166
+ }
package/dist/index.cjs CHANGED
@@ -1752,9 +1752,67 @@ var require_dist2 = __commonJS({
1752
1752
  }
1753
1753
  });
1754
1754
 
1755
+ // package.json
1756
+ var require_package = __commonJS({
1757
+ "package.json"(exports2, module2) {
1758
+ module2.exports = {
1759
+ name: "@rigstate/cli",
1760
+ version: "0.7.19",
1761
+ description: "Rigstate CLI - Code audit, sync and supervision tool",
1762
+ type: "module",
1763
+ main: "./dist/index.js",
1764
+ bin: {
1765
+ rigstate: "dist/index.js"
1766
+ },
1767
+ scripts: {
1768
+ dev: "tsup --watch",
1769
+ build: "tsup",
1770
+ lint: "tsc --noEmit",
1771
+ start: "node dist/index.js",
1772
+ test: "node dist/index.js --help"
1773
+ },
1774
+ dependencies: {
1775
+ "@rigstate/rules-engine": "*",
1776
+ "@rigstate/shared": "*",
1777
+ uuid: "^9.0.1",
1778
+ "@types/diff": "^7.0.2",
1779
+ "@types/inquirer": "^9.0.9",
1780
+ axios: "^1.6.5",
1781
+ chalk: "^5.3.0",
1782
+ chokidar: "^3.6.0",
1783
+ commander: "^12.0.0",
1784
+ conf: "^12.0.0",
1785
+ diff: "^4.0.2",
1786
+ dotenv: "^16.4.1",
1787
+ glob: "^10.3.10",
1788
+ inquirer: "^9.3.8",
1789
+ ora: "^8.0.1"
1790
+ },
1791
+ devDependencies: {
1792
+ "@types/node": "^20.11.5",
1793
+ "@types/uuid": "^10.0.0",
1794
+ tsup: "^8.0.1",
1795
+ typescript: "^5.3.3"
1796
+ },
1797
+ engines: {
1798
+ node: ">=18.0.0"
1799
+ },
1800
+ keywords: [
1801
+ "rigstate",
1802
+ "cli",
1803
+ "audit",
1804
+ "security",
1805
+ "code-quality",
1806
+ "supervisor"
1807
+ ],
1808
+ author: "Rigstate",
1809
+ license: "MIT"
1810
+ };
1811
+ }
1812
+ });
1813
+
1755
1814
  // src/index.ts
1756
1815
  init_cjs_shims();
1757
- var import_module = require("module");
1758
1816
  var import_commander23 = require("commander");
1759
1817
  var import_chalk33 = __toESM(require("chalk"), 1);
1760
1818
 
@@ -3209,34 +3267,47 @@ function createFileWatcher(watchPath) {
3209
3267
  emitter.start = () => {
3210
3268
  const absolutePath = import_path15.default.resolve(process.cwd(), watchPath);
3211
3269
  watcher = chokidar.watch(absolutePath, {
3212
- ignored: [
3213
- "**/node_modules/**",
3214
- "**/.git/**",
3215
- "**/.next/**",
3216
- "**/.turbo/**",
3217
- "**/dist/**",
3218
- "**/build/**",
3219
- "**/.rigstate/**",
3220
- "**/coverage/**",
3221
- "**/.DS_Store",
3222
- "**/tmp/**",
3223
- "**/temp/**",
3224
- "**/vendor/**",
3225
- "**/.cache/**",
3226
- "**/public/**"
3227
- ],
3270
+ ignored: (pathStr) => {
3271
+ const segments = pathStr.split(import_path15.default.sep);
3272
+ const ignoreDirs = [
3273
+ "node_modules",
3274
+ ".git",
3275
+ ".next",
3276
+ ".turbo",
3277
+ "dist",
3278
+ "build",
3279
+ ".rigstate",
3280
+ "coverage",
3281
+ "tmp",
3282
+ "temp",
3283
+ "vendor",
3284
+ ".cache",
3285
+ "public",
3286
+ "artifacts",
3287
+ "out",
3288
+ ".vercel",
3289
+ ".npm"
3290
+ ];
3291
+ if (segments.some((segment) => ignoreDirs.includes(segment))) {
3292
+ return true;
3293
+ }
3294
+ const isFile = !!import_path15.default.extname(pathStr);
3295
+ if (isFile && !isCodeFile3(pathStr)) {
3296
+ return true;
3297
+ }
3298
+ return false;
3299
+ },
3228
3300
  persistent: true,
3229
3301
  ignoreInitial: true,
3230
3302
  ignorePermissionErrors: true,
3231
- // Don't crash on EPERM
3232
- depth: 20,
3303
+ depth: 10,
3304
+ // Reduced from 20 for large monorepos
3233
3305
  awaitWriteFinish: {
3234
3306
  stabilityThreshold: 300,
3235
3307
  pollInterval: 100
3236
3308
  },
3237
3309
  usePolling: false,
3238
3310
  atomic: true
3239
- // Handle atomic writes (like vim/saving) better
3240
3311
  });
3241
3312
  watcher.on("change", (filePath) => {
3242
3313
  if (isCodeFile3(filePath)) {
@@ -3916,10 +3987,20 @@ function createDaemonCommand() {
3916
3987
  }
3917
3988
  const spinner = (0, import_ora8.default)();
3918
3989
  try {
3919
- if (await isRunning()) {
3920
- console.log(import_chalk19.default.yellow("\u26A0 Another daemon instance may be running."));
3921
- console.log(import_chalk19.default.dim(` Check ${PID_FILE} or run "rigstate daemon status"`));
3922
- console.log(import_chalk19.default.dim(" Use Ctrl+C to stop the running daemon first.\n"));
3990
+ const pidPath = import_path19.default.join(process.cwd(), PID_FILE);
3991
+ try {
3992
+ const content = await import_promises17.default.readFile(pidPath, "utf-8");
3993
+ const pid = parseInt(content.trim(), 10);
3994
+ try {
3995
+ process.kill(pid, 0);
3996
+ console.log(import_chalk19.default.yellow("\u26A0 Another daemon instance is active (PID " + pid + ")."));
3997
+ console.log(import_chalk19.default.dim(` Run "rigstate daemon status" for details or Ctrl+C to stop.
3998
+ `));
3999
+ } catch {
4000
+ await import_promises17.default.unlink(pidPath).catch(() => {
4001
+ });
4002
+ }
4003
+ } catch {
3923
4004
  }
3924
4005
  spinner.start("Initializing Guardian Daemon...");
3925
4006
  const daemonInstance = await createDaemon({
@@ -9883,8 +9964,7 @@ async function checkVersion() {
9883
9964
 
9884
9965
  // src/index.ts
9885
9966
  var import_dotenv = __toESM(require("dotenv"), 1);
9886
- var require2 = (0, import_module.createRequire)(importMetaUrl);
9887
- var pkg = require2("../package.json");
9967
+ var pkg = require_package();
9888
9968
  import_dotenv.default.config();
9889
9969
  var program = new import_commander23.Command();
9890
9970
  program.name("rigstate").description("CLI for Rigstate - The AI-Native Dev Studio").version(pkg.version);