anhedral 0.4.0 → 0.4.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/CHANGELOG.md +59 -0
- package/CONTRIBUTING.md +4 -0
- package/README.md +76 -57
- package/SKILL.md +107 -12
- package/assets/anhedral-cli-init.svg +238 -0
- package/assets/images/svg/ably-symbol-color.svg +8 -0
- package/assets/images/svg/logo-white-subtract.svg +4 -0
- package/dist/architecture/index.d.ts +2 -2
- package/dist/architecture/index.js +1 -1
- package/dist/architecture/modules.d.ts +5 -1
- package/dist/architecture/modules.js +4 -1
- package/dist/bin.js +113 -84
- package/dist/cli.d.ts +7 -7
- package/dist/cli.js +62 -16
- package/dist/dependencies.d.ts +1 -0
- package/dist/dependencies.js +11 -8
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1 -1
- package/dist/project.d.ts +30 -0
- package/dist/project.js +1 -0
- package/dist/prompts.d.ts +4 -3
- package/dist/prompts.js +29 -7
- package/dist/scaffold.d.ts +12 -24
- package/dist/scaffold.js +345 -124
- package/dist/templates/api.d.ts +1 -1
- package/dist/templates/api.js +67 -2
- package/dist/templates/assets-private-proxy.d.ts +1 -1
- package/dist/templates/desktop.d.ts +1 -1
- package/dist/templates/desktop.js +189 -36
- package/dist/templates/electron-updater.d.ts +1 -1
- package/dist/templates/electron-updater.js +1 -1
- package/dist/templates/extension.d.ts +1 -1
- package/dist/templates/extension.js +138 -14
- package/dist/templates/first-run.d.ts +2 -0
- package/dist/templates/first-run.js +167 -0
- package/dist/templates/mobile.d.ts +1 -1
- package/dist/templates/mobile.js +158 -17
- package/dist/templates/shared.d.ts +1 -1
- package/dist/templates/shared.js +64 -7
- package/dist/templates/web.d.ts +1 -1
- package/dist/templates/web.js +185 -28
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/docs/NORTHSTAR.md +114 -0
- package/docs/conventions.md +6 -4
- package/docs/engineering-principles.md +88 -0
- package/docs/master-stack-map.md +7 -0
- package/docs/output-tree-contract.md +16 -5
- package/docs/references/manual-scaffolding.md +22 -4
- package/docs/references/provisioning.md +434 -77
- package/package.json +10 -2
- package/scripts/render-master-stack-map.mjs +510 -0
package/dist/scaffold.d.ts
CHANGED
|
@@ -1,21 +1,7 @@
|
|
|
1
1
|
import { type ToolchainChannel } from './toolchain.js';
|
|
2
|
-
import { type ModuleId } from './architecture/index.js';
|
|
2
|
+
import { type FileOwnershipClass, type ModuleId } from './architecture/index.js';
|
|
3
3
|
import { type NativeStylingLibrary, type UiTarget } from './ui.js';
|
|
4
|
-
export type AppSelections
|
|
5
|
-
web: boolean;
|
|
6
|
-
mobile: boolean;
|
|
7
|
-
api: boolean;
|
|
8
|
-
desktop: boolean;
|
|
9
|
-
extension: boolean;
|
|
10
|
-
};
|
|
11
|
-
export type FeatureSelections = {
|
|
12
|
-
database: boolean;
|
|
13
|
-
auth: boolean;
|
|
14
|
-
billing: boolean;
|
|
15
|
-
storage: boolean;
|
|
16
|
-
nativeSubscriptions: boolean;
|
|
17
|
-
electronUpdater: boolean;
|
|
18
|
-
};
|
|
4
|
+
export type { AppSelections, FeatureSelections, ProjectOptions } from './project.js';
|
|
19
5
|
export interface InitOptions {
|
|
20
6
|
projectName: string;
|
|
21
7
|
displayName: string;
|
|
@@ -26,6 +12,8 @@ export interface InitOptions {
|
|
|
26
12
|
toolchainChannel: ToolchainChannel;
|
|
27
13
|
uiComponents?: string[];
|
|
28
14
|
nativeStyling?: NativeStylingLibrary;
|
|
15
|
+
/** Initialize Git after generation when the destination is not already inside a worktree. */
|
|
16
|
+
initializeGit?: boolean;
|
|
29
17
|
/** Destination root. Omit to scaffold the current working directory. */
|
|
30
18
|
rootDirectory?: string;
|
|
31
19
|
}
|
|
@@ -48,14 +36,6 @@ export interface UpgradeOptions {
|
|
|
48
36
|
dryRun: boolean;
|
|
49
37
|
json: boolean;
|
|
50
38
|
}
|
|
51
|
-
export interface ProjectOptions {
|
|
52
|
-
projectName: string;
|
|
53
|
-
displayName: string;
|
|
54
|
-
apps: AppSelections;
|
|
55
|
-
features: FeatureSelections;
|
|
56
|
-
skipInstall?: boolean;
|
|
57
|
-
nativeStyling?: NativeStylingLibrary;
|
|
58
|
-
}
|
|
59
39
|
export declare function supportsMobileInstallNode(version: string): boolean;
|
|
60
40
|
export type DoctorIssue = {
|
|
61
41
|
path: string;
|
|
@@ -66,7 +46,15 @@ export type DoctorReport = {
|
|
|
66
46
|
ok: boolean;
|
|
67
47
|
schemaVersion: number;
|
|
68
48
|
generatorVersion: string;
|
|
49
|
+
project: {
|
|
50
|
+
name: string;
|
|
51
|
+
displayName: string;
|
|
52
|
+
};
|
|
53
|
+
modules: readonly ModuleId[];
|
|
54
|
+
toolchain: ToolchainChannel;
|
|
55
|
+
ownership: Record<FileOwnershipClass | 'total', number>;
|
|
69
56
|
issues: DoctorIssue[];
|
|
57
|
+
recommendedActions: string[];
|
|
70
58
|
};
|
|
71
59
|
export declare function isSupportedProjectUpgrade(fromVersion: string, toVersion: string): boolean;
|
|
72
60
|
export declare function scaffoldProject(inputOptions: InitOptions): Promise<void>;
|