create-specfuse 0.6.3 → 0.9.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 +57 -145
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -11
- package/dist/index.js.map +1 -1
- package/dist/prompts.d.ts +2 -2
- package/dist/prompts.d.ts.map +1 -1
- package/dist/prompts.js +3 -82
- package/dist/prompts.js.map +1 -1
- package/dist/scaffolder.d.ts.map +1 -1
- package/dist/scaffolder.js +16 -53
- package/dist/scaffolder.js.map +1 -1
- package/dist/templates/claude-md.d.ts +1 -1
- package/dist/templates/claude-md.d.ts.map +1 -1
- package/dist/templates/claude-md.js +28 -88
- package/dist/templates/claude-md.js.map +1 -1
- package/dist/templates/claude-settings.d.ts +1 -2
- package/dist/templates/claude-settings.d.ts.map +1 -1
- package/dist/templates/claude-settings.js +2 -2
- package/dist/templates/claude-settings.js.map +1 -1
- package/dist/templates/fusereview-skill.d.ts +3 -0
- package/dist/templates/fusereview-skill.d.ts.map +1 -0
- package/dist/templates/fusereview-skill.js +87 -0
- package/dist/templates/fusereview-skill.js.map +1 -0
- package/dist/templates/gitignore.d.ts +1 -2
- package/dist/templates/gitignore.d.ts.map +1 -1
- package/dist/templates/gitignore.js +2 -14
- package/dist/templates/gitignore.js.map +1 -1
- package/dist/templates/openspec-config.d.ts +1 -2
- package/dist/templates/openspec-config.d.ts.map +1 -1
- package/dist/templates/openspec-config.js +34 -3
- package/dist/templates/openspec-config.js.map +1 -1
- package/dist/types.d.ts +0 -24
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/tools.d.ts +0 -3
- package/dist/utils/tools.d.ts.map +1 -1
- package/dist/utils/tools.js +25 -38
- package/dist/utils/tools.js.map +1 -1
- package/package.json +1 -1
- package/dist/stacks/bash.d.ts +0 -5
- package/dist/stacks/bash.d.ts.map +0 -1
- package/dist/stacks/bash.js +0 -66
- package/dist/stacks/bash.js.map +0 -1
- package/dist/stacks/cpp-cmake.d.ts +0 -5
- package/dist/stacks/cpp-cmake.d.ts.map +0 -1
- package/dist/stacks/cpp-cmake.js +0 -74
- package/dist/stacks/cpp-cmake.js.map +0 -1
- package/dist/stacks/detect.d.ts +0 -11
- package/dist/stacks/detect.d.ts.map +0 -1
- package/dist/stacks/detect.js +0 -104
- package/dist/stacks/detect.js.map +0 -1
- package/dist/stacks/dotnet.d.ts +0 -5
- package/dist/stacks/dotnet.d.ts.map +0 -1
- package/dist/stacks/dotnet.js +0 -68
- package/dist/stacks/dotnet.js.map +0 -1
- package/dist/stacks/elixir.d.ts +0 -5
- package/dist/stacks/elixir.d.ts.map +0 -1
- package/dist/stacks/elixir.js +0 -68
- package/dist/stacks/elixir.js.map +0 -1
- package/dist/stacks/go.d.ts +0 -5
- package/dist/stacks/go.d.ts.map +0 -1
- package/dist/stacks/go.js +0 -68
- package/dist/stacks/go.js.map +0 -1
- package/dist/stacks/index.d.ts +0 -7
- package/dist/stacks/index.d.ts.map +0 -1
- package/dist/stacks/index.js +0 -84
- package/dist/stacks/index.js.map +0 -1
- package/dist/stacks/java-gradle.d.ts +0 -5
- package/dist/stacks/java-gradle.d.ts.map +0 -1
- package/dist/stacks/java-gradle.js +0 -69
- package/dist/stacks/java-gradle.js.map +0 -1
- package/dist/stacks/java-maven.d.ts +0 -5
- package/dist/stacks/java-maven.d.ts.map +0 -1
- package/dist/stacks/java-maven.js +0 -67
- package/dist/stacks/java-maven.js.map +0 -1
- package/dist/stacks/kotlin.d.ts +0 -5
- package/dist/stacks/kotlin.d.ts.map +0 -1
- package/dist/stacks/kotlin.js +0 -69
- package/dist/stacks/kotlin.js.map +0 -1
- package/dist/stacks/php.d.ts +0 -5
- package/dist/stacks/php.d.ts.map +0 -1
- package/dist/stacks/php.js +0 -68
- package/dist/stacks/php.js.map +0 -1
- package/dist/stacks/python-fastapi.d.ts +0 -5
- package/dist/stacks/python-fastapi.d.ts.map +0 -1
- package/dist/stacks/python-fastapi.js +0 -75
- package/dist/stacks/python-fastapi.js.map +0 -1
- package/dist/stacks/ruby.d.ts +0 -5
- package/dist/stacks/ruby.d.ts.map +0 -1
- package/dist/stacks/ruby.js +0 -69
- package/dist/stacks/ruby.js.map +0 -1
- package/dist/stacks/rust.d.ts +0 -5
- package/dist/stacks/rust.d.ts.map +0 -1
- package/dist/stacks/rust.js +0 -65
- package/dist/stacks/rust.js.map +0 -1
- package/dist/stacks/scala-sbt.d.ts +0 -5
- package/dist/stacks/scala-sbt.d.ts.map +0 -1
- package/dist/stacks/scala-sbt.js +0 -68
- package/dist/stacks/scala-sbt.js.map +0 -1
- package/dist/stacks/schema.d.ts +0 -91
- package/dist/stacks/schema.d.ts.map +0 -1
- package/dist/stacks/schema.js +0 -23
- package/dist/stacks/schema.js.map +0 -1
- package/dist/stacks/swift.d.ts +0 -5
- package/dist/stacks/swift.d.ts.map +0 -1
- package/dist/stacks/swift.js +0 -69
- package/dist/stacks/swift.js.map +0 -1
- package/dist/stacks/typescript-react.d.ts +0 -5
- package/dist/stacks/typescript-react.d.ts.map +0 -1
- package/dist/stacks/typescript-react.js +0 -73
- package/dist/stacks/typescript-react.js.map +0 -1
- package/dist/templates/grill-me-skill.d.ts +0 -2
- package/dist/templates/grill-me-skill.d.ts.map +0 -1
- package/dist/templates/grill-me-skill.js +0 -70
- package/dist/templates/grill-me-skill.js.map +0 -1
package/dist/stacks/ruby.js
DELETED
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
export const rubyStack = {
|
|
2
|
-
id: 'ruby',
|
|
3
|
-
label: 'Ruby',
|
|
4
|
-
languages: ['Ruby'],
|
|
5
|
-
architecture: 'MVC / Service-oriented',
|
|
6
|
-
commands: {
|
|
7
|
-
build: 'bundle install',
|
|
8
|
-
test: 'bundle exec rspec',
|
|
9
|
-
lint: 'bundle exec rubocop',
|
|
10
|
-
format: 'bundle exec rubocop -A',
|
|
11
|
-
},
|
|
12
|
-
errorHandling: 'Ruby exceptions + custom error classes',
|
|
13
|
-
concurrency: 'Ruby threads + Ractor (Ruby 3+)',
|
|
14
|
-
permissions: [
|
|
15
|
-
'Bash(bundle *)',
|
|
16
|
-
'Bash(ruby *)',
|
|
17
|
-
'Bash(rake *)',
|
|
18
|
-
'Bash(rspec *)',
|
|
19
|
-
],
|
|
20
|
-
gitignorePatterns: [
|
|
21
|
-
'/vendor/bundle/',
|
|
22
|
-
'*.gem',
|
|
23
|
-
'.bundle/',
|
|
24
|
-
'/coverage/',
|
|
25
|
-
'/tmp/',
|
|
26
|
-
],
|
|
27
|
-
openspecContext: `Tech stack: Ruby
|
|
28
|
-
Build: bundle install
|
|
29
|
-
Testing: bundle exec rspec
|
|
30
|
-
Code style: rubocop
|
|
31
|
-
Architecture: MVC / Service-oriented
|
|
32
|
-
Error handling: Ruby exceptions + custom error classes
|
|
33
|
-
Concurrency: Ruby threads + Ractor (Ruby 3+)`,
|
|
34
|
-
openspecRules: {
|
|
35
|
-
proposal: [
|
|
36
|
-
'Always include a "Non-goals" section to explicitly scope out what this change does NOT do',
|
|
37
|
-
'Include "Trade-offs" section with at least 2 alternative approaches considered',
|
|
38
|
-
'Must reference affected gems/modules by name',
|
|
39
|
-
'Keep proposals under 800 words',
|
|
40
|
-
],
|
|
41
|
-
design: [
|
|
42
|
-
'Must include a dependency diagram (ASCII or mermaid) showing module relationships',
|
|
43
|
-
'Must specify public API surface (classes, modules, method signatures)',
|
|
44
|
-
'Must address error handling strategy for the change',
|
|
45
|
-
'Must address concurrency implications if applicable',
|
|
46
|
-
],
|
|
47
|
-
specs: [
|
|
48
|
-
'Each spec must be independently testable',
|
|
49
|
-
'Specs must define both success and failure behaviors',
|
|
50
|
-
'Include boundary conditions and edge cases',
|
|
51
|
-
'Reference specific classes/modules/methods, not vague descriptions',
|
|
52
|
-
],
|
|
53
|
-
tasks: [
|
|
54
|
-
'Break tasks into chunks of max 2 hours of work',
|
|
55
|
-
'Each task must have a clear "done" definition verifiable by running a command',
|
|
56
|
-
'Tasks must follow TDD order - write test first, then implement, then refactor',
|
|
57
|
-
'Every task must include a verification command (bundle exec rspec / specific spec file)',
|
|
58
|
-
'Mark blocking dependencies explicitly between tasks',
|
|
59
|
-
],
|
|
60
|
-
},
|
|
61
|
-
};
|
|
62
|
-
export const rubyDetectionConfig = {
|
|
63
|
-
stackId: 'ruby',
|
|
64
|
-
markerFiles: ['Gemfile', 'Rakefile', '.ruby-version'],
|
|
65
|
-
markerDirs: [],
|
|
66
|
-
fileExtensions: ['.rb'],
|
|
67
|
-
priority: 10,
|
|
68
|
-
};
|
|
69
|
-
//# sourceMappingURL=ruby.js.map
|
package/dist/stacks/ruby.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ruby.js","sourceRoot":"","sources":["../../src/stacks/ruby.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,SAAS,GAAiB;IACrC,EAAE,EAAE,MAAM;IACV,KAAK,EAAE,MAAM;IACb,SAAS,EAAE,CAAC,MAAM,CAAC;IACnB,YAAY,EAAE,wBAAwB;IACtC,QAAQ,EAAE;QACR,KAAK,EAAE,gBAAgB;QACvB,IAAI,EAAE,mBAAmB;QACzB,IAAI,EAAE,qBAAqB;QAC3B,MAAM,EAAE,wBAAwB;KACjC;IACD,aAAa,EAAE,wCAAwC;IACvD,WAAW,EAAE,iCAAiC;IAC9C,WAAW,EAAE;QACX,gBAAgB;QAChB,cAAc;QACd,cAAc;QACd,eAAe;KAChB;IACD,iBAAiB,EAAE;QACjB,iBAAiB;QACjB,OAAO;QACP,UAAU;QACV,YAAY;QACZ,OAAO;KACR;IACD,eAAe,EAAE;;;;;;6CAM0B;IAC3C,aAAa,EAAE;QACb,QAAQ,EAAE;YACR,2FAA2F;YAC3F,gFAAgF;YAChF,8CAA8C;YAC9C,gCAAgC;SACjC;QACD,MAAM,EAAE;YACN,mFAAmF;YACnF,uEAAuE;YACvE,qDAAqD;YACrD,qDAAqD;SACtD;QACD,KAAK,EAAE;YACL,0CAA0C;YAC1C,sDAAsD;YACtD,4CAA4C;YAC5C,oEAAoE;SACrE;QACD,KAAK,EAAE;YACL,gDAAgD;YAChD,+EAA+E;YAC/E,+EAA+E;YAC/E,yFAAyF;YACzF,qDAAqD;SACtD;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAoB;IAClD,OAAO,EAAE,MAAM;IACf,WAAW,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,eAAe,CAAC;IACrD,UAAU,EAAE,EAAE;IACd,cAAc,EAAE,CAAC,KAAK,CAAC;IACvB,QAAQ,EAAE,EAAE;CACb,CAAC"}
|
package/dist/stacks/rust.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rust.d.ts","sourceRoot":"","sources":["../../src/stacks/rust.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,eAAO,MAAM,SAAS,EAAE,YAwDvB,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,eAMjC,CAAC"}
|
package/dist/stacks/rust.js
DELETED
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
export const rustStack = {
|
|
2
|
-
id: 'rust',
|
|
3
|
-
label: 'Rust',
|
|
4
|
-
languages: ['Rust'],
|
|
5
|
-
architecture: 'Clean Architecture / Hexagonal (Ports & Adapters)',
|
|
6
|
-
commands: {
|
|
7
|
-
build: 'cargo build',
|
|
8
|
-
test: 'cargo test',
|
|
9
|
-
lint: 'cargo clippy -- -D warnings',
|
|
10
|
-
format: 'cargo fmt',
|
|
11
|
-
},
|
|
12
|
-
errorHandling: 'Rust Result<T,E> / thiserror + anyhow',
|
|
13
|
-
concurrency: 'Rust async (tokio) + channels',
|
|
14
|
-
permissions: [
|
|
15
|
-
'Bash(cargo test *)',
|
|
16
|
-
'Bash(cargo build *)',
|
|
17
|
-
'Bash(cargo clippy *)',
|
|
18
|
-
'Bash(cargo fmt *)',
|
|
19
|
-
],
|
|
20
|
-
gitignorePatterns: [
|
|
21
|
-
'/target/',
|
|
22
|
-
],
|
|
23
|
-
openspecContext: `Tech stack: Rust backend services
|
|
24
|
-
Build: cargo build
|
|
25
|
-
Testing: cargo test
|
|
26
|
-
Code style: rustfmt + clippy
|
|
27
|
-
Architecture: Clean Architecture / Hexagonal (ports & adapters)
|
|
28
|
-
Error handling: Rust Result<T,E>
|
|
29
|
-
Concurrency: Rust async (tokio) + channels`,
|
|
30
|
-
openspecRules: {
|
|
31
|
-
proposal: [
|
|
32
|
-
'Always include a "Non-goals" section to explicitly scope out what this change does NOT do',
|
|
33
|
-
'Include "Trade-offs" section with at least 2 alternative approaches considered',
|
|
34
|
-
'Must reference affected crates/modules by name',
|
|
35
|
-
'Keep proposals under 800 words',
|
|
36
|
-
],
|
|
37
|
-
design: [
|
|
38
|
-
'Must include a dependency diagram (ASCII or mermaid) showing module relationships',
|
|
39
|
-
'Must specify public API surface (traits, function signatures)',
|
|
40
|
-
'Must address error handling strategy for the change',
|
|
41
|
-
'Must address concurrency implications if applicable',
|
|
42
|
-
],
|
|
43
|
-
specs: [
|
|
44
|
-
'Each spec must be independently testable',
|
|
45
|
-
'Specs must define both success and failure behaviors',
|
|
46
|
-
'Include boundary conditions and edge cases',
|
|
47
|
-
'Reference specific types/traits, not vague descriptions',
|
|
48
|
-
],
|
|
49
|
-
tasks: [
|
|
50
|
-
'Break tasks into chunks of max 2 hours of work',
|
|
51
|
-
'Each task must have a clear "done" definition verifiable by running a command',
|
|
52
|
-
'Tasks must follow TDD order - write test first, then implement, then refactor',
|
|
53
|
-
'Every task must include a verification command (cargo test / specific test function)',
|
|
54
|
-
'Mark blocking dependencies explicitly between tasks',
|
|
55
|
-
],
|
|
56
|
-
},
|
|
57
|
-
};
|
|
58
|
-
export const rustDetectionConfig = {
|
|
59
|
-
stackId: 'rust',
|
|
60
|
-
markerFiles: ['Cargo.toml', 'Cargo.lock'],
|
|
61
|
-
markerDirs: [],
|
|
62
|
-
fileExtensions: ['.rs'],
|
|
63
|
-
priority: 10,
|
|
64
|
-
};
|
|
65
|
-
//# sourceMappingURL=rust.js.map
|
package/dist/stacks/rust.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rust.js","sourceRoot":"","sources":["../../src/stacks/rust.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,SAAS,GAAiB;IACrC,EAAE,EAAE,MAAM;IACV,KAAK,EAAE,MAAM;IACb,SAAS,EAAE,CAAC,MAAM,CAAC;IACnB,YAAY,EAAE,mDAAmD;IACjE,QAAQ,EAAE;QACR,KAAK,EAAE,aAAa;QACpB,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,6BAA6B;QACnC,MAAM,EAAE,WAAW;KACpB;IACD,aAAa,EAAE,uCAAuC;IACtD,WAAW,EAAE,+BAA+B;IAC5C,WAAW,EAAE;QACX,oBAAoB;QACpB,qBAAqB;QACrB,sBAAsB;QACtB,mBAAmB;KACpB;IACD,iBAAiB,EAAE;QACjB,UAAU;KACX;IACD,eAAe,EAAE;;;;;;2CAMwB;IACzC,aAAa,EAAE;QACb,QAAQ,EAAE;YACR,2FAA2F;YAC3F,gFAAgF;YAChF,gDAAgD;YAChD,gCAAgC;SACjC;QACD,MAAM,EAAE;YACN,mFAAmF;YACnF,+DAA+D;YAC/D,qDAAqD;YACrD,qDAAqD;SACtD;QACD,KAAK,EAAE;YACL,0CAA0C;YAC1C,sDAAsD;YACtD,4CAA4C;YAC5C,yDAAyD;SAC1D;QACD,KAAK,EAAE;YACL,gDAAgD;YAChD,+EAA+E;YAC/E,+EAA+E;YAC/E,sFAAsF;YACtF,qDAAqD;SACtD;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAoB;IAClD,OAAO,EAAE,MAAM;IACf,WAAW,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC;IACzC,UAAU,EAAE,EAAE;IACd,cAAc,EAAE,CAAC,KAAK,CAAC;IACvB,QAAQ,EAAE,EAAE;CACb,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scala-sbt.d.ts","sourceRoot":"","sources":["../../src/stacks/scala-sbt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,eAAO,MAAM,aAAa,EAAE,YA2D3B,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,eAMrC,CAAC"}
|
package/dist/stacks/scala-sbt.js
DELETED
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
export const scalaSbtStack = {
|
|
2
|
-
id: 'scala-sbt',
|
|
3
|
-
label: 'Scala (sbt)',
|
|
4
|
-
languages: ['Scala'],
|
|
5
|
-
architecture: 'Functional / Layered (ZIO / Cats Effect)',
|
|
6
|
-
commands: {
|
|
7
|
-
build: 'sbt compile',
|
|
8
|
-
test: 'sbt test',
|
|
9
|
-
lint: 'sbt scalafmtCheck',
|
|
10
|
-
format: 'sbt scalafmt',
|
|
11
|
-
},
|
|
12
|
-
errorHandling: 'Scala Either/Option + ZIO error channel + custom ADTs',
|
|
13
|
-
concurrency: 'Scala Future + ZIO fibers + Cats Effect IO',
|
|
14
|
-
permissions: [
|
|
15
|
-
'Bash(sbt *)',
|
|
16
|
-
'Bash(scala *)',
|
|
17
|
-
'Bash(scalac *)',
|
|
18
|
-
],
|
|
19
|
-
gitignorePatterns: [
|
|
20
|
-
'/target/',
|
|
21
|
-
'/project/target/',
|
|
22
|
-
'.bsp/',
|
|
23
|
-
'.metals/',
|
|
24
|
-
'.bloop/',
|
|
25
|
-
],
|
|
26
|
-
openspecContext: `Tech stack: Scala (sbt)
|
|
27
|
-
Build: sbt compile
|
|
28
|
-
Testing: sbt test
|
|
29
|
-
Code style: scalafmt + scalafmtCheck
|
|
30
|
-
Architecture: Functional / Layered (ZIO / Cats Effect)
|
|
31
|
-
Error handling: Scala Either/Option + ZIO error channel + custom ADTs
|
|
32
|
-
Concurrency: Scala Future + ZIO fibers + Cats Effect IO`,
|
|
33
|
-
openspecRules: {
|
|
34
|
-
proposal: [
|
|
35
|
-
'Always include a "Non-goals" section to explicitly scope out what this change does NOT do',
|
|
36
|
-
'Include "Trade-offs" section with at least 2 alternative approaches considered',
|
|
37
|
-
'Must reference affected subprojects/packages by name',
|
|
38
|
-
'Keep proposals under 800 words',
|
|
39
|
-
],
|
|
40
|
-
design: [
|
|
41
|
-
'Must include a dependency diagram (ASCII or mermaid) showing module relationships',
|
|
42
|
-
'Must specify public API surface (traits, case classes, type signatures)',
|
|
43
|
-
'Must address error handling strategy for the change',
|
|
44
|
-
'Must address concurrency implications if applicable',
|
|
45
|
-
],
|
|
46
|
-
specs: [
|
|
47
|
-
'Each spec must be independently testable',
|
|
48
|
-
'Specs must define both success and failure behaviors',
|
|
49
|
-
'Include boundary conditions and edge cases',
|
|
50
|
-
'Reference specific types/traits, not vague descriptions',
|
|
51
|
-
],
|
|
52
|
-
tasks: [
|
|
53
|
-
'Break tasks into chunks of max 2 hours of work',
|
|
54
|
-
'Each task must have a clear "done" definition verifiable by running a command',
|
|
55
|
-
'Tasks must follow TDD order - write test first, then implement, then refactor',
|
|
56
|
-
'Every task must include a verification command (sbt test / specific test suite)',
|
|
57
|
-
'Mark blocking dependencies explicitly between tasks',
|
|
58
|
-
],
|
|
59
|
-
},
|
|
60
|
-
};
|
|
61
|
-
export const scalaSbtDetectionConfig = {
|
|
62
|
-
stackId: 'scala-sbt',
|
|
63
|
-
markerFiles: ['build.sbt'],
|
|
64
|
-
markerDirs: ['project/'],
|
|
65
|
-
fileExtensions: ['.scala', '.sc'],
|
|
66
|
-
priority: 10,
|
|
67
|
-
};
|
|
68
|
-
//# sourceMappingURL=scala-sbt.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scala-sbt.js","sourceRoot":"","sources":["../../src/stacks/scala-sbt.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,aAAa,GAAiB;IACzC,EAAE,EAAE,WAAW;IACf,KAAK,EAAE,aAAa;IACpB,SAAS,EAAE,CAAC,OAAO,CAAC;IACpB,YAAY,EAAE,0CAA0C;IACxD,QAAQ,EAAE;QACR,KAAK,EAAE,aAAa;QACpB,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,mBAAmB;QACzB,MAAM,EAAE,cAAc;KACvB;IACD,aAAa,EAAE,uDAAuD;IACtE,WAAW,EAAE,4CAA4C;IACzD,WAAW,EAAE;QACX,aAAa;QACb,eAAe;QACf,gBAAgB;KACjB;IACD,iBAAiB,EAAE;QACjB,UAAU;QACV,kBAAkB;QAClB,OAAO;QACP,UAAU;QACV,SAAS;KACV;IACD,eAAe,EAAE;;;;;;wDAMqC;IACtD,aAAa,EAAE;QACb,QAAQ,EAAE;YACR,2FAA2F;YAC3F,gFAAgF;YAChF,sDAAsD;YACtD,gCAAgC;SACjC;QACD,MAAM,EAAE;YACN,mFAAmF;YACnF,yEAAyE;YACzE,qDAAqD;YACrD,qDAAqD;SACtD;QACD,KAAK,EAAE;YACL,0CAA0C;YAC1C,sDAAsD;YACtD,4CAA4C;YAC5C,yDAAyD;SAC1D;QACD,KAAK,EAAE;YACL,gDAAgD;YAChD,+EAA+E;YAC/E,+EAA+E;YAC/E,iFAAiF;YACjF,qDAAqD;SACtD;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAoB;IACtD,OAAO,EAAE,WAAW;IACpB,WAAW,EAAE,CAAC,WAAW,CAAC;IAC1B,UAAU,EAAE,CAAC,UAAU,CAAC;IACxB,cAAc,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC;IACjC,QAAQ,EAAE,EAAE;CACb,CAAC"}
|
package/dist/stacks/schema.d.ts
DELETED
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
export declare const stackCommandsSchema: z.ZodObject<{
|
|
3
|
-
build: z.ZodString;
|
|
4
|
-
test: z.ZodString;
|
|
5
|
-
lint: z.ZodString;
|
|
6
|
-
format: z.ZodOptional<z.ZodString>;
|
|
7
|
-
typecheck: z.ZodOptional<z.ZodString>;
|
|
8
|
-
}, "strip", z.ZodTypeAny, {
|
|
9
|
-
build: string;
|
|
10
|
-
test: string;
|
|
11
|
-
lint: string;
|
|
12
|
-
format?: string | undefined;
|
|
13
|
-
typecheck?: string | undefined;
|
|
14
|
-
}, {
|
|
15
|
-
build: string;
|
|
16
|
-
test: string;
|
|
17
|
-
lint: string;
|
|
18
|
-
format?: string | undefined;
|
|
19
|
-
typecheck?: string | undefined;
|
|
20
|
-
}>;
|
|
21
|
-
export declare const stackProfileSchema: z.ZodObject<{
|
|
22
|
-
id: z.ZodString;
|
|
23
|
-
label: z.ZodString;
|
|
24
|
-
languages: z.ZodArray<z.ZodString, "many">;
|
|
25
|
-
framework: z.ZodOptional<z.ZodString>;
|
|
26
|
-
architecture: z.ZodString;
|
|
27
|
-
commands: z.ZodObject<{
|
|
28
|
-
build: z.ZodString;
|
|
29
|
-
test: z.ZodString;
|
|
30
|
-
lint: z.ZodString;
|
|
31
|
-
format: z.ZodOptional<z.ZodString>;
|
|
32
|
-
typecheck: z.ZodOptional<z.ZodString>;
|
|
33
|
-
}, "strip", z.ZodTypeAny, {
|
|
34
|
-
build: string;
|
|
35
|
-
test: string;
|
|
36
|
-
lint: string;
|
|
37
|
-
format?: string | undefined;
|
|
38
|
-
typecheck?: string | undefined;
|
|
39
|
-
}, {
|
|
40
|
-
build: string;
|
|
41
|
-
test: string;
|
|
42
|
-
lint: string;
|
|
43
|
-
format?: string | undefined;
|
|
44
|
-
typecheck?: string | undefined;
|
|
45
|
-
}>;
|
|
46
|
-
errorHandling: z.ZodString;
|
|
47
|
-
concurrency: z.ZodString;
|
|
48
|
-
permissions: z.ZodArray<z.ZodString, "many">;
|
|
49
|
-
gitignorePatterns: z.ZodArray<z.ZodString, "many">;
|
|
50
|
-
openspecContext: z.ZodString;
|
|
51
|
-
openspecRules: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString, "many">>;
|
|
52
|
-
}, "strip", z.ZodTypeAny, {
|
|
53
|
-
id: string;
|
|
54
|
-
label: string;
|
|
55
|
-
languages: string[];
|
|
56
|
-
architecture: string;
|
|
57
|
-
commands: {
|
|
58
|
-
build: string;
|
|
59
|
-
test: string;
|
|
60
|
-
lint: string;
|
|
61
|
-
format?: string | undefined;
|
|
62
|
-
typecheck?: string | undefined;
|
|
63
|
-
};
|
|
64
|
-
errorHandling: string;
|
|
65
|
-
concurrency: string;
|
|
66
|
-
permissions: string[];
|
|
67
|
-
gitignorePatterns: string[];
|
|
68
|
-
openspecContext: string;
|
|
69
|
-
openspecRules: Record<string, string[]>;
|
|
70
|
-
framework?: string | undefined;
|
|
71
|
-
}, {
|
|
72
|
-
id: string;
|
|
73
|
-
label: string;
|
|
74
|
-
languages: string[];
|
|
75
|
-
architecture: string;
|
|
76
|
-
commands: {
|
|
77
|
-
build: string;
|
|
78
|
-
test: string;
|
|
79
|
-
lint: string;
|
|
80
|
-
format?: string | undefined;
|
|
81
|
-
typecheck?: string | undefined;
|
|
82
|
-
};
|
|
83
|
-
errorHandling: string;
|
|
84
|
-
concurrency: string;
|
|
85
|
-
permissions: string[];
|
|
86
|
-
gitignorePatterns: string[];
|
|
87
|
-
openspecContext: string;
|
|
88
|
-
openspecRules: Record<string, string[]>;
|
|
89
|
-
framework?: string | undefined;
|
|
90
|
-
}>;
|
|
91
|
-
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/stacks/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;EAM9B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAa7B,CAAC"}
|
package/dist/stacks/schema.js
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
export const stackCommandsSchema = z.object({
|
|
3
|
-
build: z.string().min(1),
|
|
4
|
-
test: z.string().min(1),
|
|
5
|
-
lint: z.string().min(1),
|
|
6
|
-
format: z.string().optional(),
|
|
7
|
-
typecheck: z.string().optional(),
|
|
8
|
-
});
|
|
9
|
-
export const stackProfileSchema = z.object({
|
|
10
|
-
id: z.string().min(1).regex(/^[a-z0-9-]+$/, 'Must be kebab-case'),
|
|
11
|
-
label: z.string().min(1),
|
|
12
|
-
languages: z.array(z.string().min(1)).min(1),
|
|
13
|
-
framework: z.string().optional(),
|
|
14
|
-
architecture: z.string().min(1),
|
|
15
|
-
commands: stackCommandsSchema,
|
|
16
|
-
errorHandling: z.string().min(1),
|
|
17
|
-
concurrency: z.string().min(1),
|
|
18
|
-
permissions: z.array(z.string().min(1)).min(1),
|
|
19
|
-
gitignorePatterns: z.array(z.string().min(1)).min(1),
|
|
20
|
-
openspecContext: z.string().min(1),
|
|
21
|
-
openspecRules: z.record(z.string(), z.array(z.string().min(1))),
|
|
22
|
-
});
|
|
23
|
-
//# sourceMappingURL=schema.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/stacks/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,EAAE,oBAAoB,CAAC;IACjE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/B,QAAQ,EAAE,mBAAmB;IAC7B,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAChC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9C,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACpD,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAClC,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;CAChE,CAAC,CAAC"}
|
package/dist/stacks/swift.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"swift.d.ts","sourceRoot":"","sources":["../../src/stacks/swift.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,eAAO,MAAM,UAAU,EAAE,YA4DxB,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,eAMlC,CAAC"}
|
package/dist/stacks/swift.js
DELETED
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
export const swiftStack = {
|
|
2
|
-
id: 'swift',
|
|
3
|
-
label: 'Swift (SPM)',
|
|
4
|
-
languages: ['Swift'],
|
|
5
|
-
architecture: 'Protocol-oriented / MVVM',
|
|
6
|
-
commands: {
|
|
7
|
-
build: 'swift build',
|
|
8
|
-
test: 'swift test',
|
|
9
|
-
lint: 'swiftlint',
|
|
10
|
-
format: 'swift-format format -r Sources/',
|
|
11
|
-
},
|
|
12
|
-
errorHandling: 'Swift Error protocol + Result type + do-try-catch',
|
|
13
|
-
concurrency: 'Swift structured concurrency (async/await + TaskGroup + actors)',
|
|
14
|
-
permissions: [
|
|
15
|
-
'Bash(swift *)',
|
|
16
|
-
'Bash(swiftlint *)',
|
|
17
|
-
'Bash(swift-format *)',
|
|
18
|
-
'Bash(xcodebuild *)',
|
|
19
|
-
],
|
|
20
|
-
gitignorePatterns: [
|
|
21
|
-
'.build/',
|
|
22
|
-
'*.xcodeproj/',
|
|
23
|
-
'*.xcworkspace/',
|
|
24
|
-
'DerivedData/',
|
|
25
|
-
'Package.resolved',
|
|
26
|
-
],
|
|
27
|
-
openspecContext: `Tech stack: Swift (Swift Package Manager)
|
|
28
|
-
Build: swift build
|
|
29
|
-
Testing: swift test
|
|
30
|
-
Code style: swiftlint + swift-format
|
|
31
|
-
Architecture: Protocol-oriented / MVVM
|
|
32
|
-
Error handling: Swift Error protocol + Result type + do-try-catch
|
|
33
|
-
Concurrency: Swift structured concurrency (async/await + TaskGroup + actors)`,
|
|
34
|
-
openspecRules: {
|
|
35
|
-
proposal: [
|
|
36
|
-
'Always include a "Non-goals" section to explicitly scope out what this change does NOT do',
|
|
37
|
-
'Include "Trade-offs" section with at least 2 alternative approaches considered',
|
|
38
|
-
'Must reference affected modules/targets by name',
|
|
39
|
-
'Keep proposals under 800 words',
|
|
40
|
-
],
|
|
41
|
-
design: [
|
|
42
|
-
'Must include a dependency diagram (ASCII or mermaid) showing module relationships',
|
|
43
|
-
'Must specify public API surface (protocols, struct/class signatures)',
|
|
44
|
-
'Must address error handling strategy for the change',
|
|
45
|
-
'Must address concurrency implications if applicable',
|
|
46
|
-
],
|
|
47
|
-
specs: [
|
|
48
|
-
'Each spec must be independently testable',
|
|
49
|
-
'Specs must define both success and failure behaviors',
|
|
50
|
-
'Include boundary conditions and edge cases',
|
|
51
|
-
'Reference specific types/protocols, not vague descriptions',
|
|
52
|
-
],
|
|
53
|
-
tasks: [
|
|
54
|
-
'Break tasks into chunks of max 2 hours of work',
|
|
55
|
-
'Each task must have a clear "done" definition verifiable by running a command',
|
|
56
|
-
'Tasks must follow TDD order - write test first, then implement, then refactor',
|
|
57
|
-
'Every task must include a verification command (swift test / specific test target)',
|
|
58
|
-
'Mark blocking dependencies explicitly between tasks',
|
|
59
|
-
],
|
|
60
|
-
},
|
|
61
|
-
};
|
|
62
|
-
export const swiftDetectionConfig = {
|
|
63
|
-
stackId: 'swift',
|
|
64
|
-
markerFiles: ['Package.swift'],
|
|
65
|
-
markerDirs: [],
|
|
66
|
-
fileExtensions: ['.swift'],
|
|
67
|
-
priority: 10,
|
|
68
|
-
};
|
|
69
|
-
//# sourceMappingURL=swift.js.map
|
package/dist/stacks/swift.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"swift.js","sourceRoot":"","sources":["../../src/stacks/swift.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,UAAU,GAAiB;IACtC,EAAE,EAAE,OAAO;IACX,KAAK,EAAE,aAAa;IACpB,SAAS,EAAE,CAAC,OAAO,CAAC;IACpB,YAAY,EAAE,0BAA0B;IACxC,QAAQ,EAAE;QACR,KAAK,EAAE,aAAa;QACpB,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE,iCAAiC;KAC1C;IACD,aAAa,EAAE,mDAAmD;IAClE,WAAW,EAAE,iEAAiE;IAC9E,WAAW,EAAE;QACX,eAAe;QACf,mBAAmB;QACnB,sBAAsB;QACtB,oBAAoB;KACrB;IACD,iBAAiB,EAAE;QACjB,SAAS;QACT,cAAc;QACd,gBAAgB;QAChB,cAAc;QACd,kBAAkB;KACnB;IACD,eAAe,EAAE;;;;;;6EAM0D;IAC3E,aAAa,EAAE;QACb,QAAQ,EAAE;YACR,2FAA2F;YAC3F,gFAAgF;YAChF,iDAAiD;YACjD,gCAAgC;SACjC;QACD,MAAM,EAAE;YACN,mFAAmF;YACnF,sEAAsE;YACtE,qDAAqD;YACrD,qDAAqD;SACtD;QACD,KAAK,EAAE;YACL,0CAA0C;YAC1C,sDAAsD;YACtD,4CAA4C;YAC5C,4DAA4D;SAC7D;QACD,KAAK,EAAE;YACL,gDAAgD;YAChD,+EAA+E;YAC/E,+EAA+E;YAC/E,oFAAoF;YACpF,qDAAqD;SACtD;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAoB;IACnD,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,CAAC,eAAe,CAAC;IAC9B,UAAU,EAAE,EAAE;IACd,cAAc,EAAE,CAAC,QAAQ,CAAC;IAC1B,QAAQ,EAAE,EAAE;CACb,CAAC"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import type { StackProfile } from '../types.js';
|
|
2
|
-
import type { DetectionConfig } from './detect.js';
|
|
3
|
-
export declare const typescriptReactStack: StackProfile;
|
|
4
|
-
export declare const typescriptReactDetectionConfig: DetectionConfig;
|
|
5
|
-
//# sourceMappingURL=typescript-react.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"typescript-react.d.ts","sourceRoot":"","sources":["../../src/stacks/typescript-react.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,eAAO,MAAM,oBAAoB,EAAE,YAgElC,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,eAM5C,CAAC"}
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
export const typescriptReactStack = {
|
|
2
|
-
id: 'typescript-react',
|
|
3
|
-
label: 'TypeScript + React',
|
|
4
|
-
languages: ['TypeScript'],
|
|
5
|
-
framework: 'React',
|
|
6
|
-
architecture: 'Component-based / Feature-sliced',
|
|
7
|
-
commands: {
|
|
8
|
-
build: 'npm run build',
|
|
9
|
-
test: 'npx vitest run',
|
|
10
|
-
lint: 'npx eslint .',
|
|
11
|
-
format: 'npx prettier --write .',
|
|
12
|
-
typecheck: 'npx tsc --noEmit',
|
|
13
|
-
},
|
|
14
|
-
errorHandling: 'TypeScript strict mode + Error boundaries + React Suspense',
|
|
15
|
-
concurrency: 'React concurrent features + async/await',
|
|
16
|
-
permissions: [
|
|
17
|
-
'Bash(npm test *)',
|
|
18
|
-
'Bash(npm run *)',
|
|
19
|
-
'Bash(npx vitest *)',
|
|
20
|
-
'Bash(npx tsc *)',
|
|
21
|
-
'Bash(npx eslint *)',
|
|
22
|
-
'Bash(npx prettier *)',
|
|
23
|
-
],
|
|
24
|
-
gitignorePatterns: [
|
|
25
|
-
'node_modules/',
|
|
26
|
-
'/dist/',
|
|
27
|
-
'/build/',
|
|
28
|
-
'.next/',
|
|
29
|
-
'*.tsbuildinfo',
|
|
30
|
-
],
|
|
31
|
-
openspecContext: `Tech stack: TypeScript + React frontend / full-stack
|
|
32
|
-
Build: npm run build
|
|
33
|
-
Testing: vitest
|
|
34
|
-
Code style: ESLint + Prettier
|
|
35
|
-
Architecture: Component-based / Feature-sliced
|
|
36
|
-
Error handling: TypeScript strict mode + Error boundaries
|
|
37
|
-
Concurrency: React concurrent features + async/await`,
|
|
38
|
-
openspecRules: {
|
|
39
|
-
proposal: [
|
|
40
|
-
'Always include a "Non-goals" section to explicitly scope out what this change does NOT do',
|
|
41
|
-
'Include "Trade-offs" section with at least 2 alternative approaches considered',
|
|
42
|
-
'Must reference affected components/modules by name',
|
|
43
|
-
'Keep proposals under 800 words',
|
|
44
|
-
],
|
|
45
|
-
design: [
|
|
46
|
-
'Must include a component hierarchy diagram',
|
|
47
|
-
'Must specify public API surface (props interfaces, hook signatures)',
|
|
48
|
-
'Must address state management strategy',
|
|
49
|
-
'Must address accessibility (a11y) implications',
|
|
50
|
-
],
|
|
51
|
-
specs: [
|
|
52
|
-
'Each spec must be independently testable',
|
|
53
|
-
'Specs must define both success and failure behaviors',
|
|
54
|
-
'Include boundary conditions and edge cases',
|
|
55
|
-
'Reference specific component/hook names, not vague descriptions',
|
|
56
|
-
],
|
|
57
|
-
tasks: [
|
|
58
|
-
'Break tasks into chunks of max 2 hours of work',
|
|
59
|
-
'Each task must have a clear "done" definition verifiable by running a command',
|
|
60
|
-
'Tasks must follow TDD order - write test first, then implement, then refactor',
|
|
61
|
-
'Every task must include a verification command (npx vitest run / specific test)',
|
|
62
|
-
'Mark blocking dependencies explicitly between tasks',
|
|
63
|
-
],
|
|
64
|
-
},
|
|
65
|
-
};
|
|
66
|
-
export const typescriptReactDetectionConfig = {
|
|
67
|
-
stackId: 'typescript-react',
|
|
68
|
-
markerFiles: ['package.json', 'tsconfig.json'],
|
|
69
|
-
markerDirs: [],
|
|
70
|
-
fileExtensions: ['.tsx', '.ts'],
|
|
71
|
-
priority: 20,
|
|
72
|
-
};
|
|
73
|
-
//# sourceMappingURL=typescript-react.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"typescript-react.js","sourceRoot":"","sources":["../../src/stacks/typescript-react.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,oBAAoB,GAAiB;IAChD,EAAE,EAAE,kBAAkB;IACtB,KAAK,EAAE,oBAAoB;IAC3B,SAAS,EAAE,CAAC,YAAY,CAAC;IACzB,SAAS,EAAE,OAAO;IAClB,YAAY,EAAE,kCAAkC;IAChD,QAAQ,EAAE;QACR,KAAK,EAAE,eAAe;QACtB,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,wBAAwB;QAChC,SAAS,EAAE,kBAAkB;KAC9B;IACD,aAAa,EAAE,4DAA4D;IAC3E,WAAW,EAAE,yCAAyC;IACtD,WAAW,EAAE;QACX,kBAAkB;QAClB,iBAAiB;QACjB,oBAAoB;QACpB,iBAAiB;QACjB,oBAAoB;QACpB,sBAAsB;KACvB;IACD,iBAAiB,EAAE;QACjB,eAAe;QACf,QAAQ;QACR,SAAS;QACT,QAAQ;QACR,eAAe;KAChB;IACD,eAAe,EAAE;;;;;;qDAMkC;IACnD,aAAa,EAAE;QACb,QAAQ,EAAE;YACR,2FAA2F;YAC3F,gFAAgF;YAChF,oDAAoD;YACpD,gCAAgC;SACjC;QACD,MAAM,EAAE;YACN,4CAA4C;YAC5C,qEAAqE;YACrE,wCAAwC;YACxC,gDAAgD;SACjD;QACD,KAAK,EAAE;YACL,0CAA0C;YAC1C,sDAAsD;YACtD,4CAA4C;YAC5C,iEAAiE;SAClE;QACD,KAAK,EAAE;YACL,gDAAgD;YAChD,+EAA+E;YAC/E,+EAA+E;YAC/E,iFAAiF;YACjF,qDAAqD;SACtD;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,8BAA8B,GAAoB;IAC7D,OAAO,EAAE,kBAAkB;IAC3B,WAAW,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC;IAC9C,UAAU,EAAE,EAAE;IACd,cAAc,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC;IAC/B,QAAQ,EAAE,EAAE;CACb,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"grill-me-skill.d.ts","sourceRoot":"","sources":["../../src/templates/grill-me-skill.ts"],"names":[],"mappings":"AAAA,wBAAgB,mBAAmB,IAAI,MAAM,CAoE5C"}
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
export function composeGrillMeSkill() {
|
|
2
|
-
return `---
|
|
3
|
-
name: grill-me
|
|
4
|
-
description: Pre-apply review — stress-test all artifacts before implementation. Use when artifacts are complete and you want a structured review before /opsx:apply.
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Pre-Apply Review (Grill)
|
|
8
|
-
|
|
9
|
-
Activate the review. The full method is self-contained in this skill; the CLAUDE.md "Pre-Apply Review (Grill)" protocol governs project-level discipline (classification, backup, rollback).
|
|
10
|
-
|
|
11
|
-
## Discipline (every question)
|
|
12
|
-
|
|
13
|
-
- Ask ONE question at a time.
|
|
14
|
-
- Every question carries artifact evidence (file:line + specific scenario) — no evidence, no question. This is what keeps the review dense instead of formalistic.
|
|
15
|
-
- Every question includes a recommended answer.
|
|
16
|
-
- Classify each issue as [blocking] or [non-blocking].
|
|
17
|
-
- Soft limit: After 9 questions, self-assess whether remaining issues are blocking-level. If none remain, proceed to summary.
|
|
18
|
-
|
|
19
|
-
## Flow
|
|
20
|
-
|
|
21
|
-
1. **Backup**: Copy the change directory to \`.grill-backup/\` before grill begins. Clean stale backups if present.
|
|
22
|
-
2. **Review**: All artifacts (proposal, design, specs, tasks) one question at a time.
|
|
23
|
-
3. **Write**: On acceptance, show the final diff before any write, then modify the artifact.
|
|
24
|
-
4. **Consistency scan**: Run the bidirectional scan before summary.
|
|
25
|
-
5. **Summary**: Output the review summary and prompt \`/opsx:apply\`.
|
|
26
|
-
6. **Cleanup**: Delete \`.grill-backup/\` after successful completion.
|
|
27
|
-
|
|
28
|
-
## Review Surfaces (by artifact group — discovery perspectives, not mandatory per-item questions)
|
|
29
|
-
|
|
30
|
-
[proposal.md]
|
|
31
|
-
- Scope clarity — non-goals present and unambiguous
|
|
32
|
-
- Trade-off reality — each trade-off names rejected alternatives and reasons
|
|
33
|
-
- Verification executable — the verification strategy can actually run
|
|
34
|
-
- Problem validity — diagnoses a real problem, not an invented one
|
|
35
|
-
|
|
36
|
-
[design.md]
|
|
37
|
-
- Signature contract — every declared input has a source and a consumer (signature substitution)
|
|
38
|
-
- Dependency direction — domain never imports adapters; arrows point inward
|
|
39
|
-
- State & concurrency — shared state, lifecycle, who holds the lock
|
|
40
|
-
- Config defaults — every flag has a default, a range, and fallback behavior
|
|
41
|
-
- Error ownership — every failure class has a handling layer
|
|
42
|
-
|
|
43
|
-
[specs/]
|
|
44
|
-
- Independently testable — success and failure behaviors both present
|
|
45
|
-
- Boundary conditions — empty, over-limit, boundary values
|
|
46
|
-
- Input slot — every spec WHEN input maps to a parameter slot in a declared signature
|
|
47
|
-
- Assertion strength — scenarios prove an input took effect, not merely an output shell
|
|
48
|
-
- Terminology consistent — same concept, same name across specs
|
|
49
|
-
- Preconditions explicit — implied state assumptions written out
|
|
50
|
-
|
|
51
|
-
[tasks/]
|
|
52
|
-
- Verifiable — "done" is checkable by a command
|
|
53
|
-
- TDD order — failing test first, then implementation
|
|
54
|
-
- Spec trace — every spec scenario has a corresponding task, and vice versa
|
|
55
|
-
- Granularity — chunks ≤ 2h with correct dependencies
|
|
56
|
-
|
|
57
|
-
## Check Tools (trigger-based, not run every round)
|
|
58
|
-
|
|
59
|
-
- **Signature substitution** — for each public signature ask: where does each input come from, who constructs it, who consumes it?
|
|
60
|
-
- **Bidirectional parameter flow** — spec input → design parameter slot; design parameter → spec scenario
|
|
61
|
-
- **Implementation rehearsal** — for each signature ask: "can I write this now and satisfy the spec?"
|
|
62
|
-
|
|
63
|
-
## Boundary Discipline
|
|
64
|
-
|
|
65
|
-
- **Assertion-strength triage**: presentation defect (behavior already defined in proposal/design) → strengthen the THEN; requirements defect (behavior never defined) → route to Think/user, never invent.
|
|
66
|
-
- **Consistency scan runs both directions**: proposal → specs/tasks (forward) and spec inputs → design signature slots (reverse).
|
|
67
|
-
- **Exit commands**: \`grill-stop\` (keep changes), \`grill-abort\` (rollback from \`.grill-backup/\`).
|
|
68
|
-
`;
|
|
69
|
-
}
|
|
70
|
-
//# sourceMappingURL=grill-me-skill.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"grill-me-skill.js","sourceRoot":"","sources":["../../src/templates/grill-me-skill.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,mBAAmB;IACjC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkER,CAAC;AACF,CAAC"}
|