panopticon-cli 0.1.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/LICENSE +21 -0
- package/README.md +242 -0
- package/dist/chunk-FR2P66GU.js +352 -0
- package/dist/chunk-FR2P66GU.js.map +1 -0
- package/dist/cli/index.d.ts +1 -0
- package/dist/cli/index.js +3439 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/index.d.ts +108 -0
- package/dist/index.js +69 -0
- package/dist/index.js.map +1 -0
- package/package.json +69 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
declare const PANOPTICON_HOME: string;
|
|
2
|
+
declare const CONFIG_DIR: string;
|
|
3
|
+
declare const SKILLS_DIR: string;
|
|
4
|
+
declare const COMMANDS_DIR: string;
|
|
5
|
+
declare const AGENTS_DIR: string;
|
|
6
|
+
declare const BACKUPS_DIR: string;
|
|
7
|
+
declare const COSTS_DIR: string;
|
|
8
|
+
declare const CONFIG_FILE: string;
|
|
9
|
+
declare const CLAUDE_DIR: string;
|
|
10
|
+
declare const CODEX_DIR: string;
|
|
11
|
+
declare const CURSOR_DIR: string;
|
|
12
|
+
declare const GEMINI_DIR: string;
|
|
13
|
+
declare const SYNC_TARGETS: {
|
|
14
|
+
readonly claude: {
|
|
15
|
+
readonly skills: string;
|
|
16
|
+
readonly commands: string;
|
|
17
|
+
};
|
|
18
|
+
readonly codex: {
|
|
19
|
+
readonly skills: string;
|
|
20
|
+
readonly commands: string;
|
|
21
|
+
};
|
|
22
|
+
readonly cursor: {
|
|
23
|
+
readonly skills: string;
|
|
24
|
+
readonly commands: string;
|
|
25
|
+
};
|
|
26
|
+
readonly gemini: {
|
|
27
|
+
readonly skills: string;
|
|
28
|
+
readonly commands: string;
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
type Runtime = keyof typeof SYNC_TARGETS;
|
|
32
|
+
declare const TEMPLATES_DIR: string;
|
|
33
|
+
declare const CLAUDE_MD_TEMPLATES: string;
|
|
34
|
+
declare const INIT_DIRS: string[];
|
|
35
|
+
|
|
36
|
+
interface PanopticonConfig {
|
|
37
|
+
panopticon: {
|
|
38
|
+
version: string;
|
|
39
|
+
};
|
|
40
|
+
sync: {
|
|
41
|
+
targets: string[];
|
|
42
|
+
backup_before_sync: boolean;
|
|
43
|
+
};
|
|
44
|
+
trackers: {
|
|
45
|
+
primary: string;
|
|
46
|
+
secondary?: string;
|
|
47
|
+
};
|
|
48
|
+
dashboard: {
|
|
49
|
+
port: number;
|
|
50
|
+
api_port: number;
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
declare function loadConfig(): PanopticonConfig;
|
|
54
|
+
declare function saveConfig(config: PanopticonConfig): void;
|
|
55
|
+
declare function getDefaultConfig(): PanopticonConfig;
|
|
56
|
+
|
|
57
|
+
type Shell = 'bash' | 'zsh' | 'fish' | 'unknown';
|
|
58
|
+
declare function detectShell(): Shell;
|
|
59
|
+
declare function getShellRcFile(shell: Shell): string | null;
|
|
60
|
+
declare function hasAlias(rcFile: string): boolean;
|
|
61
|
+
declare function addAlias(rcFile: string): void;
|
|
62
|
+
declare function getAliasInstructions(shell: Shell): string;
|
|
63
|
+
|
|
64
|
+
interface BackupInfo {
|
|
65
|
+
timestamp: string;
|
|
66
|
+
path: string;
|
|
67
|
+
targets: string[];
|
|
68
|
+
}
|
|
69
|
+
declare function createBackupTimestamp(): string;
|
|
70
|
+
declare function createBackup(sourceDirs: string[]): BackupInfo;
|
|
71
|
+
declare function listBackups(): BackupInfo[];
|
|
72
|
+
declare function restoreBackup(timestamp: string, targetDirs: Record<string, string>): void;
|
|
73
|
+
declare function cleanOldBackups(keepCount?: number): number;
|
|
74
|
+
|
|
75
|
+
interface SyncItem {
|
|
76
|
+
name: string;
|
|
77
|
+
sourcePath: string;
|
|
78
|
+
targetPath: string;
|
|
79
|
+
status: 'new' | 'exists' | 'conflict' | 'symlink';
|
|
80
|
+
}
|
|
81
|
+
interface SyncPlan {
|
|
82
|
+
runtime: Runtime;
|
|
83
|
+
skills: SyncItem[];
|
|
84
|
+
commands: SyncItem[];
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Check if a path is a Panopticon-managed symlink
|
|
88
|
+
*/
|
|
89
|
+
declare function isPanopticonSymlink(targetPath: string): boolean;
|
|
90
|
+
/**
|
|
91
|
+
* Plan what would be synced (dry run)
|
|
92
|
+
*/
|
|
93
|
+
declare function planSync(runtime: Runtime): SyncPlan;
|
|
94
|
+
interface SyncOptions {
|
|
95
|
+
force?: boolean;
|
|
96
|
+
dryRun?: boolean;
|
|
97
|
+
}
|
|
98
|
+
interface SyncResult {
|
|
99
|
+
created: string[];
|
|
100
|
+
skipped: string[];
|
|
101
|
+
conflicts: string[];
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Execute sync for a runtime
|
|
105
|
+
*/
|
|
106
|
+
declare function executeSync(runtime: Runtime, options?: SyncOptions): SyncResult;
|
|
107
|
+
|
|
108
|
+
export { AGENTS_DIR, BACKUPS_DIR, type BackupInfo, CLAUDE_DIR, CLAUDE_MD_TEMPLATES, CODEX_DIR, COMMANDS_DIR, CONFIG_DIR, CONFIG_FILE, COSTS_DIR, CURSOR_DIR, GEMINI_DIR, INIT_DIRS, PANOPTICON_HOME, type PanopticonConfig, type Runtime, SKILLS_DIR, SYNC_TARGETS, type Shell, type SyncItem, type SyncOptions, type SyncPlan, type SyncResult, TEMPLATES_DIR, addAlias, cleanOldBackups, createBackup, createBackupTimestamp, detectShell, executeSync, getAliasInstructions, getDefaultConfig, getShellRcFile, hasAlias, isPanopticonSymlink, listBackups, loadConfig, planSync, restoreBackup, saveConfig };
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import {
|
|
2
|
+
AGENTS_DIR,
|
|
3
|
+
BACKUPS_DIR,
|
|
4
|
+
CLAUDE_DIR,
|
|
5
|
+
CLAUDE_MD_TEMPLATES,
|
|
6
|
+
CODEX_DIR,
|
|
7
|
+
COMMANDS_DIR,
|
|
8
|
+
CONFIG_DIR,
|
|
9
|
+
CONFIG_FILE,
|
|
10
|
+
COSTS_DIR,
|
|
11
|
+
CURSOR_DIR,
|
|
12
|
+
GEMINI_DIR,
|
|
13
|
+
INIT_DIRS,
|
|
14
|
+
PANOPTICON_HOME,
|
|
15
|
+
SKILLS_DIR,
|
|
16
|
+
SYNC_TARGETS,
|
|
17
|
+
TEMPLATES_DIR,
|
|
18
|
+
addAlias,
|
|
19
|
+
cleanOldBackups,
|
|
20
|
+
createBackup,
|
|
21
|
+
createBackupTimestamp,
|
|
22
|
+
detectShell,
|
|
23
|
+
executeSync,
|
|
24
|
+
getAliasInstructions,
|
|
25
|
+
getDefaultConfig,
|
|
26
|
+
getShellRcFile,
|
|
27
|
+
hasAlias,
|
|
28
|
+
isPanopticonSymlink,
|
|
29
|
+
listBackups,
|
|
30
|
+
loadConfig,
|
|
31
|
+
planSync,
|
|
32
|
+
restoreBackup,
|
|
33
|
+
saveConfig
|
|
34
|
+
} from "./chunk-FR2P66GU.js";
|
|
35
|
+
export {
|
|
36
|
+
AGENTS_DIR,
|
|
37
|
+
BACKUPS_DIR,
|
|
38
|
+
CLAUDE_DIR,
|
|
39
|
+
CLAUDE_MD_TEMPLATES,
|
|
40
|
+
CODEX_DIR,
|
|
41
|
+
COMMANDS_DIR,
|
|
42
|
+
CONFIG_DIR,
|
|
43
|
+
CONFIG_FILE,
|
|
44
|
+
COSTS_DIR,
|
|
45
|
+
CURSOR_DIR,
|
|
46
|
+
GEMINI_DIR,
|
|
47
|
+
INIT_DIRS,
|
|
48
|
+
PANOPTICON_HOME,
|
|
49
|
+
SKILLS_DIR,
|
|
50
|
+
SYNC_TARGETS,
|
|
51
|
+
TEMPLATES_DIR,
|
|
52
|
+
addAlias,
|
|
53
|
+
cleanOldBackups,
|
|
54
|
+
createBackup,
|
|
55
|
+
createBackupTimestamp,
|
|
56
|
+
detectShell,
|
|
57
|
+
executeSync,
|
|
58
|
+
getAliasInstructions,
|
|
59
|
+
getDefaultConfig,
|
|
60
|
+
getShellRcFile,
|
|
61
|
+
hasAlias,
|
|
62
|
+
isPanopticonSymlink,
|
|
63
|
+
listBackups,
|
|
64
|
+
loadConfig,
|
|
65
|
+
planSync,
|
|
66
|
+
restoreBackup,
|
|
67
|
+
saveConfig
|
|
68
|
+
};
|
|
69
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
package/package.json
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "panopticon-cli",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Multi-agent orchestration for AI coding assistants (Claude Code, Codex, Cursor, Gemini CLI)",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"ai-agents",
|
|
7
|
+
"orchestration",
|
|
8
|
+
"claude-code",
|
|
9
|
+
"codex",
|
|
10
|
+
"cursor",
|
|
11
|
+
"gemini",
|
|
12
|
+
"multi-agent",
|
|
13
|
+
"devtools",
|
|
14
|
+
"linear"
|
|
15
|
+
],
|
|
16
|
+
"author": "Edward Becker <edward.becker@mindyournow.com>",
|
|
17
|
+
"license": "MIT",
|
|
18
|
+
"repository": {
|
|
19
|
+
"type": "git",
|
|
20
|
+
"url": "https://github.com/eltmon/panopticon-cli.git"
|
|
21
|
+
},
|
|
22
|
+
"homepage": "https://github.com/eltmon/panopticon-cli#readme",
|
|
23
|
+
"bugs": {
|
|
24
|
+
"url": "https://github.com/eltmon/panopticon-cli/issues"
|
|
25
|
+
},
|
|
26
|
+
"type": "module",
|
|
27
|
+
"bin": {
|
|
28
|
+
"pan": "./dist/cli/index.js",
|
|
29
|
+
"panopticon": "./dist/cli/index.js"
|
|
30
|
+
},
|
|
31
|
+
"main": "./dist/index.js",
|
|
32
|
+
"types": "./dist/index.d.ts",
|
|
33
|
+
"files": [
|
|
34
|
+
"dist",
|
|
35
|
+
"templates",
|
|
36
|
+
"README.md",
|
|
37
|
+
"LICENSE"
|
|
38
|
+
],
|
|
39
|
+
"engines": {
|
|
40
|
+
"node": ">=18.0.0"
|
|
41
|
+
},
|
|
42
|
+
"scripts": {
|
|
43
|
+
"dev": "tsx watch src/cli/index.ts",
|
|
44
|
+
"build": "tsup",
|
|
45
|
+
"typecheck": "tsc --noEmit",
|
|
46
|
+
"lint": "eslint src/",
|
|
47
|
+
"test": "vitest",
|
|
48
|
+
"prepublishOnly": "npm run build"
|
|
49
|
+
},
|
|
50
|
+
"dependencies": {
|
|
51
|
+
"@iarna/toml": "^2.2.5",
|
|
52
|
+
"@linear/sdk": "^70.0.0",
|
|
53
|
+
"chalk": "^5.6.2",
|
|
54
|
+
"commander": "^12.1.0",
|
|
55
|
+
"conf": "^12.0.0",
|
|
56
|
+
"execa": "^8.0.1",
|
|
57
|
+
"inquirer": "^9.3.8",
|
|
58
|
+
"ora": "^8.2.0"
|
|
59
|
+
},
|
|
60
|
+
"devDependencies": {
|
|
61
|
+
"@types/inquirer": "^9.0.9",
|
|
62
|
+
"@types/node": "^20.10.0",
|
|
63
|
+
"eslint": "^8.55.0",
|
|
64
|
+
"tsup": "^8.0.1",
|
|
65
|
+
"tsx": "^4.6.2",
|
|
66
|
+
"typescript": "^5.3.2",
|
|
67
|
+
"vitest": "^1.0.4"
|
|
68
|
+
}
|
|
69
|
+
}
|