centy 0.0.14 → 0.0.16
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/dist/commands/add/asset.d.ts.map +1 -1
- package/dist/commands/add/asset.js +0 -1
- package/dist/commands/add/asset.js.map +1 -1
- package/dist/commands/get/asset.d.ts.map +1 -1
- package/dist/commands/get/asset.js +0 -1
- package/dist/commands/get/asset.js.map +1 -1
- package/dist/commands/register/project.d.ts +3 -0
- package/dist/commands/register/project.d.ts.map +1 -1
- package/dist/commands/register/project.js +29 -3
- package/dist/commands/register/project.js.map +1 -1
- package/dist/tui/App.d.ts.map +1 -1
- package/dist/tui/App.js +49 -10
- package/dist/tui/App.js.map +1 -1
- package/dist/tui/components/domain/DocCreate.d.ts +2 -0
- package/dist/tui/components/domain/DocCreate.d.ts.map +1 -0
- package/dist/tui/components/domain/DocCreate.js +118 -0
- package/dist/tui/components/domain/DocCreate.js.map +1 -0
- package/dist/tui/components/domain/IssueCreate.d.ts +2 -0
- package/dist/tui/components/domain/IssueCreate.d.ts.map +1 -0
- package/dist/tui/components/domain/IssueCreate.js +167 -0
- package/dist/tui/components/domain/IssueCreate.js.map +1 -0
- package/dist/tui/components/domain/IssueDetail.d.ts.map +1 -1
- package/dist/tui/components/domain/IssueDetail.js +1 -1
- package/dist/tui/components/domain/IssueDetail.js.map +1 -1
- package/dist/tui/components/domain/IssueList.d.ts.map +1 -1
- package/dist/tui/components/domain/IssueList.js +100 -14
- package/dist/tui/components/domain/IssueList.js.map +1 -1
- package/dist/tui/components/domain/ProjectCreate.d.ts +2 -0
- package/dist/tui/components/domain/ProjectCreate.d.ts.map +1 -0
- package/dist/tui/components/domain/ProjectCreate.js +61 -0
- package/dist/tui/components/domain/ProjectCreate.js.map +1 -0
- package/dist/tui/components/domain/ProjectList.d.ts.map +1 -1
- package/dist/tui/components/domain/ProjectList.js +4 -1
- package/dist/tui/components/domain/ProjectList.js.map +1 -1
- package/dist/tui/index.d.ts.map +1 -1
- package/dist/tui/index.js +4 -0
- package/dist/tui/index.js.map +1 -1
- package/dist/tui/services/daemon-service.d.ts +15 -1
- package/dist/tui/services/daemon-service.d.ts.map +1 -1
- package/dist/tui/services/daemon-service.js +76 -0
- package/dist/tui/services/daemon-service.js.map +1 -1
- package/dist/tui/state/app-state.d.ts +14 -1
- package/dist/tui/state/app-state.d.ts.map +1 -1
- package/dist/tui/state/app-state.js +16 -1
- package/dist/tui/state/app-state.js.map +1 -1
- package/dist/tui/types/views.d.ts +1 -1
- package/dist/tui/types/views.d.ts.map +1 -1
- package/dist/tui/types/views.js +1 -0
- package/dist/tui/types/views.js.map +1 -1
- package/dist/tui/utils/local-config.d.ts +14 -0
- package/dist/tui/utils/local-config.d.ts.map +1 -0
- package/dist/tui/utils/local-config.js +54 -0
- package/dist/tui/utils/local-config.js.map +1 -0
- package/oclif.manifest.json +57 -48
- package/package.json +1 -1
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
import { type ReactNode, type Dispatch } from 'react';
|
|
2
2
|
import type { ViewId, ViewParams } from '../types/views.js';
|
|
3
3
|
import type { Issue, Doc, ProjectInfo, Config, DaemonInfo } from '../../daemon/types.js';
|
|
4
|
+
export type IssueSortField = 'priority' | 'displayNumber' | 'createdAt' | 'updatedAt' | 'status';
|
|
5
|
+
export type SortDirection = 'asc' | 'desc';
|
|
6
|
+
export interface IssueSortConfig {
|
|
7
|
+
field: IssueSortField;
|
|
8
|
+
direction: SortDirection;
|
|
9
|
+
}
|
|
10
|
+
export declare const SORT_FIELD_LABELS: Record<IssueSortField, string>;
|
|
11
|
+
export declare const DEFAULT_SORT_CONFIG: IssueSortConfig;
|
|
4
12
|
export interface AppState {
|
|
5
13
|
currentView: ViewId;
|
|
6
14
|
viewParams: ViewParams;
|
|
@@ -20,6 +28,7 @@ export interface AppState {
|
|
|
20
28
|
isLoading: boolean;
|
|
21
29
|
error: string | null;
|
|
22
30
|
daemonConnected: boolean;
|
|
31
|
+
issueSort: IssueSortConfig;
|
|
23
32
|
}
|
|
24
33
|
export type AppAction = {
|
|
25
34
|
type: 'NAVIGATE';
|
|
@@ -69,6 +78,9 @@ export type AppAction = {
|
|
|
69
78
|
} | {
|
|
70
79
|
type: 'SET_DAEMON_STATUS';
|
|
71
80
|
connected: boolean;
|
|
81
|
+
} | {
|
|
82
|
+
type: 'SET_ISSUE_SORT';
|
|
83
|
+
sort: IssueSortConfig;
|
|
72
84
|
};
|
|
73
85
|
interface AppContextValue {
|
|
74
86
|
state: AppState;
|
|
@@ -77,8 +89,9 @@ interface AppContextValue {
|
|
|
77
89
|
interface AppProviderProps {
|
|
78
90
|
children: ReactNode;
|
|
79
91
|
initialDaemonConnected?: boolean;
|
|
92
|
+
initialIssueSort?: IssueSortConfig;
|
|
80
93
|
}
|
|
81
|
-
export declare function AppProvider({ children, initialDaemonConnected, }: AppProviderProps): ReactNode;
|
|
94
|
+
export declare function AppProvider({ children, initialDaemonConnected, initialIssueSort, }: AppProviderProps): ReactNode;
|
|
82
95
|
export declare function useAppState(): AppContextValue;
|
|
83
96
|
export {};
|
|
84
97
|
//# sourceMappingURL=app-state.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-state.d.ts","sourceRoot":"","sources":["../../../src/tui/state/app-state.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,SAAS,EACd,KAAK,QAAQ,EACd,MAAM,OAAO,CAAA;AACd,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,KAAK,EACV,KAAK,EACL,GAAG,EACH,WAAW,EACX,MAAM,EACN,UAAU,EACX,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"app-state.d.ts","sourceRoot":"","sources":["../../../src/tui/state/app-state.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
import { jsx as _jsx } from "@opentui/react/jsx-runtime";
|
|
2
2
|
import { createContext, useContext, useReducer, } from 'react';
|
|
3
|
+
export const SORT_FIELD_LABELS = {
|
|
4
|
+
priority: 'Priority',
|
|
5
|
+
displayNumber: 'Number',
|
|
6
|
+
createdAt: 'Created',
|
|
7
|
+
updatedAt: 'Updated',
|
|
8
|
+
status: 'Status',
|
|
9
|
+
};
|
|
10
|
+
export const DEFAULT_SORT_CONFIG = {
|
|
11
|
+
field: 'priority',
|
|
12
|
+
direction: 'asc', // Lower priority number = higher priority, so asc means highest first
|
|
13
|
+
};
|
|
3
14
|
const initialState = {
|
|
4
15
|
currentView: 'projects',
|
|
5
16
|
viewParams: {},
|
|
@@ -16,6 +27,7 @@ const initialState = {
|
|
|
16
27
|
isLoading: false,
|
|
17
28
|
error: null,
|
|
18
29
|
daemonConnected: false,
|
|
30
|
+
issueSort: DEFAULT_SORT_CONFIG,
|
|
19
31
|
};
|
|
20
32
|
function appReducer(state, action) {
|
|
21
33
|
switch (action.type) {
|
|
@@ -81,15 +93,18 @@ function appReducer(state, action) {
|
|
|
81
93
|
return { ...state, error: action.error };
|
|
82
94
|
case 'SET_DAEMON_STATUS':
|
|
83
95
|
return { ...state, daemonConnected: action.connected };
|
|
96
|
+
case 'SET_ISSUE_SORT':
|
|
97
|
+
return { ...state, issueSort: action.sort };
|
|
84
98
|
default:
|
|
85
99
|
return state;
|
|
86
100
|
}
|
|
87
101
|
}
|
|
88
102
|
const AppContext = createContext(null);
|
|
89
|
-
export function AppProvider({ children, initialDaemonConnected = false, }) {
|
|
103
|
+
export function AppProvider({ children, initialDaemonConnected = false, initialIssueSort, }) {
|
|
90
104
|
const [state, dispatch] = useReducer(appReducer, {
|
|
91
105
|
...initialState,
|
|
92
106
|
daemonConnected: initialDaemonConnected,
|
|
107
|
+
issueSort: initialIssueSort ?? DEFAULT_SORT_CONFIG,
|
|
93
108
|
});
|
|
94
109
|
return (_jsx(AppContext.Provider, { value: { state, dispatch }, children: children }));
|
|
95
110
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-state.js","sourceRoot":"","sources":["../../../src/tui/state/app-state.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,aAAa,EACb,UAAU,EACV,UAAU,GAGX,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"app-state.js","sourceRoot":"","sources":["../../../src/tui/state/app-state.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* View/route definitions for the TUI
|
|
3
3
|
*/
|
|
4
|
-
export type ViewId = 'projects' | 'issues' | 'issue-detail' | 'issue-create' | 'docs' | 'doc-detail' | 'doc-create' | 'assets' | 'config' | 'daemon' | 'help';
|
|
4
|
+
export type ViewId = 'projects' | 'project-create' | 'issues' | 'issue-detail' | 'issue-create' | 'docs' | 'doc-detail' | 'doc-create' | 'assets' | 'config' | 'daemon' | 'help';
|
|
5
5
|
export interface ViewParams {
|
|
6
6
|
issueId?: string;
|
|
7
7
|
docSlug?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"views.d.ts","sourceRoot":"","sources":["../../../src/tui/types/views.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,MAAM,GACd,UAAU,GACV,QAAQ,GACR,cAAc,GACd,cAAc,GACd,MAAM,GACN,YAAY,GACZ,YAAY,GACZ,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,MAAM,CAAA;AAEV,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"views.d.ts","sourceRoot":"","sources":["../../../src/tui/types/views.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,MAAM,GACd,UAAU,GACV,gBAAgB,GAChB,QAAQ,GACR,cAAc,GACd,cAAc,GACd,MAAM,GACN,YAAY,GACZ,YAAY,GACZ,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,MAAM,CAAA;AAEV,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAa9C,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,MAAM,EAOjC,CAAA;AAED,kDAAkD;AAClD,eAAO,MAAM,sBAAsB,EAAE,GAAG,CAAC,MAAM,CAK7C,CAAA;AAEF,2DAA2D;AAC3D,wBAAgB,sBAAsB,CAAC,kBAAkB,EAAE,OAAO,GAAG,MAAM,EAAE,CAK5E"}
|
package/dist/tui/types/views.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"views.js","sourceRoot":"","sources":["../../../src/tui/types/views.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"views.js","sourceRoot":"","sources":["../../../src/tui/types/views.ts"],"names":[],"mappings":"AAAA;;GAEG;AAqBH,MAAM,CAAC,MAAM,WAAW,GAA2B;IACjD,QAAQ,EAAE,UAAU;IACpB,gBAAgB,EAAE,aAAa;IAC/B,MAAM,EAAE,QAAQ;IAChB,cAAc,EAAE,cAAc;IAC9B,cAAc,EAAE,WAAW;IAC3B,IAAI,EAAE,MAAM;IACZ,YAAY,EAAE,YAAY;IAC1B,YAAY,EAAE,SAAS;IACvB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;CACb,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAa;IACrC,UAAU;IACV,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,QAAQ;CACT,CAAA;AAED,kDAAkD;AAClD,MAAM,CAAC,MAAM,sBAAsB,GAAgB,IAAI,GAAG,CAAC;IACzD,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,QAAQ;CACT,CAAC,CAAA;AAEF,2DAA2D;AAC3D,MAAM,UAAU,sBAAsB,CAAC,kBAA2B;IAChE,IAAI,kBAAkB,EAAE,CAAC;QACvB,OAAO,aAAa,CAAA;IACtB,CAAC;IACD,OAAO,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;AACxE,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Local configuration utility for TUI user preferences.
|
|
3
|
+
* Stores settings in config.local.json in the user's home directory.
|
|
4
|
+
* This file is user-specific and should not be committed to version control.
|
|
5
|
+
*/
|
|
6
|
+
import type { IssueSortConfig } from '../state/app-state.js';
|
|
7
|
+
export interface LocalConfig {
|
|
8
|
+
issueSort?: IssueSortConfig;
|
|
9
|
+
}
|
|
10
|
+
export declare function loadLocalConfig(): LocalConfig;
|
|
11
|
+
export declare function saveLocalConfig(config: LocalConfig): void;
|
|
12
|
+
export declare function loadIssueSortConfig(): IssueSortConfig;
|
|
13
|
+
export declare function saveIssueSortConfig(sortConfig: IssueSortConfig): void;
|
|
14
|
+
//# sourceMappingURL=local-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-config.d.ts","sourceRoot":"","sources":["../../../src/tui/utils/local-config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAO5D,MAAM,WAAW,WAAW;IAC1B,SAAS,CAAC,EAAE,eAAe,CAAA;CAC5B;AAUD,wBAAgB,eAAe,IAAI,WAAW,CAa7C;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAQzD;AAED,wBAAgB,mBAAmB,IAAI,eAAe,CAGrD;AAED,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI,CAIrE"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Local configuration utility for TUI user preferences.
|
|
3
|
+
* Stores settings in config.local.json in the user's home directory.
|
|
4
|
+
* This file is user-specific and should not be committed to version control.
|
|
5
|
+
*/
|
|
6
|
+
import { readFileSync, writeFileSync, existsSync, mkdirSync } from 'node:fs';
|
|
7
|
+
import { join } from 'node:path';
|
|
8
|
+
import { homedir } from 'node:os';
|
|
9
|
+
import { DEFAULT_SORT_CONFIG } from '../state/app-state.js';
|
|
10
|
+
// Config directory and file paths for local user preferences
|
|
11
|
+
const CONFIG_DIR = join(homedir(), '.centy');
|
|
12
|
+
const CONFIG_FILE = join(CONFIG_DIR, 'config.local.json');
|
|
13
|
+
function ensureConfigDir() {
|
|
14
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename
|
|
15
|
+
if (!existsSync(CONFIG_DIR)) {
|
|
16
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename
|
|
17
|
+
mkdirSync(CONFIG_DIR, { recursive: true });
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
export function loadLocalConfig() {
|
|
21
|
+
try {
|
|
22
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename
|
|
23
|
+
if (!existsSync(CONFIG_FILE)) {
|
|
24
|
+
return {};
|
|
25
|
+
}
|
|
26
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename
|
|
27
|
+
const content = readFileSync(CONFIG_FILE, 'utf-8');
|
|
28
|
+
return JSON.parse(content);
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
// If file doesn't exist or is invalid, return empty config
|
|
32
|
+
return {};
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
export function saveLocalConfig(config) {
|
|
36
|
+
try {
|
|
37
|
+
ensureConfigDir();
|
|
38
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename
|
|
39
|
+
writeFileSync(CONFIG_FILE, JSON.stringify(config, null, 2), 'utf-8');
|
|
40
|
+
}
|
|
41
|
+
catch {
|
|
42
|
+
// Silently fail if we can't write the config
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
export function loadIssueSortConfig() {
|
|
46
|
+
const config = loadLocalConfig();
|
|
47
|
+
return config.issueSort ?? DEFAULT_SORT_CONFIG;
|
|
48
|
+
}
|
|
49
|
+
export function saveIssueSortConfig(sortConfig) {
|
|
50
|
+
const config = loadLocalConfig();
|
|
51
|
+
config.issueSort = sortConfig;
|
|
52
|
+
saveLocalConfig(config);
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=local-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-config.js","sourceRoot":"","sources":["../../../src/tui/utils/local-config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAC5E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAEjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAE3D,6DAA6D;AAC7D,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAA;AAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAA;AAMzD,SAAS,eAAe;IACtB,mEAAmE;IACnE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,mEAAmE;QACnE,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAC5C,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,IAAI,CAAC;QACH,mEAAmE;QACnE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC7B,OAAO,EAAE,CAAA;QACX,CAAC;QACD,mEAAmE;QACnE,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;QAClD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAgB,CAAA;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,2DAA2D;QAC3D,OAAO,EAAE,CAAA;IACX,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAmB;IACjD,IAAI,CAAC;QACH,eAAe,EAAE,CAAA;QACjB,mEAAmE;QACnE,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;IACtE,CAAC;IAAC,MAAM,CAAC;QACP,6CAA6C;IAC/C,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,MAAM,MAAM,GAAG,eAAe,EAAE,CAAA;IAChC,OAAO,MAAM,CAAC,SAAS,IAAI,mBAAmB,CAAA;AAChD,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,UAA2B;IAC7D,MAAM,MAAM,GAAG,eAAe,EAAE,CAAA;IAChC,MAAM,CAAC,SAAS,GAAG,UAAU,CAAA;IAC7B,eAAe,CAAC,MAAM,CAAC,CAAA;AACzB,CAAC"}
|
package/oclif.manifest.json
CHANGED
|
@@ -809,6 +809,51 @@
|
|
|
809
809
|
"pr.js"
|
|
810
810
|
]
|
|
811
811
|
},
|
|
812
|
+
"daemon:autostart": {
|
|
813
|
+
"aliases": [],
|
|
814
|
+
"args": {},
|
|
815
|
+
"description": "Configure daemon to start automatically on boot",
|
|
816
|
+
"examples": [
|
|
817
|
+
"<%= config.bin %> daemon autostart",
|
|
818
|
+
"<%= config.bin %> daemon autostart --enable",
|
|
819
|
+
"<%= config.bin %> daemon autostart --disable"
|
|
820
|
+
],
|
|
821
|
+
"flags": {
|
|
822
|
+
"enable": {
|
|
823
|
+
"description": "Enable autostart on boot",
|
|
824
|
+
"exclusive": [
|
|
825
|
+
"disable"
|
|
826
|
+
],
|
|
827
|
+
"name": "enable",
|
|
828
|
+
"allowNo": false,
|
|
829
|
+
"type": "boolean"
|
|
830
|
+
},
|
|
831
|
+
"disable": {
|
|
832
|
+
"description": "Disable autostart on boot",
|
|
833
|
+
"exclusive": [
|
|
834
|
+
"enable"
|
|
835
|
+
],
|
|
836
|
+
"name": "disable",
|
|
837
|
+
"allowNo": false,
|
|
838
|
+
"type": "boolean"
|
|
839
|
+
}
|
|
840
|
+
},
|
|
841
|
+
"hasDynamicHelp": false,
|
|
842
|
+
"hiddenAliases": [],
|
|
843
|
+
"id": "daemon:autostart",
|
|
844
|
+
"pluginAlias": "centy",
|
|
845
|
+
"pluginName": "centy",
|
|
846
|
+
"pluginType": "core",
|
|
847
|
+
"strict": true,
|
|
848
|
+
"enableJsonFlag": false,
|
|
849
|
+
"isESM": true,
|
|
850
|
+
"relativePath": [
|
|
851
|
+
"dist",
|
|
852
|
+
"commands",
|
|
853
|
+
"daemon",
|
|
854
|
+
"autostart.js"
|
|
855
|
+
]
|
|
856
|
+
},
|
|
812
857
|
"get:asset": {
|
|
813
858
|
"aliases": [],
|
|
814
859
|
"args": {
|
|
@@ -1019,51 +1064,6 @@
|
|
|
1019
1064
|
"project.js"
|
|
1020
1065
|
]
|
|
1021
1066
|
},
|
|
1022
|
-
"daemon:autostart": {
|
|
1023
|
-
"aliases": [],
|
|
1024
|
-
"args": {},
|
|
1025
|
-
"description": "Configure daemon to start automatically on boot",
|
|
1026
|
-
"examples": [
|
|
1027
|
-
"<%= config.bin %> daemon autostart",
|
|
1028
|
-
"<%= config.bin %> daemon autostart --enable",
|
|
1029
|
-
"<%= config.bin %> daemon autostart --disable"
|
|
1030
|
-
],
|
|
1031
|
-
"flags": {
|
|
1032
|
-
"enable": {
|
|
1033
|
-
"description": "Enable autostart on boot",
|
|
1034
|
-
"exclusive": [
|
|
1035
|
-
"disable"
|
|
1036
|
-
],
|
|
1037
|
-
"name": "enable",
|
|
1038
|
-
"allowNo": false,
|
|
1039
|
-
"type": "boolean"
|
|
1040
|
-
},
|
|
1041
|
-
"disable": {
|
|
1042
|
-
"description": "Disable autostart on boot",
|
|
1043
|
-
"exclusive": [
|
|
1044
|
-
"enable"
|
|
1045
|
-
],
|
|
1046
|
-
"name": "disable",
|
|
1047
|
-
"allowNo": false,
|
|
1048
|
-
"type": "boolean"
|
|
1049
|
-
}
|
|
1050
|
-
},
|
|
1051
|
-
"hasDynamicHelp": false,
|
|
1052
|
-
"hiddenAliases": [],
|
|
1053
|
-
"id": "daemon:autostart",
|
|
1054
|
-
"pluginAlias": "centy",
|
|
1055
|
-
"pluginName": "centy",
|
|
1056
|
-
"pluginType": "core",
|
|
1057
|
-
"strict": true,
|
|
1058
|
-
"enableJsonFlag": false,
|
|
1059
|
-
"isESM": true,
|
|
1060
|
-
"relativePath": [
|
|
1061
|
-
"dist",
|
|
1062
|
-
"commands",
|
|
1063
|
-
"daemon",
|
|
1064
|
-
"autostart.js"
|
|
1065
|
-
]
|
|
1066
|
-
},
|
|
1067
1067
|
"install:daemon": {
|
|
1068
1068
|
"aliases": [],
|
|
1069
1069
|
"args": {},
|
|
@@ -1448,9 +1448,18 @@
|
|
|
1448
1448
|
"description": "Register a project for tracking",
|
|
1449
1449
|
"examples": [
|
|
1450
1450
|
"<%= config.bin %> register project",
|
|
1451
|
-
"<%= config.bin %> register project /path/to/project"
|
|
1451
|
+
"<%= config.bin %> register project /path/to/project",
|
|
1452
|
+
"<%= config.bin %> register project --no-init"
|
|
1452
1453
|
],
|
|
1453
|
-
"flags": {
|
|
1454
|
+
"flags": {
|
|
1455
|
+
"init": {
|
|
1456
|
+
"char": "i",
|
|
1457
|
+
"description": "Initialize .centy folder if not already initialized",
|
|
1458
|
+
"name": "init",
|
|
1459
|
+
"allowNo": true,
|
|
1460
|
+
"type": "boolean"
|
|
1461
|
+
}
|
|
1462
|
+
},
|
|
1454
1463
|
"hasDynamicHelp": false,
|
|
1455
1464
|
"hiddenAliases": [],
|
|
1456
1465
|
"id": "register:project",
|
|
@@ -1734,5 +1743,5 @@
|
|
|
1734
1743
|
]
|
|
1735
1744
|
}
|
|
1736
1745
|
},
|
|
1737
|
-
"version": "0.0.
|
|
1746
|
+
"version": "0.0.16"
|
|
1738
1747
|
}
|