@funish/basis 0.2.8-edge.2 → 0.2.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +47 -16
  2. package/package.json +4 -3
package/README.md CHANGED
@@ -12,14 +12,16 @@
12
12
 
13
13
  Basis is your **unified development toolkit** for modern projects. Instead of juggling multiple CLI tools, Basis provides a single interface for all your development workflow needs.
14
14
 
15
+ **Similar to**: [Vite+](https://viteplus.dev/) - Basis follows the same philosophy of unified tooling with Rust-powered components (oxlint/oxfmt) for maximum performance.
16
+
15
17
  ## Features
16
18
 
17
19
  - 🎯 **Unified CLI**: One command interface for all development tasks
18
20
  - 📦 **Package Management**: Add, remove dependencies with auto-detected package manager (npm, yarn, pnpm, bun, deno)
19
21
  - 🏷️ **Version Management**: Semantic versioning with automated git tagging
20
22
  - 🚀 **Publishing**: Flexible publishing with tag strategy
21
- - 🔍 **Code Quality**: Linting, formatting, and type checking
22
- - 🛠️ **Project Audit**: Dependency and structure validation
23
+ - 🔍 **Code Quality**: Linting, formatting, and building
24
+ - 🛠️ **Project Audit**: Dependency and structure validation with auto-fix
23
25
  - 🪪 **Smart Git Hooks**: Automatic git hook management and commit message validation
24
26
  - 💻 **Direct TS Execution**: Run TypeScript files directly without compilation
25
27
  - 🔧 **Single Configuration**: One config file for all functionality
@@ -29,12 +31,20 @@ Basis is your **unified development toolkit** for modern projects. Instead of ju
29
31
  ### Installation
30
32
 
31
33
  ```bash
32
- # Install globally (recommended)
33
- pnpm add -g @funish/basis
34
- npm install -g @funish/basis
34
+ # Install with npm
35
+ $ npm install -D @funish/basis
36
+
37
+ # Install with yarn
38
+ $ yarn add -D @funish/basis
39
+
40
+ # Install with pnpm
41
+ $ pnpm add -D @funish/basis
42
+
43
+ # Install globally (optional)
44
+ $ pnpm add -g @funish/basis
35
45
 
36
46
  # Or use directly without installation
37
- npx @funish/basis init
47
+ $ npx @funish/basis init
38
48
  ```
39
49
 
40
50
  ### Initialize
@@ -43,6 +53,11 @@ npx @funish/basis init
43
53
  cd your-project
44
54
  basis init
45
55
 
56
+ # Options
57
+ basis init --force # Overwrite existing configuration
58
+ basis init --skip-git-check # Skip git directory check
59
+ basis init --skip-install # Skip dependency installation
60
+
46
61
  # This creates:
47
62
  # ✅ basis.config.ts with Git hooks
48
63
  # ✅ Git hooks setup (run 'basis git setup' to activate)
@@ -59,16 +74,16 @@ basis lint
59
74
  # Format code
60
75
  basis fmt
61
76
 
62
- # Type check
63
- basis check
64
-
65
77
  # Build project
66
- basis build
78
+ basis build # Build with default config
79
+ basis build --dir ./packages # Build specific directory
80
+ basis build --stub # Generate stub files
67
81
 
68
82
  # Audit code quality
69
83
  basis audit # Run all audits
70
84
  basis audit --dependencies # Audit dependencies only
71
85
  basis audit --structure # Audit structure only
86
+ basis audit --fix # Auto-fix issues
72
87
  ```
73
88
 
74
89
  ### Package Management
@@ -109,8 +124,16 @@ basis version major # 1.0.0 → 2.0.0
109
124
  basis version prerelease # 1.0.0 → 1.0.1-edge.0
110
125
  basis version prerelease --preid beta # 1.0.0 → 1.0.1-beta.0
111
126
 
127
+ # Advanced prerelease
128
+ basis version premajor # 2.0.0-alpha.0
129
+ basis version preminor # 1.1.0-alpha.0
130
+ basis version prepatch # 1.0.1-alpha.0
131
+
112
132
  # Specific version
113
133
  basis version 2.0.0
134
+
135
+ # Allow same version
136
+ basis version patch --allow-same-version
114
137
  ```
115
138
 
116
139
  ### Publishing
@@ -136,9 +159,10 @@ basis git staged
136
159
  # Validate commit message
137
160
  basis git lint-commit
138
161
 
139
- # Git passthrough
162
+ # Git passthrough (all other git commands)
140
163
  basis git status
141
164
  basis git log --oneline
165
+ basis git branch -a
142
166
  ```
143
167
 
144
168
  ## Configuration
@@ -150,11 +174,15 @@ Basis uses a single configuration file for all features:
150
174
  import { defineBasisConfig } from "@funish/basis/config";
151
175
 
152
176
  export default defineBasisConfig({
153
- // Linting configuration (oxlint)
154
- lint: {},
177
+ // Linting configuration (oxlint arguments)
178
+ lint: {
179
+ config: ["--fix", "--fix-suggestions", "--type-aware", "--type-check"],
180
+ },
155
181
 
156
- // Formatting configuration (oxfmt)
157
- fmt: {},
182
+ // Formatting configuration (oxfmt arguments)
183
+ fmt: {
184
+ config: ["--write", "."],
185
+ },
158
186
 
159
187
  // Git configuration
160
188
  git: {
@@ -220,7 +248,10 @@ export default defineBasisConfig({
220
248
 
221
249
  // Publishing configuration
222
250
  publish: {
223
- tag: "latest",
251
+ npm: {
252
+ tag: "latest",
253
+ additionalTag: "edge",
254
+ },
224
255
  git: {
225
256
  tagPrefix: "v",
226
257
  message: (version) => `chore: release v${version}`,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@funish/basis",
3
- "version": "0.2.8-edge.2",
3
+ "version": "0.2.8",
4
4
  "description": "A modern development toolkit with unified CLI for package management, versioning, publishing, code quality, and Git workflow automation.",
5
5
  "keywords": [
6
6
  "basis",
@@ -22,7 +22,8 @@
22
22
  "semver",
23
23
  "typescript",
24
24
  "unjs",
25
- "version-management"
25
+ "version-management",
26
+ "vite-plus"
26
27
  ],
27
28
  "homepage": "https://github.com/funish/basis#readme",
28
29
  "bugs": {
@@ -79,7 +80,7 @@
79
80
  "pkg-types": "2.3.0",
80
81
  "semver": "7.7.4",
81
82
  "tinyglobby": "0.2.15",
82
- "@funish/build": "0.0.4-edge.1"
83
+ "@funish/build": "0.0.4"
83
84
  },
84
85
  "devDependencies": {
85
86
  "@types/picomatch": "4.0.2",