@zweer/dev 1.3.0 → 2.0.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/README.md +68 -795
- package/configs/_biome.json +38 -0
- package/configs/commitlint.config.ts +1 -0
- package/configs/editorconfig +16 -0
- package/configs/lefthook.yml +38 -0
- package/configs/lockfile-lintrc.json +6 -0
- package/configs/npmpackagejsonlintrc.json +34 -0
- package/configs/tsconfig.json +9 -0
- package/configs/tsdown.config.ts +8 -0
- package/configs/vitest.config.ts +12 -0
- package/dist/index.d.mts +1 -0
- package/dist/index.mjs +247 -0
- package/dist/index.mjs.map +1 -0
- package/kiro/agents/zweer-setup.json +38 -0
- package/kiro/prompts/zweer-setup.md +55 -0
- package/kiro/skills/agent-template/SKILL.md +22 -0
- package/kiro/skills/agent-template/references/base.json +38 -0
- package/kiro/skills/agent-template/references/example-monorepo-library.json +60 -0
- package/kiro/skills/agent-template/references/example-webapp-vercel.json +54 -0
- package/kiro/skills/prompt-template/SKILL.md +23 -0
- package/kiro/skills/prompt-template/references/example-library.md +56 -0
- package/kiro/skills/prompt-template/references/example-webapp.md +57 -0
- package/kiro/skills/skill-templates/SKILL.md +23 -0
- package/kiro/skills/skill-templates/references/new-package.md +72 -0
- package/kiro/skills/steering-templates/SKILL.md +31 -0
- package/kiro/skills/steering-templates/references/build-tooling.md +62 -0
- package/kiro/skills/steering-templates/references/code-style.md +83 -0
- package/kiro/skills/steering-templates/references/commit-conventions.md +58 -0
- package/kiro/skills/steering-templates/references/interaction.md +41 -0
- package/kiro/skills/steering-templates/references/testing.md +61 -0
- package/kiro/steering/build-tooling.md +62 -0
- package/kiro/steering/code-style.md +83 -0
- package/kiro/steering/commit-conventions.md +58 -0
- package/kiro/steering/interaction.md +41 -0
- package/kiro/steering/testing.md +61 -0
- package/package.json +42 -57
- package/templates/monorepo/CHANGELOG.md +5 -0
- package/templates/monorepo/README.md +22 -0
- package/templates/monorepo/package.json +30 -0
- package/templates/monorepo/packages/core/CHANGELOG.md +5 -0
- package/templates/monorepo/packages/core/README.md +21 -0
- package/templates/monorepo/packages/core/package.json +28 -0
- package/templates/monorepo/packages/core/src/index.ts +3 -0
- package/templates/monorepo/packages/core/test/index.test.ts +9 -0
- package/templates/monorepo/tsdown.config.ts +12 -0
- package/templates/monorepo/vitest.config.ts +12 -0
- package/templates/single/CHANGELOG.md +5 -0
- package/templates/single/README.md +30 -0
- package/templates/single/package.json +38 -0
- package/templates/single/src/index.ts +3 -0
- package/templates/single/test/index.test.ts +9 -0
- package/templates/single/tsdown.config.ts +11 -0
- package/workflows/base/ci.yml +24 -0
- package/workflows/base/dependabot-auto-merge.yml +43 -0
- package/workflows/base/dependabot-lockfile.yml +34 -0
- package/workflows/base/dependabot.yml +39 -0
- package/workflows/base/pr.yml +41 -0
- package/workflows/base/security.yml +25 -0
- package/workflows/docs/docs.yml +47 -0
- package/workflows/library/npm.yml +45 -0
- package/agents/data/zweer_data_engineer.md +0 -436
- package/agents/design/zweer_ui_designer.md +0 -171
- package/agents/design/zweer_ui_ux.md +0 -124
- package/agents/infrastructure/zweer_infra_cdk.md +0 -701
- package/agents/infrastructure/zweer_infra_devops.md +0 -148
- package/agents/infrastructure/zweer_infra_observability.md +0 -610
- package/agents/infrastructure/zweer_infra_terraform.md +0 -658
- package/agents/mobile/zweer_mobile_android.md +0 -636
- package/agents/mobile/zweer_mobile_flutter.md +0 -623
- package/agents/mobile/zweer_mobile_ionic.md +0 -550
- package/agents/mobile/zweer_mobile_ios.md +0 -504
- package/agents/mobile/zweer_mobile_react_native.md +0 -561
- package/agents/quality/zweer_qa_documentation.md +0 -202
- package/agents/quality/zweer_qa_performance.md +0 -160
- package/agents/quality/zweer_qa_security.md +0 -197
- package/agents/quality/zweer_qa_testing.md +0 -189
- package/agents/services/zweer_svc_api_gateway.md +0 -553
- package/agents/services/zweer_svc_containers.md +0 -575
- package/agents/services/zweer_svc_lambda.md +0 -373
- package/agents/services/zweer_svc_messaging.md +0 -543
- package/agents/services/zweer_svc_microservices.md +0 -502
- package/agents/web/zweer_web_api_integration.md +0 -500
- package/agents/web/zweer_web_backend.md +0 -358
- package/agents/web/zweer_web_database.md +0 -357
- package/agents/web/zweer_web_frontend.md +0 -375
- package/agents/web/zweer_web_reader.md +0 -229
- package/agents/write/zweer_write_content.md +0 -499
- package/agents/write/zweer_write_narrative.md +0 -409
- package/agents/write/zweer_write_style.md +0 -247
- package/agents/write/zweer_write_warmth.md +0 -282
- package/cli/commands/bootstrap.d.ts +0 -4
- package/cli/commands/bootstrap.js +0 -377
- package/cli/commands/cao/agent/create.d.ts +0 -25
- package/cli/commands/cao/agent/create.js +0 -221
- package/cli/commands/cao/agent/index.d.ts +0 -2
- package/cli/commands/cao/agent/index.js +0 -8
- package/cli/commands/cao/agent/list.d.ts +0 -3
- package/cli/commands/cao/agent/list.js +0 -29
- package/cli/commands/cao/agent/remove.d.ts +0 -5
- package/cli/commands/cao/agent/remove.js +0 -39
- package/cli/commands/cao/index.d.ts +0 -2
- package/cli/commands/cao/index.js +0 -20
- package/cli/commands/cao/install.d.ts +0 -10
- package/cli/commands/cao/install.js +0 -59
- package/cli/commands/cao/launch.d.ts +0 -3
- package/cli/commands/cao/launch.js +0 -21
- package/cli/commands/cao/list.d.ts +0 -6
- package/cli/commands/cao/list.js +0 -36
- package/cli/commands/cao/server.d.ts +0 -3
- package/cli/commands/cao/server.js +0 -20
- package/cli/commands/cao/status.d.ts +0 -2
- package/cli/commands/cao/status.js +0 -25
- package/cli/commands/cao/sync.d.ts +0 -6
- package/cli/commands/cao/sync.js +0 -52
- package/cli/commands/cao/uninstall.d.ts +0 -2
- package/cli/commands/cao/uninstall.js +0 -16
- package/cli/commands/setup.d.ts +0 -4
- package/cli/commands/setup.js +0 -346
- package/cli/index.d.ts +0 -2
- package/cli/index.js +0 -13
- package/cli/utils/agents.d.ts +0 -8
- package/cli/utils/agents.js +0 -55
- package/cli/utils/cao.d.ts +0 -11
- package/cli/utils/cao.js +0 -56
- package/cli/utils/paths.d.ts +0 -5
- package/cli/utils/paths.js +0 -11
- package/templates/orchestrator_lambda.md +0 -263
- package/templates/orchestrator_microservices.md +0 -345
- package/templates/orchestrator_mobile.md +0 -199
- package/templates/orchestrator_webapp.md +0 -190
- package/templates/orchestrator_writing.md +0 -306
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# Build & Tooling
|
|
2
|
+
|
|
3
|
+
## Build System
|
|
4
|
+
|
|
5
|
+
### tsdown
|
|
6
|
+
- **tsdown** for building all packages (NOT tsc, esbuild, rollup)
|
|
7
|
+
- Configuration: `tsdown.config.ts` at root
|
|
8
|
+
- Workspace mode for monorepos
|
|
9
|
+
- Outputs: `.mjs` + `.d.ts` + sourcemaps
|
|
10
|
+
- tsc is only used for type-checking (`tsc --noEmit`)
|
|
11
|
+
|
|
12
|
+
### Build Commands
|
|
13
|
+
```bash
|
|
14
|
+
npm run build # Build with tsdown
|
|
15
|
+
npm run clean # Remove dist/
|
|
16
|
+
npm run lint:typecheck # Type-check only (tsc --noEmit)
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Linting & Formatting
|
|
20
|
+
|
|
21
|
+
### Biome
|
|
22
|
+
- **Biome** for linting and formatting (NOT ESLint/Prettier)
|
|
23
|
+
- Single quotes, 100 line width
|
|
24
|
+
- Uses `.editorconfig` for indent settings
|
|
25
|
+
- Import sorting with grouped blank lines
|
|
26
|
+
|
|
27
|
+
### Commands
|
|
28
|
+
```bash
|
|
29
|
+
npm run lint # All linters in parallel
|
|
30
|
+
npm run lint:format # Biome check + fix
|
|
31
|
+
npm run lint:typecheck # TypeScript check
|
|
32
|
+
npm run lint:lockfile # Lockfile security
|
|
33
|
+
npm run lint:package # package.json validation
|
|
34
|
+
npm run lint:sort_package # Sort package.json keys
|
|
35
|
+
npm run lint:engines # Validate engine compatibility
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Git Hooks
|
|
39
|
+
|
|
40
|
+
### Lefthook
|
|
41
|
+
- **Lefthook** for git hooks (NOT husky + lint-staged)
|
|
42
|
+
- Configuration: `lefthook.yml` at root
|
|
43
|
+
- Pre-commit: biome → lockfile → package-lint → sort → build → typecheck → test
|
|
44
|
+
- Commit-msg: commitlint validation
|
|
45
|
+
- Built-in staging support (`stage_fixed: true`)
|
|
46
|
+
|
|
47
|
+
## Package Manager
|
|
48
|
+
|
|
49
|
+
### npm
|
|
50
|
+
- Use **npm** (NOT pnpm or yarn)
|
|
51
|
+
- Lock file: `package-lock.json`
|
|
52
|
+
- Workspaces enabled in root `package.json` for monorepos
|
|
53
|
+
|
|
54
|
+
## Scripts Reference
|
|
55
|
+
|
|
56
|
+
| Script | Description |
|
|
57
|
+
|--------|-------------|
|
|
58
|
+
| `npm run build` | Build with tsdown |
|
|
59
|
+
| `npm run clean` | Remove dist/ |
|
|
60
|
+
| `npm run lint` | All linters in parallel |
|
|
61
|
+
| `npm test` | Run tests |
|
|
62
|
+
| `npm run test:coverage` | Tests with coverage |
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# Code Style & Best Practices
|
|
2
|
+
|
|
3
|
+
## TypeScript
|
|
4
|
+
|
|
5
|
+
### Strict Mode
|
|
6
|
+
- Always use strict mode (enabled in `tsconfig.json`)
|
|
7
|
+
- No `any` types — use `unknown` or proper types
|
|
8
|
+
- Explicit return types on all exported functions
|
|
9
|
+
- Explicit parameter types always
|
|
10
|
+
|
|
11
|
+
### Module System
|
|
12
|
+
- ES modules only (`"type": "module"` in package.json)
|
|
13
|
+
- Use `.js` extensions in imports (TypeScript requirement for ES modules)
|
|
14
|
+
- Example: `import { foo } from './bar.js'` (not `./bar` or `./bar.ts`)
|
|
15
|
+
|
|
16
|
+
### Naming Conventions
|
|
17
|
+
- **camelCase** for variables, functions, methods
|
|
18
|
+
- **PascalCase** for classes, interfaces, types
|
|
19
|
+
- **UPPER_SNAKE_CASE** for constants
|
|
20
|
+
- **kebab-case** for file names
|
|
21
|
+
|
|
22
|
+
### Code Organization
|
|
23
|
+
```typescript
|
|
24
|
+
// 1. Imports (external first, then internal)
|
|
25
|
+
import { execa } from 'execa';
|
|
26
|
+
import type { Config } from './types.js';
|
|
27
|
+
|
|
28
|
+
// 2. Types/Interfaces
|
|
29
|
+
export interface MyConfig {
|
|
30
|
+
option: string;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
// 3. Constants
|
|
34
|
+
const DEFAULT_TIMEOUT = 5000;
|
|
35
|
+
|
|
36
|
+
// 4. Classes/Functions
|
|
37
|
+
export class MyClass {}
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### Type Definitions
|
|
41
|
+
- Prefer `interface` over `type` for object shapes
|
|
42
|
+
- Use `type` for unions, intersections, mapped types
|
|
43
|
+
- Export all public types
|
|
44
|
+
- Use `readonly` for immutable properties
|
|
45
|
+
|
|
46
|
+
## Code Quality
|
|
47
|
+
|
|
48
|
+
### Minimal Code
|
|
49
|
+
- Write only what's necessary
|
|
50
|
+
- No premature abstractions
|
|
51
|
+
- No unused code or imports
|
|
52
|
+
- No commented-out code in commits
|
|
53
|
+
|
|
54
|
+
### Error Handling
|
|
55
|
+
- Always throw typed errors with clear messages
|
|
56
|
+
- Include context in error messages
|
|
57
|
+
- Use `try/catch` for async operations
|
|
58
|
+
|
|
59
|
+
### Async/Await
|
|
60
|
+
- Prefer `async/await` over `.then()/.catch()`
|
|
61
|
+
- Always handle errors in async functions
|
|
62
|
+
- Use `Promise.all()` for parallel operations
|
|
63
|
+
|
|
64
|
+
## Dependencies
|
|
65
|
+
|
|
66
|
+
### Minimal Dependencies
|
|
67
|
+
- Only add dependencies when absolutely necessary
|
|
68
|
+
- Prefer native Node.js APIs when possible
|
|
69
|
+
- Use `^` for dependencies (allow minor/patch updates)
|
|
70
|
+
- Keep dependencies up to date — run `npm outdated` regularly
|
|
71
|
+
- Security updates must be applied immediately
|
|
72
|
+
|
|
73
|
+
## Comments & Documentation
|
|
74
|
+
|
|
75
|
+
### When to Comment
|
|
76
|
+
- Complex algorithms or non-obvious logic
|
|
77
|
+
- Public APIs (JSDoc)
|
|
78
|
+
- Workarounds or hacks (with explanation)
|
|
79
|
+
|
|
80
|
+
### When NOT to Comment
|
|
81
|
+
- Obvious code
|
|
82
|
+
- Redundant information
|
|
83
|
+
- Commented-out code (delete it)
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# Commit Conventions
|
|
2
|
+
|
|
3
|
+
**IMPORTANT**: The agent NEVER commits, pushes, or creates tags. The developer handles all git operations manually.
|
|
4
|
+
|
|
5
|
+
## Format
|
|
6
|
+
|
|
7
|
+
Use conventional commits with gitmoji as text (not emoji):
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
type(scope): :emoji_code: short description
|
|
11
|
+
|
|
12
|
+
Detailed explanation of what changed and why.
|
|
13
|
+
Include multiple lines if needed to fully describe:
|
|
14
|
+
- What was changed
|
|
15
|
+
- Why it was changed
|
|
16
|
+
- Any breaking changes or important notes
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Types
|
|
20
|
+
|
|
21
|
+
- `feat` — New feature (`:sparkles:`)
|
|
22
|
+
- `fix` — Bug fix (`:bug:`)
|
|
23
|
+
- `perf` — Performance improvement (`:zap:`)
|
|
24
|
+
- `docs` — Documentation (`:memo:`)
|
|
25
|
+
- `chore` — Maintenance tasks (`:wrench:`, `:arrow_up:`, `:bookmark:`)
|
|
26
|
+
- `refactor` — Code refactoring (`:recycle:`)
|
|
27
|
+
- `test` — Tests (`:white_check_mark:`)
|
|
28
|
+
- `style` — Code formatting (`:art:`)
|
|
29
|
+
- `ci` — CI/CD changes (`:construction_worker:`)
|
|
30
|
+
- `build` — Build system (`:hammer:`)
|
|
31
|
+
|
|
32
|
+
## Scope
|
|
33
|
+
|
|
34
|
+
Use only ONE scope per commit — typically the package, module, or component affected.
|
|
35
|
+
|
|
36
|
+
If `.vscode/settings.json` exists with `conventionalCommits.scopes`, use those values.
|
|
37
|
+
Scope is optional for cross-cutting changes.
|
|
38
|
+
|
|
39
|
+
## Gitmoji
|
|
40
|
+
|
|
41
|
+
**Always use text codes** (`:sparkles:`), **never actual emoji** (✨).
|
|
42
|
+
|
|
43
|
+
## Body
|
|
44
|
+
|
|
45
|
+
**Always include a detailed body** explaining:
|
|
46
|
+
1. What was changed
|
|
47
|
+
2. Why it was changed
|
|
48
|
+
3. Any important context or side effects
|
|
49
|
+
|
|
50
|
+
## Breaking Changes
|
|
51
|
+
|
|
52
|
+
Add `!` after the type/scope and include `BREAKING CHANGE:` in the body:
|
|
53
|
+
|
|
54
|
+
```
|
|
55
|
+
feat(api)!: :boom: remove deprecated methods
|
|
56
|
+
|
|
57
|
+
BREAKING CHANGE: Removed old API methods deprecated in v0.5.
|
|
58
|
+
```
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Interaction Patterns
|
|
2
|
+
|
|
3
|
+
## Interview Before Implementing
|
|
4
|
+
|
|
5
|
+
For ambiguous or complex requests, ask clarifying questions BEFORE writing code:
|
|
6
|
+
- What's the expected behavior?
|
|
7
|
+
- Are there edge cases to consider?
|
|
8
|
+
- Does this affect existing features?
|
|
9
|
+
- What's the priority (quick fix vs proper solution)?
|
|
10
|
+
|
|
11
|
+
Skip the interview for clear, well-defined tasks.
|
|
12
|
+
|
|
13
|
+
## Plan Mode
|
|
14
|
+
|
|
15
|
+
For multi-step tasks (new features, refactors, architecture changes):
|
|
16
|
+
1. Write a short numbered plan first
|
|
17
|
+
2. Wait for approval before implementing
|
|
18
|
+
3. Adapt the plan if requirements change mid-execution
|
|
19
|
+
|
|
20
|
+
Skip planning for single-file fixes, small bug fixes, or simple questions.
|
|
21
|
+
|
|
22
|
+
## ASCII Diagrams
|
|
23
|
+
|
|
24
|
+
Use ASCII diagrams when discussing:
|
|
25
|
+
- Architecture decisions
|
|
26
|
+
- Data flow between components
|
|
27
|
+
- New feature design involving multiple files
|
|
28
|
+
- Database schema relationships
|
|
29
|
+
|
|
30
|
+
## Context Hygiene
|
|
31
|
+
|
|
32
|
+
- Keep each steering/spec file under ~200 lines
|
|
33
|
+
- Split files when they grow beyond that
|
|
34
|
+
- One concern per file (don't mix code style with testing rules)
|
|
35
|
+
- Update specs when features are completed or changed
|
|
36
|
+
|
|
37
|
+
## Git Rules
|
|
38
|
+
|
|
39
|
+
- **NEVER commit, push, or create tags** — the developer handles all git operations
|
|
40
|
+
- Prepare changes and suggest a commit message
|
|
41
|
+
- The developer reviews and commits manually
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# Testing Strategy
|
|
2
|
+
|
|
3
|
+
## Test Framework
|
|
4
|
+
|
|
5
|
+
### Vitest
|
|
6
|
+
- All tests use **Vitest** (NOT Jest, Mocha, or others)
|
|
7
|
+
- Configuration in `vitest.config.ts` at root
|
|
8
|
+
- v8 coverage provider
|
|
9
|
+
- Coverage reporters: text, json, json-summary
|
|
10
|
+
|
|
11
|
+
## Test Structure
|
|
12
|
+
|
|
13
|
+
### File Organization
|
|
14
|
+
```
|
|
15
|
+
src/
|
|
16
|
+
└── feature.ts
|
|
17
|
+
test/
|
|
18
|
+
└── feature.test.ts
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
### Test Pattern (AAA)
|
|
22
|
+
```typescript
|
|
23
|
+
import { describe, it, expect } from 'vitest';
|
|
24
|
+
|
|
25
|
+
describe('FeatureName', () => {
|
|
26
|
+
it('should do something specific', () => {
|
|
27
|
+
// Arrange
|
|
28
|
+
const input = 'test';
|
|
29
|
+
|
|
30
|
+
// Act
|
|
31
|
+
const result = doSomething(input);
|
|
32
|
+
|
|
33
|
+
// Assert
|
|
34
|
+
expect(result).toBe('expected');
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Mocking
|
|
40
|
+
|
|
41
|
+
### When to Mock
|
|
42
|
+
- External APIs, file system, git commands, network requests
|
|
43
|
+
|
|
44
|
+
### When NOT to Mock
|
|
45
|
+
- Internal functions, simple utilities, pure functions
|
|
46
|
+
|
|
47
|
+
## Best Practices
|
|
48
|
+
|
|
49
|
+
### Test Naming
|
|
50
|
+
- Use `should` in test names: "should throw error when input is invalid"
|
|
51
|
+
|
|
52
|
+
### Independence
|
|
53
|
+
- Each test must be independent — no shared state
|
|
54
|
+
- Use `beforeEach` for setup
|
|
55
|
+
|
|
56
|
+
### Edge Cases
|
|
57
|
+
- Empty arrays/strings, null/undefined, invalid input, boundary values
|
|
58
|
+
|
|
59
|
+
### Coverage
|
|
60
|
+
- Exclude barrel re-exports (`index.ts`) and type files (`types.ts`)
|
|
61
|
+
- Include all source files in coverage
|
package/package.json
CHANGED
|
@@ -1,87 +1,72 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zweer/dev",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "Shared configurations & AI
|
|
3
|
+
"version": "2.0.0",
|
|
4
|
+
"description": "Shared configurations, golden configs & Kiro AI templates for software projects",
|
|
5
5
|
"keywords": [
|
|
6
|
-
"ai",
|
|
7
|
-
"agents",
|
|
8
|
-
"cao",
|
|
9
6
|
"cli",
|
|
10
|
-
"development"
|
|
7
|
+
"development",
|
|
8
|
+
"kiro",
|
|
9
|
+
"configs",
|
|
10
|
+
"tooling"
|
|
11
11
|
],
|
|
12
12
|
"homepage": "https://github.com/Zweer/dev#readme",
|
|
13
13
|
"bugs": {
|
|
14
14
|
"url": "https://github.com/Zweer/dev/issues"
|
|
15
15
|
},
|
|
16
|
-
"license": "MIT",
|
|
17
|
-
"author": "Zweer <n.olivieriachille@gmail.com>",
|
|
18
|
-
"files": [
|
|
19
|
-
"cli/**/*.js",
|
|
20
|
-
"cli/**/*.d.ts",
|
|
21
|
-
"agents",
|
|
22
|
-
"templates"
|
|
23
|
-
],
|
|
24
|
-
"bin": "./cli/index.js",
|
|
25
|
-
"release": {
|
|
26
|
-
"plugins": [
|
|
27
|
-
"@semantic-release/commit-analyzer",
|
|
28
|
-
"@semantic-release/release-notes-generator",
|
|
29
|
-
"@semantic-release/changelog",
|
|
30
|
-
"@semantic-release/npm",
|
|
31
|
-
"@semantic-release/github",
|
|
32
|
-
"@semantic-release/git"
|
|
33
|
-
]
|
|
34
|
-
},
|
|
35
16
|
"repository": {
|
|
36
17
|
"type": "git",
|
|
37
18
|
"url": "git+https://github.com/Zweer/dev.git"
|
|
38
19
|
},
|
|
20
|
+
"license": "MIT",
|
|
21
|
+
"author": "Zweer <n.olivieriachille@gmail.com>",
|
|
39
22
|
"type": "module",
|
|
23
|
+
"bin": "./dist/index.js",
|
|
24
|
+
"files": [
|
|
25
|
+
"dist/**/*",
|
|
26
|
+
"configs/**/*",
|
|
27
|
+
"kiro/**/*",
|
|
28
|
+
"workflows/**/*",
|
|
29
|
+
"templates/**/*"
|
|
30
|
+
],
|
|
40
31
|
"scripts": {
|
|
32
|
+
"build": "tsdown",
|
|
33
|
+
"clean": "rimraf dist",
|
|
41
34
|
"lint": "concurrently npm:lint:* --prefixColors auto",
|
|
42
|
-
"lint:format": "biome check --write",
|
|
43
|
-
"lint:lockfile": "lockfile-lint --path package-lock.json",
|
|
44
35
|
"lint:engines": "ls-engines",
|
|
36
|
+
"lint:format": "biome check --write",
|
|
37
|
+
"lint:lockfile": "lockfile-lint",
|
|
45
38
|
"lint:package": "npmPkgJsonLint .",
|
|
46
|
-
"lint:
|
|
39
|
+
"lint:sort_package": "sort-package-json \"package.json\"",
|
|
40
|
+
"lint:typecheck": "tsc --noEmit",
|
|
41
|
+
"prepare": "lefthook install",
|
|
47
42
|
"test": "vitest run",
|
|
48
|
-
"test:coverage": "vitest run --coverage"
|
|
49
|
-
"check": "npm run clean && npm run test:coverage && npm run build && npm run lint && npm run clean",
|
|
50
|
-
"prepare": "[ \"$CI\" = \"true\" ] || [ \"$GITHUB_ACTIONS\" = \"true\" ] && echo 'Skipping husky' && exit 0 || husky",
|
|
51
|
-
"clean": "rimraf --glob ./{cli,test}/**/*.{d.ts,js} ./vitest*.{d.ts,js}",
|
|
52
|
-
"prebuild": "npm run clean",
|
|
53
|
-
"build": "tsc",
|
|
54
|
-
"release": "semantic-release"
|
|
43
|
+
"test:coverage": "vitest run --coverage"
|
|
55
44
|
},
|
|
56
45
|
"dependencies": {
|
|
57
|
-
"@commander-js/extra-typings": "^
|
|
58
|
-
"
|
|
59
|
-
"commander": "^12.1.0",
|
|
60
|
-
"inquirer": "^12.0.0",
|
|
61
|
-
"ora": "^8.1.1"
|
|
46
|
+
"@commander-js/extra-typings": "^14.0.0",
|
|
47
|
+
"commander": "^14.0.3"
|
|
62
48
|
},
|
|
63
49
|
"devDependencies": {
|
|
64
|
-
"@biomejs/biome": "^2.
|
|
65
|
-
"@
|
|
66
|
-
"@
|
|
67
|
-
"@tsconfig/node22": "^22.0.
|
|
68
|
-
"@types/node": "^
|
|
69
|
-
"@vitest/coverage-v8": "^4.0
|
|
50
|
+
"@biomejs/biome": "^2.4.8",
|
|
51
|
+
"@commitlint/cli": "^20.5.0",
|
|
52
|
+
"@commitlint/config-conventional": "^20.5.0",
|
|
53
|
+
"@tsconfig/node22": "^22.0.5",
|
|
54
|
+
"@types/node": "^25.5.0",
|
|
55
|
+
"@vitest/coverage-v8": "^4.1.0",
|
|
56
|
+
"bonvoy": "^0.13.1",
|
|
70
57
|
"concurrently": "^9.2.1",
|
|
71
|
-
"
|
|
72
|
-
"lint
|
|
73
|
-
"
|
|
74
|
-
"
|
|
75
|
-
"
|
|
76
|
-
"
|
|
77
|
-
"
|
|
78
|
-
"rimraf": "^6.1.0",
|
|
79
|
-
"semantic-release": "^25.0.2",
|
|
58
|
+
"lefthook": "^2.1.4",
|
|
59
|
+
"lockfile-lint": "^5.0.0",
|
|
60
|
+
"ls-engines": "^0.10.0",
|
|
61
|
+
"npm-package-json-lint": "^9.1.0",
|
|
62
|
+
"rimraf": "^6.1.3",
|
|
63
|
+
"sort-package-json": "^3.6.1",
|
|
64
|
+
"tsdown": "^0.21.4",
|
|
80
65
|
"typescript": "^5.9.3",
|
|
81
|
-
"vitest": "^4.0
|
|
66
|
+
"vitest": "^4.1.0"
|
|
82
67
|
},
|
|
83
68
|
"engines": {
|
|
84
|
-
"node": ">=
|
|
69
|
+
"node": ">= 22"
|
|
85
70
|
},
|
|
86
71
|
"publishConfig": {
|
|
87
72
|
"access": "public",
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# {{name}}
|
|
2
|
+
|
|
3
|
+
{{description}}
|
|
4
|
+
|
|
5
|
+
## Packages
|
|
6
|
+
|
|
7
|
+
| Package | Description |
|
|
8
|
+
|---------|-------------|
|
|
9
|
+
| `{{scope}}/core` | Core package |
|
|
10
|
+
|
|
11
|
+
## Development
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
npm install
|
|
15
|
+
npm run build
|
|
16
|
+
npm test
|
|
17
|
+
npm run lint
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## License
|
|
21
|
+
|
|
22
|
+
MIT
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "{{name}}",
|
|
3
|
+
"version": "0.0.0",
|
|
4
|
+
"description": "{{description}}",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"workspaces": [
|
|
7
|
+
"packages/*"
|
|
8
|
+
],
|
|
9
|
+
"scripts": {
|
|
10
|
+
"build": "tsdown",
|
|
11
|
+
"clean": "rimraf packages/*/dist",
|
|
12
|
+
"lint": "concurrently npm:lint:* --prefixColors auto",
|
|
13
|
+
"lint:engines": "ls-engines",
|
|
14
|
+
"lint:format": "biome check --write",
|
|
15
|
+
"lint:lockfile": "lockfile-lint",
|
|
16
|
+
"lint:package": "npmPkgJsonLint .",
|
|
17
|
+
"lint:sort_package": "sort-package-json \"package.json\" \"packages/*/package.json\"",
|
|
18
|
+
"lint:typecheck": "tsc --noEmit",
|
|
19
|
+
"prepare": "lefthook install",
|
|
20
|
+
"test": "vitest run",
|
|
21
|
+
"test:coverage": "vitest run --coverage"
|
|
22
|
+
},
|
|
23
|
+
"keywords": [],
|
|
24
|
+
"author": "{{author}}",
|
|
25
|
+
"license": "MIT",
|
|
26
|
+
"engines": {
|
|
27
|
+
"node": ">= 22"
|
|
28
|
+
},
|
|
29
|
+
"devDependencies": {}
|
|
30
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "{{scope}}/core",
|
|
3
|
+
"version": "0.0.0",
|
|
4
|
+
"description": "Core package",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"exports": {
|
|
7
|
+
".": "./dist/index.mjs",
|
|
8
|
+
"./package.json": "./package.json"
|
|
9
|
+
},
|
|
10
|
+
"files": [
|
|
11
|
+
"dist"
|
|
12
|
+
],
|
|
13
|
+
"keywords": [],
|
|
14
|
+
"author": "{{author}}",
|
|
15
|
+
"license": "MIT",
|
|
16
|
+
"homepage": "{{homepage}}",
|
|
17
|
+
"bugs": {
|
|
18
|
+
"url": "{{bugs}}"
|
|
19
|
+
},
|
|
20
|
+
"repository": {
|
|
21
|
+
"type": "git",
|
|
22
|
+
"url": "{{repository}}",
|
|
23
|
+
"directory": "packages/core"
|
|
24
|
+
},
|
|
25
|
+
"engines": {
|
|
26
|
+
"node": ">= 22"
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { defineConfig } from 'tsdown';
|
|
2
|
+
|
|
3
|
+
export default defineConfig({
|
|
4
|
+
workspace: true,
|
|
5
|
+
entry: ['src/index.ts'],
|
|
6
|
+
dts: true,
|
|
7
|
+
sourcemap: true,
|
|
8
|
+
format: 'esm',
|
|
9
|
+
exports: true,
|
|
10
|
+
publint: 'ci-only',
|
|
11
|
+
attw: { enabled: 'ci-only', profile: 'esm-only' },
|
|
12
|
+
});
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { defineConfig } from 'vitest/config';
|
|
2
|
+
|
|
3
|
+
export default defineConfig({
|
|
4
|
+
test: {
|
|
5
|
+
coverage: {
|
|
6
|
+
provider: 'v8',
|
|
7
|
+
reporter: ['text', 'json', 'json-summary'],
|
|
8
|
+
include: ['packages/**/src/**/*.ts'],
|
|
9
|
+
exclude: ['**/index.ts', '**/types.ts'],
|
|
10
|
+
},
|
|
11
|
+
},
|
|
12
|
+
});
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# {{name}}
|
|
2
|
+
|
|
3
|
+
{{description}}
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install {{name}}
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
```typescript
|
|
14
|
+
import { hello } from '{{name}}';
|
|
15
|
+
|
|
16
|
+
hello('World');
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Development
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
npm install
|
|
23
|
+
npm run build
|
|
24
|
+
npm test
|
|
25
|
+
npm run lint
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## License
|
|
29
|
+
|
|
30
|
+
MIT
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "{{name}}",
|
|
3
|
+
"version": "0.0.0",
|
|
4
|
+
"description": "{{description}}",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"exports": {
|
|
7
|
+
".": "./dist/index.mjs",
|
|
8
|
+
"./package.json": "./package.json"
|
|
9
|
+
},
|
|
10
|
+
"files": [
|
|
11
|
+
"dist"
|
|
12
|
+
],
|
|
13
|
+
"scripts": {
|
|
14
|
+
"build": "tsdown",
|
|
15
|
+
"clean": "rimraf dist",
|
|
16
|
+
"lint": "concurrently npm:lint:* --prefixColors auto",
|
|
17
|
+
"lint:engines": "ls-engines",
|
|
18
|
+
"lint:format": "biome check --write",
|
|
19
|
+
"lint:lockfile": "lockfile-lint",
|
|
20
|
+
"lint:package": "npmPkgJsonLint .",
|
|
21
|
+
"lint:sort_package": "sort-package-json \"package.json\"",
|
|
22
|
+
"lint:typecheck": "tsc --noEmit",
|
|
23
|
+
"prepare": "lefthook install",
|
|
24
|
+
"test": "vitest run",
|
|
25
|
+
"test:coverage": "vitest run --coverage"
|
|
26
|
+
},
|
|
27
|
+
"keywords": [],
|
|
28
|
+
"author": "{{author}}",
|
|
29
|
+
"license": "MIT",
|
|
30
|
+
"engines": {
|
|
31
|
+
"node": ">= 22"
|
|
32
|
+
},
|
|
33
|
+
"publishConfig": {
|
|
34
|
+
"access": "public",
|
|
35
|
+
"provenance": true
|
|
36
|
+
},
|
|
37
|
+
"devDependencies": {}
|
|
38
|
+
}
|