azcodr 1.5.0 → 1.5.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/.agents/hooks.json +42 -0
- package/.agents/hooks.json.example +42 -42
- package/.agents/mcp_config.json.example +29 -24
- package/.agents/scripts/safety_guard.sh +34 -16
- package/.agents/scripts/verify_completion.sh +27 -13
- package/.agents/skills/agentic-architect/SKILL.md +125 -125
- package/.agents/skills/agentic-architect/references/agents_md_template.md +62 -62
- package/.agents/skills/agentic-architect/references/refinement_workflow.md +32 -32
- package/.agents/skills/agentic-architect/references/skill_architecture_inquiry.md +63 -63
- package/.agents/skills/agentic-architect/references/skill_template.md +56 -56
- package/.agents/skills/agentic-architect/scripts/validate_agentic_configs.sh +402 -362
- package/.agents/skills/clean-code-refactor/SKILL.md +91 -91
- package/.agents/skills/clean-code-refactor/references/clean_code_smells.md +27 -27
- package/.agents/skills/clean-code-refactor/references/design_patterns_ts.md +65 -65
- package/.agents/skills/compliance-audit/SKILL.md +120 -120
- package/.agents/skills/compliance-audit/references/owasp_top10_controls.md +16 -16
- package/.agents/skills/compliance-audit/references/soc2_iso_controls.md +28 -28
- package/.agents/skills/lets-build/SKILL.md +173 -172
- package/.agents/skills/lets-build/references/architecture_interview_matrix.md +115 -115
- package/.agents/skills/lets-build/references/hexagonal_bootstrap_scaffolds.md +160 -160
- package/.agents/skills/lets-build/references/project_readme_template.md +79 -79
- package/.agents/skills/lets-build/scripts/bootstrap_workspace.sh +255 -253
- package/.agents/skills/product-analyst/SKILL.md +154 -154
- package/.agents/skills/product-analyst/references/backlog_ordering_techniques.md +107 -107
- package/.agents/skills/product-analyst/references/gherkin_patterns.md +46 -46
- package/.agents/skills/product-analyst/references/invest_checklist.md +38 -38
- package/.agents/skills/product-analyst/references/okr_alignment_guide.md +76 -76
- package/.agents/skills/product-analyst/references/smart_tasks.md +59 -59
- package/.agents/skills/relentless-questioner/SKILL.md +128 -128
- package/.agents/skills/relentless-questioner/references/adaptive_question_trees.md +102 -102
- package/.editorconfig +19 -19
- package/.github/copilot-instructions.md +1 -0
- package/.github/workflows/ci.yml +78 -0
- package/.gitignore +25 -25
- package/AGENTS.md +102 -102
- package/LICENSE +21 -21
- package/README.md +165 -154
- package/bin/azcodr.js +228 -228
- package/data/.gitkeep +0 -0
- package/docs/knowledge/ubiquitous_language.md +18 -18
- package/docs/rules/agentic_configuration.md +259 -259
- package/docs/rules/api_architecture.md +179 -179
- package/docs/rules/authentication.md +76 -76
- package/docs/rules/authorization.md +75 -75
- package/docs/rules/caching.md +69 -69
- package/docs/rules/clean_code.md +62 -62
- package/docs/rules/cloud_native.md +41 -41
- package/docs/rules/cqrs.md +203 -203
- package/docs/rules/database_design.md +125 -125
- package/docs/rules/database_operations.md +69 -69
- package/docs/rules/design_patterns.md +98 -98
- package/docs/rules/devops_ci_cd.md +76 -76
- package/docs/rules/domain_driven_design.md +122 -122
- package/docs/rules/error_handling.md +52 -52
- package/docs/rules/feature_flags.md +59 -59
- package/docs/rules/frontend_architecture.md +157 -157
- package/docs/rules/multitenancy_architecture.md +98 -98
- package/docs/rules/product_ownership.md +127 -127
- package/docs/rules/project_management.md +49 -49
- package/docs/rules/relentless_questioning.md +52 -52
- package/docs/rules/requirements_engineering.md +98 -98
- package/docs/rules/security_compliance.md +53 -53
- package/docs/rules/server_driven_ui.md +88 -88
- package/docs/rules/test_driven_development.md +185 -185
- package/docs/rules/transactional_email.md +27 -27
- package/docs/rules/type_safety.md +65 -65
- package/docs/rules/ui_ux_architecture.md +150 -150
- package/docs/rules/workflow_state_machines.md +117 -117
- package/lib/index.d.ts +134 -123
- package/lib/index.js +5 -5
- package/lib/scaffold.js +448 -351
- package/memory.md +36 -36
- package/package.json +62 -59
- package/scripts/test_coverage.js +38 -0
- package/scripts/validate.js +258 -0
package/lib/index.d.ts
CHANGED
|
@@ -1,123 +1,134 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Enterprise Multi-Tenant Architecture & Agentic Engineering Starter Template
|
|
3
|
-
* Programmatic API Definitions
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
export interface ScaffoldOptions {
|
|
7
|
-
/** Target directory path where template should be scaffolded (default: process.cwd()) */
|
|
8
|
-
targetDir?: string;
|
|
9
|
-
/** Force overwrite if target directory is non-empty (default: false) */
|
|
10
|
-
force?: boolean;
|
|
11
|
-
/** Skip git repository initialization (default: false) */
|
|
12
|
-
noGit?: boolean;
|
|
13
|
-
/** Custom template root directory (default: azcodr root) */
|
|
14
|
-
templateDir?: string;
|
|
15
|
-
/** Simulate scaffolding without writing files or running git (default: false) */
|
|
16
|
-
dryRun?: boolean;
|
|
17
|
-
/** Suppress console output messages (default: false) */
|
|
18
|
-
silent?: boolean;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export interface ScaffoldResult {
|
|
22
|
-
/** Whether the scaffolding succeeded */
|
|
23
|
-
success: boolean;
|
|
24
|
-
/** Absolute resolved path of the target directory */
|
|
25
|
-
targetDir: string;
|
|
26
|
-
/** Whether git init was successfully executed */
|
|
27
|
-
gitInitialized: boolean;
|
|
28
|
-
/** Whether execution ran in dry-run simulation mode */
|
|
29
|
-
dryRun: boolean;
|
|
30
|
-
/** List of files, directories, and symlinks created or simulated */
|
|
31
|
-
actions: string[];
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
export interface ValidateTargetOptions {
|
|
35
|
-
/** Custom template root directory */
|
|
36
|
-
templateDir?: string;
|
|
37
|
-
/** Force allow non-empty directory */
|
|
38
|
-
force?: boolean;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
export interface InitGitOptions {
|
|
42
|
-
/** If true, skips git initialization */
|
|
43
|
-
noGit?: boolean;
|
|
44
|
-
/** If true, simulates git initialization without executing */
|
|
45
|
-
dryRun?: boolean;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
export interface CopyTemplateOptions {
|
|
49
|
-
/** If true, simulates copy without writing to disk */
|
|
50
|
-
dryRun?: boolean;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* High-level orchestration function to scaffold the azcodr workspace into targetDir.
|
|
55
|
-
*/
|
|
56
|
-
export function scaffold(options?: ScaffoldOptions): ScaffoldResult;
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* Validates the target directory to ensure it is suitable for scaffolding.
|
|
60
|
-
*/
|
|
61
|
-
export function validateTarget(targetDir: string, options?: ValidateTargetOptions): void;
|
|
62
|
-
|
|
63
|
-
/**
|
|
64
|
-
* Copies template items into target directory and sets up symlinks and permissions.
|
|
65
|
-
*/
|
|
66
|
-
export function copyTemplate(
|
|
67
|
-
targetDir: string,
|
|
68
|
-
templateDir?: string,
|
|
69
|
-
options?: CopyTemplateOptions
|
|
70
|
-
): string[];
|
|
71
|
-
|
|
72
|
-
/**
|
|
73
|
-
* Safely creates or updates a symbolic link, falling back to a file copy if symlinks are unsupported.
|
|
74
|
-
*/
|
|
75
|
-
export function ensureSymlink(
|
|
76
|
-
targetDir: string,
|
|
77
|
-
linkName: string,
|
|
78
|
-
targetFileName: string,
|
|
79
|
-
dryRun?: boolean
|
|
80
|
-
): boolean;
|
|
81
|
-
|
|
82
|
-
/**
|
|
83
|
-
*
|
|
84
|
-
*/
|
|
85
|
-
export function
|
|
86
|
-
targetDir: string,
|
|
87
|
-
linkName: string,
|
|
88
|
-
targetFileName: string
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
/**
|
|
102
|
-
*
|
|
103
|
-
*/
|
|
104
|
-
export function
|
|
105
|
-
|
|
106
|
-
/**
|
|
107
|
-
*
|
|
108
|
-
*/
|
|
109
|
-
export
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Enterprise Multi-Tenant Architecture & Agentic Engineering Starter Template
|
|
3
|
+
* Programmatic API Definitions
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
export interface ScaffoldOptions {
|
|
7
|
+
/** Target directory path where template should be scaffolded (default: process.cwd()) */
|
|
8
|
+
targetDir?: string;
|
|
9
|
+
/** Force overwrite if target directory is non-empty (default: false) */
|
|
10
|
+
force?: boolean;
|
|
11
|
+
/** Skip git repository initialization (default: false) */
|
|
12
|
+
noGit?: boolean;
|
|
13
|
+
/** Custom template root directory (default: azcodr root) */
|
|
14
|
+
templateDir?: string;
|
|
15
|
+
/** Simulate scaffolding without writing files or running git (default: false) */
|
|
16
|
+
dryRun?: boolean;
|
|
17
|
+
/** Suppress console output messages (default: false) */
|
|
18
|
+
silent?: boolean;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export interface ScaffoldResult {
|
|
22
|
+
/** Whether the scaffolding succeeded */
|
|
23
|
+
success: boolean;
|
|
24
|
+
/** Absolute resolved path of the target directory */
|
|
25
|
+
targetDir: string;
|
|
26
|
+
/** Whether git init was successfully executed */
|
|
27
|
+
gitInitialized: boolean;
|
|
28
|
+
/** Whether execution ran in dry-run simulation mode */
|
|
29
|
+
dryRun: boolean;
|
|
30
|
+
/** List of files, directories, and symlinks created or simulated */
|
|
31
|
+
actions: string[];
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export interface ValidateTargetOptions {
|
|
35
|
+
/** Custom template root directory */
|
|
36
|
+
templateDir?: string;
|
|
37
|
+
/** Force allow non-empty directory */
|
|
38
|
+
force?: boolean;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export interface InitGitOptions {
|
|
42
|
+
/** If true, skips git initialization */
|
|
43
|
+
noGit?: boolean;
|
|
44
|
+
/** If true, simulates git initialization without executing */
|
|
45
|
+
dryRun?: boolean;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export interface CopyTemplateOptions {
|
|
49
|
+
/** If true, simulates copy without writing to disk */
|
|
50
|
+
dryRun?: boolean;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* High-level orchestration function to scaffold the azcodr workspace into targetDir.
|
|
55
|
+
*/
|
|
56
|
+
export function scaffold(options?: ScaffoldOptions): ScaffoldResult;
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Validates the target directory to ensure it is suitable for scaffolding.
|
|
60
|
+
*/
|
|
61
|
+
export function validateTarget(targetDir: string, options?: ValidateTargetOptions): void;
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Copies template items into target directory and sets up symlinks and permissions.
|
|
65
|
+
*/
|
|
66
|
+
export function copyTemplate(
|
|
67
|
+
targetDir: string,
|
|
68
|
+
templateDir?: string,
|
|
69
|
+
options?: CopyTemplateOptions
|
|
70
|
+
): string[];
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Safely creates or updates a symbolic link, falling back to a file copy if symlinks are unsupported.
|
|
74
|
+
*/
|
|
75
|
+
export function ensureSymlink(
|
|
76
|
+
targetDir: string,
|
|
77
|
+
linkName: string,
|
|
78
|
+
targetFileName: string,
|
|
79
|
+
dryRun?: boolean
|
|
80
|
+
): boolean;
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Creates a symlink, falling back to a text pointer (not a full copy).
|
|
84
|
+
*/
|
|
85
|
+
export function ensureSymlinkOrPointer(
|
|
86
|
+
targetDir: string,
|
|
87
|
+
linkName: string,
|
|
88
|
+
targetFileName: string,
|
|
89
|
+
dryRun?: boolean
|
|
90
|
+
): boolean;
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* Detects whether linkName and targetFileName refer to the same entry on a case-insensitive filesystem.
|
|
94
|
+
*/
|
|
95
|
+
export function isSameCaseInsensitiveFile(
|
|
96
|
+
targetDir: string,
|
|
97
|
+
linkName: string,
|
|
98
|
+
targetFileName: string
|
|
99
|
+
): boolean;
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* Ensures all bash scripts in skill directories have executable permissions (0o755).
|
|
103
|
+
*/
|
|
104
|
+
export function makeScriptsExecutable(targetDir: string, dryRun?: boolean): string[];
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* Initializes a git repository in the target directory if not already inside one.
|
|
108
|
+
*/
|
|
109
|
+
export function initGit(targetDir: string, options?: InitGitOptions): boolean;
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* Returns the root path to the azcodr template files.
|
|
113
|
+
*/
|
|
114
|
+
export function getTemplateDir(): string;
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* Array of essential template files and directories copied during scaffolding.
|
|
118
|
+
*/
|
|
119
|
+
export const TEMPLATE_ITEMS: readonly string[];
|
|
120
|
+
|
|
121
|
+
declare const defaultExport: {
|
|
122
|
+
scaffold: typeof scaffold;
|
|
123
|
+
validateTarget: typeof validateTarget;
|
|
124
|
+
copyTemplate: typeof copyTemplate;
|
|
125
|
+
ensureSymlink: typeof ensureSymlink;
|
|
126
|
+
ensureSymlinkOrPointer: typeof ensureSymlinkOrPointer;
|
|
127
|
+
isSameCaseInsensitiveFile: typeof isSameCaseInsensitiveFile;
|
|
128
|
+
makeScriptsExecutable: typeof makeScriptsExecutable;
|
|
129
|
+
initGit: typeof initGit;
|
|
130
|
+
getTemplateDir: typeof getTemplateDir;
|
|
131
|
+
TEMPLATE_ITEMS: typeof TEMPLATE_ITEMS;
|
|
132
|
+
};
|
|
133
|
+
|
|
134
|
+
export default defaultExport;
|
package/lib/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const scaffold = require('./scaffold.js');
|
|
4
|
-
|
|
5
|
-
module.exports = scaffold;
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const scaffold = require('./scaffold.js');
|
|
4
|
+
|
|
5
|
+
module.exports = scaffold;
|