worclaude 1.0.0 → 1.1.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/package.json +1 -1
- package/src/commands/init.js +82 -5
- package/src/data/agents.js +24 -2
- package/templates/settings/cpp.json +16 -0
- package/templates/settings/csharp.json +12 -0
- package/templates/settings/dart.json +14 -0
- package/templates/settings/elixir.json +14 -0
- package/templates/settings/java.json +14 -0
- package/templates/settings/kotlin.json +14 -0
- package/templates/settings/php.json +15 -0
- package/templates/settings/ruby.json +16 -0
- package/templates/settings/scala.json +14 -0
- package/templates/settings/swift.json +13 -0
- package/templates/settings/zig.json +10 -0
package/package.json
CHANGED
package/src/commands/init.js
CHANGED
|
@@ -45,12 +45,26 @@ function buildCommandsBlock(languages, useDocker) {
|
|
|
45
45
|
lines.push('npx eslint . # Lint');
|
|
46
46
|
lines.push('npx prettier --write . # Format');
|
|
47
47
|
}
|
|
48
|
-
if (languages.includes('
|
|
48
|
+
if (languages.includes('java')) {
|
|
49
49
|
if (lines.length > 1) lines.push('');
|
|
50
|
-
lines.push('#
|
|
51
|
-
lines.push('
|
|
52
|
-
lines.push('
|
|
53
|
-
lines.push('
|
|
50
|
+
lines.push('# Java');
|
|
51
|
+
lines.push('mvn test # Run tests');
|
|
52
|
+
lines.push('mvn checkstyle:check # Lint');
|
|
53
|
+
lines.push('mvn spotless:apply # Format');
|
|
54
|
+
}
|
|
55
|
+
if (languages.includes('csharp')) {
|
|
56
|
+
if (lines.length > 1) lines.push('');
|
|
57
|
+
lines.push('# C# / .NET');
|
|
58
|
+
lines.push('dotnet test # Run tests');
|
|
59
|
+
lines.push('dotnet format --verify-no-changes # Lint');
|
|
60
|
+
lines.push('dotnet format # Format');
|
|
61
|
+
}
|
|
62
|
+
if (languages.includes('cpp')) {
|
|
63
|
+
if (lines.length > 1) lines.push('');
|
|
64
|
+
lines.push('# C / C++');
|
|
65
|
+
lines.push('cmake --build build && ctest # Build & test');
|
|
66
|
+
lines.push('clang-tidy src/*.cpp # Lint');
|
|
67
|
+
lines.push('clang-format -i src/*.[ch]pp # Format');
|
|
54
68
|
}
|
|
55
69
|
if (languages.includes('go')) {
|
|
56
70
|
if (lines.length > 1) lines.push('');
|
|
@@ -59,6 +73,69 @@ function buildCommandsBlock(languages, useDocker) {
|
|
|
59
73
|
lines.push('golangci-lint run # Lint');
|
|
60
74
|
lines.push('gofmt -w . # Format');
|
|
61
75
|
}
|
|
76
|
+
if (languages.includes('php')) {
|
|
77
|
+
if (lines.length > 1) lines.push('');
|
|
78
|
+
lines.push('# PHP');
|
|
79
|
+
lines.push('vendor/bin/phpunit # Run tests');
|
|
80
|
+
lines.push('vendor/bin/phpstan analyse # Lint');
|
|
81
|
+
lines.push('vendor/bin/php-cs-fixer fix . # Format');
|
|
82
|
+
}
|
|
83
|
+
if (languages.includes('ruby')) {
|
|
84
|
+
if (lines.length > 1) lines.push('');
|
|
85
|
+
lines.push('# Ruby');
|
|
86
|
+
lines.push('bundle exec rspec # Run tests');
|
|
87
|
+
lines.push('rubocop # Lint');
|
|
88
|
+
lines.push('rubocop -A # Format');
|
|
89
|
+
}
|
|
90
|
+
if (languages.includes('kotlin')) {
|
|
91
|
+
if (lines.length > 1) lines.push('');
|
|
92
|
+
lines.push('# Kotlin');
|
|
93
|
+
lines.push('gradle test # Run tests');
|
|
94
|
+
lines.push('detekt # Lint');
|
|
95
|
+
lines.push('ktlint -F # Format');
|
|
96
|
+
}
|
|
97
|
+
if (languages.includes('swift')) {
|
|
98
|
+
if (lines.length > 1) lines.push('');
|
|
99
|
+
lines.push('# Swift');
|
|
100
|
+
lines.push('swift test # Run tests');
|
|
101
|
+
lines.push('swiftlint # Lint');
|
|
102
|
+
lines.push('swift-format format -r . -i # Format');
|
|
103
|
+
}
|
|
104
|
+
if (languages.includes('rust')) {
|
|
105
|
+
if (lines.length > 1) lines.push('');
|
|
106
|
+
lines.push('# Rust');
|
|
107
|
+
lines.push('cargo test # Run tests');
|
|
108
|
+
lines.push('cargo clippy # Lint');
|
|
109
|
+
lines.push('cargo fmt # Format');
|
|
110
|
+
}
|
|
111
|
+
if (languages.includes('dart')) {
|
|
112
|
+
if (lines.length > 1) lines.push('');
|
|
113
|
+
lines.push('# Dart / Flutter');
|
|
114
|
+
lines.push('dart test # Run tests');
|
|
115
|
+
lines.push('dart analyze # Lint');
|
|
116
|
+
lines.push('dart format . # Format');
|
|
117
|
+
}
|
|
118
|
+
if (languages.includes('scala')) {
|
|
119
|
+
if (lines.length > 1) lines.push('');
|
|
120
|
+
lines.push('# Scala');
|
|
121
|
+
lines.push('sbt test # Run tests');
|
|
122
|
+
lines.push('sbt scalafix # Lint');
|
|
123
|
+
lines.push('scalafmt # Format');
|
|
124
|
+
}
|
|
125
|
+
if (languages.includes('elixir')) {
|
|
126
|
+
if (lines.length > 1) lines.push('');
|
|
127
|
+
lines.push('# Elixir');
|
|
128
|
+
lines.push('mix test # Run tests');
|
|
129
|
+
lines.push('mix credo # Lint');
|
|
130
|
+
lines.push('mix format # Format');
|
|
131
|
+
}
|
|
132
|
+
if (languages.includes('zig')) {
|
|
133
|
+
if (lines.length > 1) lines.push('');
|
|
134
|
+
lines.push('# Zig');
|
|
135
|
+
lines.push('zig build test # Run tests');
|
|
136
|
+
lines.push('zig build # Build (lint via compiler)');
|
|
137
|
+
lines.push('zig fmt . # Format');
|
|
138
|
+
}
|
|
62
139
|
if (useDocker) {
|
|
63
140
|
if (lines.length > 1) lines.push('');
|
|
64
141
|
lines.push('# Docker');
|
package/src/data/agents.js
CHANGED
|
@@ -81,16 +81,38 @@ export const PROJECT_TYPES = [
|
|
|
81
81
|
export const TECH_STACKS = [
|
|
82
82
|
{ name: 'Python', value: 'python' },
|
|
83
83
|
{ name: 'Node.js / TypeScript', value: 'node' },
|
|
84
|
-
{ name: '
|
|
84
|
+
{ name: 'Java', value: 'java' },
|
|
85
|
+
{ name: 'C# / .NET', value: 'csharp' },
|
|
86
|
+
{ name: 'C / C++', value: 'cpp' },
|
|
85
87
|
{ name: 'Go', value: 'go' },
|
|
88
|
+
{ name: 'PHP', value: 'php' },
|
|
89
|
+
{ name: 'Ruby', value: 'ruby' },
|
|
90
|
+
{ name: 'Kotlin', value: 'kotlin' },
|
|
91
|
+
{ name: 'Swift', value: 'swift' },
|
|
92
|
+
{ name: 'Rust', value: 'rust' },
|
|
93
|
+
{ name: 'Dart / Flutter', value: 'dart' },
|
|
94
|
+
{ name: 'Scala', value: 'scala' },
|
|
95
|
+
{ name: 'Elixir', value: 'elixir' },
|
|
96
|
+
{ name: 'Zig', value: 'zig' },
|
|
86
97
|
{ name: 'Other / None', value: 'other' },
|
|
87
98
|
];
|
|
88
99
|
|
|
89
100
|
export const FORMATTER_COMMANDS = {
|
|
90
101
|
python: 'ruff format . || true',
|
|
91
102
|
node: 'npx prettier --write . || true',
|
|
92
|
-
|
|
103
|
+
java: "google-java-format -i $(find . -name '*.java' 2>/dev/null) || true",
|
|
104
|
+
csharp: 'dotnet format || true',
|
|
105
|
+
cpp: "find . -name '*.c' -o -name '*.cpp' -o -name '*.h' -o -name '*.hpp' | xargs clang-format -i || true",
|
|
93
106
|
go: 'gofmt -w . || true',
|
|
107
|
+
php: 'php-cs-fixer fix . || true',
|
|
108
|
+
ruby: 'rubocop -A || true',
|
|
109
|
+
kotlin: 'ktlint -F || true',
|
|
110
|
+
swift: 'swift-format format -r . -i || true',
|
|
111
|
+
rust: 'cargo fmt || true',
|
|
112
|
+
dart: 'dart format . || true',
|
|
113
|
+
scala: 'scalafmt || true',
|
|
114
|
+
elixir: 'mix format || true',
|
|
115
|
+
zig: 'zig fmt . || true',
|
|
94
116
|
};
|
|
95
117
|
|
|
96
118
|
export const PROJECT_TYPE_DESCRIPTIONS = {
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"permissions": {
|
|
3
|
+
"allow": [
|
|
4
|
+
"// -- C / C++ --",
|
|
5
|
+
"Bash(gcc:*)", "Bash(g++:*)", "Bash(clang:*)", "Bash(clang++:*)",
|
|
6
|
+
"Bash(make:*)", "Bash(cmake:*)", "Bash(ctest:*)", "Bash(cpack:*)",
|
|
7
|
+
"Bash(clang-format:*)", "Bash(clang-tidy:*)",
|
|
8
|
+
"Bash(valgrind:*)", "Bash(gdb:*)",
|
|
9
|
+
"Edit(*.c)", "Edit(*.cpp)", "Edit(*.cc)", "Edit(*.cxx)",
|
|
10
|
+
"Edit(*.h)", "Edit(*.hpp)", "Edit(*.hxx)",
|
|
11
|
+
"Edit(CMakeLists.txt)", "Edit(*.cmake)",
|
|
12
|
+
"Edit(Makefile)", "Edit(*.mk)"
|
|
13
|
+
]
|
|
14
|
+
},
|
|
15
|
+
"formatter": "find . -name '*.c' -o -name '*.cpp' -o -name '*.h' -o -name '*.hpp' | xargs clang-format -i || true"
|
|
16
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"permissions": {
|
|
3
|
+
"allow": [
|
|
4
|
+
"// -- C# / .NET --",
|
|
5
|
+
"Bash(dotnet:*)", "Bash(nuget:*)",
|
|
6
|
+
"Edit(*.cs)", "Edit(*.csproj)", "Edit(*.sln)",
|
|
7
|
+
"Edit(*.props)", "Edit(*.targets)",
|
|
8
|
+
"Edit(appsettings*.json)", "Edit(launchSettings.json)"
|
|
9
|
+
]
|
|
10
|
+
},
|
|
11
|
+
"formatter": "dotnet format || true"
|
|
12
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"permissions": {
|
|
3
|
+
"allow": [
|
|
4
|
+
"// -- Dart / Flutter --",
|
|
5
|
+
"Bash(dart:*)", "Bash(flutter:*)",
|
|
6
|
+
"Bash(pub:*)",
|
|
7
|
+
"Edit(*.dart)",
|
|
8
|
+
"Edit(pubspec.yaml)", "Edit(pubspec.lock)",
|
|
9
|
+
"Edit(analysis_options.yaml)",
|
|
10
|
+
"Edit(*.g.dart)"
|
|
11
|
+
]
|
|
12
|
+
},
|
|
13
|
+
"formatter": "dart format . || true"
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"permissions": {
|
|
3
|
+
"allow": [
|
|
4
|
+
"// -- Elixir --",
|
|
5
|
+
"Bash(elixir:*)", "Bash(elixirc:*)", "Bash(iex:*)",
|
|
6
|
+
"Bash(mix:*)", "Bash(hex:*)",
|
|
7
|
+
"Bash(dialyzer:*)", "Bash(credo:*)",
|
|
8
|
+
"Edit(*.ex)", "Edit(*.exs)", "Edit(*.heex)", "Edit(*.leex)",
|
|
9
|
+
"Edit(mix.exs)", "Edit(mix.lock)",
|
|
10
|
+
"Edit(config/*.exs)"
|
|
11
|
+
]
|
|
12
|
+
},
|
|
13
|
+
"formatter": "mix format || true"
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"permissions": {
|
|
3
|
+
"allow": [
|
|
4
|
+
"// -- Java --",
|
|
5
|
+
"Bash(java:*)", "Bash(javac:*)", "Bash(javap:*)",
|
|
6
|
+
"Bash(mvn:*)", "Bash(mvnw:*)",
|
|
7
|
+
"Bash(gradle:*)", "Bash(gradlew:*)",
|
|
8
|
+
"Bash(google-java-format:*)",
|
|
9
|
+
"Edit(*.java)", "Edit(pom.xml)", "Edit(build.gradle*)",
|
|
10
|
+
"Edit(settings.gradle*)", "Edit(gradle.properties)"
|
|
11
|
+
]
|
|
12
|
+
},
|
|
13
|
+
"formatter": "google-java-format -i $(find . -name '*.java' 2>/dev/null) || true"
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"permissions": {
|
|
3
|
+
"allow": [
|
|
4
|
+
"// -- Kotlin --",
|
|
5
|
+
"Bash(kotlin:*)", "Bash(kotlinc:*)",
|
|
6
|
+
"Bash(gradle:*)", "Bash(gradlew:*)",
|
|
7
|
+
"Bash(ktlint:*)", "Bash(detekt:*)",
|
|
8
|
+
"Edit(*.kt)", "Edit(*.kts)",
|
|
9
|
+
"Edit(build.gradle*)", "Edit(settings.gradle*)",
|
|
10
|
+
"Edit(gradle.properties)"
|
|
11
|
+
]
|
|
12
|
+
},
|
|
13
|
+
"formatter": "ktlint -F || true"
|
|
14
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"permissions": {
|
|
3
|
+
"allow": [
|
|
4
|
+
"// -- PHP --",
|
|
5
|
+
"Bash(php:*)", "Bash(composer:*)",
|
|
6
|
+
"Bash(phpunit:*)", "Bash(phpstan:*)",
|
|
7
|
+
"Bash(php-cs-fixer:*)", "Bash(pint:*)",
|
|
8
|
+
"Bash(artisan:*)", "Bash(sail:*)",
|
|
9
|
+
"Edit(*.php)", "Edit(composer.json)", "Edit(composer.lock)",
|
|
10
|
+
"Edit(phpunit.xml*)", "Edit(phpstan.neon*)",
|
|
11
|
+
"Edit(.php-cs-fixer*)"
|
|
12
|
+
]
|
|
13
|
+
},
|
|
14
|
+
"formatter": "php-cs-fixer fix . || true"
|
|
15
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"permissions": {
|
|
3
|
+
"allow": [
|
|
4
|
+
"// -- Ruby --",
|
|
5
|
+
"Bash(ruby:*)", "Bash(irb:*)",
|
|
6
|
+
"Bash(bundle:*)", "Bash(bundler:*)",
|
|
7
|
+
"Bash(gem:*)", "Bash(rake:*)",
|
|
8
|
+
"Bash(rspec:*)", "Bash(rubocop:*)",
|
|
9
|
+
"Bash(rails:*)",
|
|
10
|
+
"Edit(*.rb)", "Edit(*.erb)", "Edit(*.rake)",
|
|
11
|
+
"Edit(Gemfile)", "Edit(Gemfile.lock)", "Edit(Rakefile)",
|
|
12
|
+
"Edit(.rubocop.yml)"
|
|
13
|
+
]
|
|
14
|
+
},
|
|
15
|
+
"formatter": "rubocop -A || true"
|
|
16
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"permissions": {
|
|
3
|
+
"allow": [
|
|
4
|
+
"// -- Scala --",
|
|
5
|
+
"Bash(scala:*)", "Bash(scalac:*)",
|
|
6
|
+
"Bash(sbt:*)", "Bash(mill:*)",
|
|
7
|
+
"Bash(scalafmt:*)", "Bash(scalafix:*)",
|
|
8
|
+
"Edit(*.scala)", "Edit(*.sc)", "Edit(*.sbt)",
|
|
9
|
+
"Edit(build.sbt)", "Edit(project/*.scala)", "Edit(project/*.sbt)",
|
|
10
|
+
"Edit(.scalafmt.conf)"
|
|
11
|
+
]
|
|
12
|
+
},
|
|
13
|
+
"formatter": "scalafmt || true"
|
|
14
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"permissions": {
|
|
3
|
+
"allow": [
|
|
4
|
+
"// -- Swift --",
|
|
5
|
+
"Bash(swift:*)", "Bash(swiftc:*)",
|
|
6
|
+
"Bash(xcodebuild:*)", "Bash(xcrun:*)",
|
|
7
|
+
"Bash(swift-format:*)", "Bash(swiftlint:*)",
|
|
8
|
+
"Edit(*.swift)", "Edit(Package.swift)", "Edit(Package.resolved)",
|
|
9
|
+
"Edit(*.xcodeproj/**)", "Edit(*.xcworkspace/**)"
|
|
10
|
+
]
|
|
11
|
+
},
|
|
12
|
+
"formatter": "swift-format format -r . -i || true"
|
|
13
|
+
}
|