heraspec 0.1.6 → 0.1.8

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/README.md CHANGED
@@ -1,6 +1,30 @@
1
- # HeraSpec - A CLI tool for managing project specifications
1
+ # HeraSpec
2
+
3
+ <p align="center">
4
+ <img src="https://img.shields.io/npm/v/heraspec?style=for-the-badge&color=007ec6" alt="npm version" />
5
+ <img src="https://img.shields.io/npm/l/heraspec?style=for-the-badge&color=97ca00" alt="license" />
6
+ <img src="https://img.shields.io/node/v/heraspec?style=for-the-badge&color=339933" alt="node version" />
7
+ <img src="https://img.shields.io/github/actions/workflow/status/PolyXGO/HeraSpec/build.yml?style=for-the-badge" alt="build status" />
8
+ </p>
9
+
10
+ <p align="center">
11
+ <img src="https://img.shields.io/npm/dm/heraspec?style=flat-square&color=20c20e" alt="downloads" />
12
+ <img src="https://img.shields.io/github/stars/PolyXGO/HeraSpec?style=flat-square&color=007ec6" alt="stars" />
13
+ <img src="https://img.shields.io/github/forks/PolyXGO/HeraSpec?style=flat-square&color=007ec6" alt="forks" />
14
+ <img src="https://img.shields.io/github/issues/PolyXGO/HeraSpec?style=flat-square&color=red" alt="issues" />
15
+ </p>
16
+
17
+ ---
18
+
19
+ <p align="left">
20
+ <a href="https://polyxgo.com"><strong>🌐 Website</strong></a> •
21
+ <a href="https://github.com/PolyXGO/HeraSpec"><strong>💻 GitHub</strong></a> •
22
+ <a href="https://www.npmjs.com/package/heraspec"><strong>📦 NPM</strong></a> •
23
+ <a href="./docs/en/USER_GUIDE.md"><strong>📚 Documentation</strong></a>
24
+ </p>
2
25
 
3
26
  HeraSpec is a specification-based development framework that helps you:
27
+
4
28
  - Plan before coding by creating detailed project specifications
5
29
  - Track changes through delta specifications
6
30
  - Work across multiple project types (WordPress, Laravel, React, etc.)
@@ -52,6 +76,17 @@ Integrate with AI tools for better development workflow: Cursor, Antigravity, Wi
52
76
  - **Copilot** - Enhanced development with structured specs
53
77
  - **Claude Desktop** - MCP-ready architecture for AI assistance
54
78
 
79
+ ## Showcase
80
+
81
+ Here are some products built partially or entirely using the HeraSpec framework:
82
+
83
+ - [FlexNote for Perfex CRM](https://codecanyon.net/item/flexinote-for-perfex-crm/60590690) - Advanced note management with AI capabilities.
84
+ - [PolyUtilities for Perfex CRM](https://codecanyon.net/item/polyutilities-for-perfex-crm-quick-access-menu-custom-js-css-and-more/49522529) - Essential toolkit for Perfex CRM customization.
85
+ - [Demo Builder for Perfex CRM](https://erp.polyxgo.com/code/project/demo-builder-for-perfex-crm) - Automated demo instance creator.
86
+ - [PolyMetrics](https://erp.polyxgo.com/code/project/polymetrics) - Product price analysis extension for Envato.
87
+ - [PolyDemo](https://erp.polyxgo.com/code/project/polydemo) - Dynamic demonstration environment for web applications.
88
+ - [Smart Payment for Perfex CRM](https://erp.polyxgo.com/code/project/smart-payment-for-perfex-crm) - Intelligent payment gateway integration.
89
+
55
90
  ## License
56
91
 
57
92
  MIT License - see [LICENSE](./LICENSE) file for details.
package/bin/heraspec.js CHANGED
@@ -3300,9 +3300,13 @@ Test type: ${testType}`));
3300
3300
  async generateTestFiles(specs, testDir, testType, projectInfo) {
3301
3301
  const createdFiles = [];
3302
3302
  for (const spec of specs) {
3303
- const testContent = this.generateTestContent(spec, testType, projectInfo);
3304
3303
  const testFileName = this.getTestFileName(spec.name, testType, projectInfo);
3305
3304
  const testFilePath = path13.join(testDir, testFileName);
3305
+ if (await FileSystemUtils.fileExists(testFilePath)) {
3306
+ console.log(chalk8.yellow(` \u2139 Skipping ${path13.basename(testFilePath)} - already exists.`));
3307
+ continue;
3308
+ }
3309
+ const testContent = this.generateTestContent(spec, testType, projectInfo);
3306
3310
  await FileSystemUtils.writeFile(testFilePath, testContent);
3307
3311
  createdFiles.push(testFilePath);
3308
3312
  }