taste 0.0.1 → 0.0.2-alpha.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 +149 -7
- package/dist/index.mjs +2 -0
- package/package.json +43 -15
- package/.jshintrc +0 -32
- package/.npmignore +0 -10
- package/LICENSE +0 -21
- package/gulpfile.js +0 -73
- package/lib/taste.js +0 -8
package/README.md
CHANGED
|
@@ -1,11 +1,153 @@
|
|
|
1
|
+
# Taste CLI
|
|
1
2
|
|
|
3
|
+
Manage taste learning packages for Command Code.
|
|
2
4
|
|
|
3
|
-
##
|
|
5
|
+
## Usage
|
|
4
6
|
|
|
5
|
-
|
|
7
|
+
No installation required! Use with npx:
|
|
6
8
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
```bash
|
|
10
|
+
npx taste pull [package-name]
|
|
11
|
+
npx taste push [package-name]
|
|
12
|
+
npx taste list
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Installation (Optional)
|
|
16
|
+
|
|
17
|
+
For frequent use, install globally:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
npm install -g taste
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Then use directly:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
taste pull [package-name]
|
|
27
|
+
taste push [package-name]
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Commands
|
|
31
|
+
|
|
32
|
+
### Pull Taste Package
|
|
33
|
+
|
|
34
|
+
Pull taste packages from storage to your project:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
npx taste pull [package-name]
|
|
38
|
+
npx taste pull --all # Pull all packages
|
|
39
|
+
npx taste pull -g [package-name] # Pull from global storage
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Push Taste Package
|
|
43
|
+
|
|
44
|
+
Push taste packages from your project to storage:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
npx taste push [package-name]
|
|
48
|
+
npx taste push --all # Push all packages
|
|
49
|
+
npx taste push -g [package-name] # Push to global storage
|
|
50
|
+
npx taste push --overwrite # Overwrite instead of merge
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### List Packages
|
|
54
|
+
|
|
55
|
+
List available taste packages:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
npx taste list
|
|
59
|
+
npx taste list -g # List global packages
|
|
60
|
+
npx taste list --remote # List remote packages
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### Delete Package
|
|
64
|
+
|
|
65
|
+
Delete a taste package:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
npx taste delete <package-name>
|
|
69
|
+
npx taste delete -g <package-name> # Delete from global storage
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### Lint Package
|
|
73
|
+
|
|
74
|
+
Validate taste file format and structure:
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
npx taste lint [package-name]
|
|
78
|
+
npx taste lint --all # Lint all packages
|
|
79
|
+
npx taste lint -g [package-name] # Lint global packages
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### Open Package
|
|
83
|
+
|
|
84
|
+
Open a taste package in your editor:
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
npx taste open <package-name>
|
|
88
|
+
npx taste open -g <package-name> # Open from global storage
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### Update CLI
|
|
92
|
+
|
|
93
|
+
Update taste CLI to the latest version:
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
npx taste update
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### Other Commands
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
npx taste -v # Show version
|
|
103
|
+
npx taste --version # Show version
|
|
104
|
+
npx taste -h # Show help
|
|
105
|
+
npx taste --help # Show help
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
## What is Taste?
|
|
109
|
+
|
|
110
|
+
Taste packages allow you to customize Command Code's behavior and preferences. Share your configurations, workflows, and preferences with your team or the community.
|
|
111
|
+
|
|
112
|
+
## Authentication
|
|
113
|
+
|
|
114
|
+
Authentication is handled automatically by Command Code. The first time you use a command that requires authentication, you'll be prompted to log in.
|
|
115
|
+
|
|
116
|
+
## Development
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
# Install dependencies
|
|
120
|
+
pnpm install
|
|
121
|
+
|
|
122
|
+
# Build
|
|
123
|
+
pnpm build
|
|
124
|
+
|
|
125
|
+
# Development mode with auto-reload
|
|
126
|
+
pnpm dev
|
|
127
|
+
|
|
128
|
+
# Test locally with npm link
|
|
129
|
+
npm link
|
|
130
|
+
taste -v
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
## About
|
|
134
|
+
|
|
135
|
+
Taste CLI is a wrapper for Command Code's taste commands, providing a quick and convenient way to manage your taste packages.
|
|
136
|
+
|
|
137
|
+
For more information about Command Code, visit [commandcode.ai](https://commandcode.ai)
|
|
138
|
+
|
|
139
|
+
## License
|
|
140
|
+
|
|
141
|
+
UNLICENSED
|
|
142
|
+
|
|
143
|
+
## Keywords
|
|
144
|
+
|
|
145
|
+
- cli
|
|
146
|
+
- taste
|
|
147
|
+
- commandcode
|
|
148
|
+
- command-code
|
|
149
|
+
- preferences
|
|
150
|
+
- ai
|
|
151
|
+
- coding-agent
|
|
152
|
+
- langbase
|
|
153
|
+
- developer-tools
|
package/dist/index.mjs
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import{spawn as o}from"child_process";import{readFileSync as e}from"fs";import{fileURLToPath as a}from"url";import{dirname as t,join as n}from"path";import{Command as s}from"commander";var r=t(a(import.meta.url)),l=JSON.parse(e(n(r,"../package.json"),"utf-8")),i=new s;i.name("taste").description("Manage taste learning packages by CommandCode").version(l.version,"-v, --version","output the version number").allowUnknownOption().helpOption("-h, --help","display help for command"),i.command("push [package]").description("Push packages from project to remote or global storage").option("-g, --global","Push to global storage").option("--all","Push all packages").option("--overwrite","Overwrite instead of merge (default: merge)").option("--dev","Push to dev environment").allowUnknownOption().action(()=>{}),i.command("pull [package]").description("Pull packages from storage to project").option("-g, --global","Pull from global storage").option("--all","Pull all packages").option("--dev","Pull from dev environment").allowUnknownOption().action(()=>{}),i.command("list").description("List available packages").option("-g, --global","List global packages").option("--remote","List remote packages").option("--dev","Use dev environment").allowUnknownOption().action(()=>{}),i.command("delete <package>").description("Delete a package").option("-g, --global","Delete from global storage").option("--dev","Use dev environment").allowUnknownOption().action(()=>{}),i.command("lint [package]").description("Validate taste file format and structure").option("-g, --global","Lint global packages").option("--all","Lint all packages").allowUnknownOption().action(()=>{}),i.command("open <package>").description("Open a package in your editor").option("-g, --global","Open from global storage").option("--dev","Use dev environment").allowUnknownOption().action(()=>{}),i.command("update").description("Update taste CLI to the latest version").action(async()=>{console.log("Updating taste CLI...");const{execSync:o}=await import("child_process");try{o("npm install -g taste@latest",{stdio:"inherit"}),console.log("\n✅ Taste CLI updated successfully!"),console.log('Run "taste -v" to see the new version.')}catch(o){console.error("\n❌ Failed to update taste CLI"),console.error("Please try manually: npm install -g taste@latest"),process.exit(1)}});var p=process.argv.includes("--version")||process.argv.includes("-v"),c=process.argv.includes("--help")||process.argv.includes("-h")||2===process.argv.length,g="update"===process.argv[2];if(p||c||g)i.parse(process.argv);else{const e=o("npx",["command-code","taste",...process.argv.slice(2)],{stdio:"inherit",env:process.env});e.on("error",o=>{console.error("Error: Failed to execute command-code"),console.error(o.message),process.exit(1)}),e.on("exit",o=>{process.exit(o??0)})}
|
package/package.json
CHANGED
|
@@ -1,26 +1,54 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "taste",
|
|
3
|
-
"version": "0.0.
|
|
4
|
-
"description": "
|
|
5
|
-
"
|
|
3
|
+
"version": "0.0.2-alpha.0",
|
|
4
|
+
"description": "Taste CLI to manage CommandCode taste",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/index.mjs",
|
|
7
|
+
"bin": {
|
|
8
|
+
"taste": "dist/index.mjs"
|
|
9
|
+
},
|
|
10
|
+
"keywords": [
|
|
11
|
+
"taste",
|
|
12
|
+
"ai",
|
|
13
|
+
"coding-agent",
|
|
14
|
+
"langbase",
|
|
15
|
+
"command-code",
|
|
16
|
+
"developer-tools",
|
|
17
|
+
"cli"
|
|
18
|
+
],
|
|
19
|
+
"author": {
|
|
20
|
+
"name": "Langbase",
|
|
21
|
+
"url": "https://Langbase.com/docs"
|
|
22
|
+
},
|
|
23
|
+
"license": "UNLICENSED",
|
|
6
24
|
"repository": {
|
|
7
25
|
"type": "git",
|
|
8
|
-
"url": "
|
|
26
|
+
"url": "https://github.com/langbase/command-code",
|
|
27
|
+
"directory": "packages/taste"
|
|
9
28
|
},
|
|
10
|
-
"
|
|
11
|
-
"
|
|
12
|
-
"
|
|
29
|
+
"files": [
|
|
30
|
+
"dist",
|
|
31
|
+
"README.md"
|
|
13
32
|
],
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
|
|
17
|
-
"url": "https://github.com/gethuman/taste/issues"
|
|
33
|
+
"private": false,
|
|
34
|
+
"publishConfig": {
|
|
35
|
+
"access": "public"
|
|
18
36
|
},
|
|
19
|
-
"homepage": "https://github.com/gethuman/taste",
|
|
20
37
|
"dependencies": {
|
|
21
|
-
|
|
38
|
+
"commander": "^14.0.0",
|
|
39
|
+
"command-code": "0.0.4-alpha.38"
|
|
22
40
|
},
|
|
23
41
|
"devDependencies": {
|
|
24
|
-
|
|
42
|
+
"@types/node": "^24.2.0",
|
|
43
|
+
"tsup": "^8.5.0",
|
|
44
|
+
"typescript": "^5.9.2"
|
|
45
|
+
},
|
|
46
|
+
"scripts": {
|
|
47
|
+
"build": "tsup",
|
|
48
|
+
"build:obfuscated": "tsup --config tsup.config.obfuscated.ts",
|
|
49
|
+
"build:balanced": "tsup --config tsup.config.balanced.ts",
|
|
50
|
+
"dev": "tsup --watch",
|
|
51
|
+
"typecheck": "tsc --noEmit",
|
|
52
|
+
"publish:prod": "pnpm run build:obfuscated && npm publish --access public"
|
|
25
53
|
}
|
|
26
|
-
}
|
|
54
|
+
}
|
package/.jshintrc
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"node": true,
|
|
3
|
-
"esnext": true,
|
|
4
|
-
"bitwise": true,
|
|
5
|
-
"camelcase": true,
|
|
6
|
-
"curly": true,
|
|
7
|
-
"eqeqeq": true,
|
|
8
|
-
"immed": true,
|
|
9
|
-
"indent": 4,
|
|
10
|
-
"latedef": true,
|
|
11
|
-
"newcap": true,
|
|
12
|
-
"noarg": true,
|
|
13
|
-
"quotmark": "single",
|
|
14
|
-
"regexp": true,
|
|
15
|
-
"undef": true,
|
|
16
|
-
"unused": true,
|
|
17
|
-
"strict": false,
|
|
18
|
-
"trailing": true,
|
|
19
|
-
"smarttabs": true,
|
|
20
|
-
"white": true,
|
|
21
|
-
"expr": true,
|
|
22
|
-
"globals": {
|
|
23
|
-
"angular": true,
|
|
24
|
-
"describe": true,
|
|
25
|
-
"it": true,
|
|
26
|
-
"before": true,
|
|
27
|
-
"after": true,
|
|
28
|
-
"beforeEach": true,
|
|
29
|
-
"afterEach": true,
|
|
30
|
-
"inject": true
|
|
31
|
-
}
|
|
32
|
-
}
|
package/.npmignore
DELETED
package/LICENSE
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
The MIT License (MIT)
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2014 GetHuman LLC
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in
|
|
13
|
-
all copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
21
|
-
THE SOFTWARE.
|
package/gulpfile.js
DELETED
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Author: Jeff Whelpley
|
|
3
|
-
* Date: 2/9/14
|
|
4
|
-
*
|
|
5
|
-
* Build file for Pancakes
|
|
6
|
-
*/
|
|
7
|
-
var gulp = require('gulp');
|
|
8
|
-
var mocha = require('gulp-mocha');
|
|
9
|
-
var jshint = require('gulp-jshint');
|
|
10
|
-
var watch = require('gulp-watch');
|
|
11
|
-
var karma = require('gulp-karma');
|
|
12
|
-
var concat = require('gulp-concat');
|
|
13
|
-
var rename = require('gulp-rename');
|
|
14
|
-
var uglify = require('gulp-uglify');
|
|
15
|
-
var ngann = require('gulp-ng-annotate');
|
|
16
|
-
|
|
17
|
-
var alljs = ['test/**/*.js', 'lib/**/*.js'];
|
|
18
|
-
var serverjs = ['test/unit/**/*.js', 'lib/transformers/**/*.js'];
|
|
19
|
-
var clientjs = [
|
|
20
|
-
'node_modules/angular/angular.js',
|
|
21
|
-
'node_modules/angular-mocks/angular-mocks.js',
|
|
22
|
-
'test/karma/**/*.js',
|
|
23
|
-
'lib/pancakes.angular.app.js',
|
|
24
|
-
'lib/ngapp/**/*.js'
|
|
25
|
-
];
|
|
26
|
-
|
|
27
|
-
gulp.task('jshint', function () {
|
|
28
|
-
return gulp.src(alljs)
|
|
29
|
-
.pipe(jshint())
|
|
30
|
-
.pipe(jshint.reporter('default'));
|
|
31
|
-
});
|
|
32
|
-
|
|
33
|
-
gulp.task('test', function () {
|
|
34
|
-
return gulp.src('test/unit/**/*.js')
|
|
35
|
-
.pipe(mocha({
|
|
36
|
-
growl: true,
|
|
37
|
-
ui: 'bdd',
|
|
38
|
-
reporter: 'progress',
|
|
39
|
-
timeout: 5000,
|
|
40
|
-
require: 'test/setup'
|
|
41
|
-
}));
|
|
42
|
-
});
|
|
43
|
-
|
|
44
|
-
gulp.task('ngtest', function () {
|
|
45
|
-
return gulp.src(clientjs).pipe(karma({ configFile: 'test/karma.config.js', action: 'run' }));
|
|
46
|
-
});
|
|
47
|
-
|
|
48
|
-
gulp.task('build', function () {
|
|
49
|
-
return gulp.src(['lib/pancakes.angular.app.js', 'lib/ngapp/**/*.js'])
|
|
50
|
-
.pipe(concat('pancakes.angular.js'))
|
|
51
|
-
.pipe(gulp.dest('dist'));
|
|
52
|
-
});
|
|
53
|
-
|
|
54
|
-
gulp.task('min', function () {
|
|
55
|
-
return gulp.src(['dist/pancakes.angular.js'])
|
|
56
|
-
.pipe(ngann())
|
|
57
|
-
.pipe(uglify())
|
|
58
|
-
.pipe(rename('pancakes.angular.min.js'))
|
|
59
|
-
.pipe(gulp.dest('dist'));
|
|
60
|
-
});
|
|
61
|
-
|
|
62
|
-
gulp.task('watch', function (){
|
|
63
|
-
gulp.watch(serverjs, ['jshint', 'test']);
|
|
64
|
-
gulp.src(clientjs).pipe(karma({ configFile: 'test/karma.config.js', action: 'watch' }));
|
|
65
|
-
});
|
|
66
|
-
|
|
67
|
-
gulp.task('ngwatch', function (){
|
|
68
|
-
gulp.src(clientjs).pipe(karma({ configFile: 'test/karma.config.js', action: 'watch' }));
|
|
69
|
-
});
|
|
70
|
-
|
|
71
|
-
gulp.task('default', ['jshint', 'test', 'ngtest', 'build']);
|
|
72
|
-
|
|
73
|
-
|