My Projects

None of them were created with AI unless otherwise specified.

Cross-platform Apps

I like Electron, even though many people don't.
Commas
Commas
A hackable, pluggable terminal, and also a command runner
Version
Lyrically
Lyrically
Music player inspired by Lyric Speaker
Version
強風オールバック
強風オールバック
Cross-platform remaster of PowerfulWindSlickedBackHair
Version

Working with AI

These infrastructure components help you make better use of LLM and Harness.
cyansalt/dsh-plugins
My DeepSeek Harness (DSH) plugins
decision-pony
OpenAI Decisions API and TypeSafe API (Jev) polyfill with conversational LLM protocols
npm
openai-ollama
Create a local Ollama proxy service for the OpenAI compatible backend
npm

Vue Ecosystem

Vue is my preferred front-end framework.
@legacy-vue/compiler-sfc
A drop-in replacement for @vue/compiler-sfc for Vue legacy versions (2.7.x)
npm
@legacy-vue/vite-plugin-vue2
A drop-in replacement for @vitejs/plugin-vue2 for Vue legacy versions (2.7.x)
npm
@legacy-vue/vue-loader
A drop-in replacement for vue-loader for Vue legacy versions (2.7.x)
npm
roughness
roughness
A Vue component library with hand-drawn appearance
npm
vue-demarque
Content renderer for Vue
npm
vue-spinach
vue-spinach
Transform Vue SFC between Option API and Composition API
npm
vue-typescript-schema
Generate JSON schema from Vue SFC with type annotations
npm

Vite Ecosystem

Sharing best practices for Vite that I’ve gathered from real-world projects.
vite-plugin-auto-preload
Vite plugin for adding preload resource hints in HTML
npm
vite-plugin-html-sort-tags
Vite plugin for sorting head tags in HTML
npm
vite-plugin-legacy-swc
Provides legacy browsers support for the production build with SWC
npm
vite-plugin-prefetch-chunk
Vite plugin for adding prefetch resource hints in HTML
npm
vite-plugin-template-html
Plugin for vite to inject data into html and request proxy
npm
vite-plugin-unused-code
Vite/Rollup plugin to detect unused files and unused exports in used files
npm

Other Build Tools

Sometimes you may also have to use other build tools, such as Webpack.
babel-preset-omit-plugins
Omit certain plugins from a Babel preset
npm
module-federation-plugin
Module federation for webpack@4
npm
parallelize-webpack-unplugin
Use unplugin with thread-loader in webpack
npm
postcss-transform-decl
Transform any declarations with custom rules
npm
rolldown-plugin-module-replace
Replace aliases for bundle dependencies
npm
typescript-transform-aliases
Transform aliases in TypeScript files
npm

Linter

Collections of opinionated rules.
@cyansalt/eslint-config
My ESLint configuration preset
npm
@cyansalt/stylelint-config
My Stylelint configuration preset
npm
@cyansalt/tsconfig
My TypeScript configuration
npm
eslint-plugin-galaxy
Various ESLint rules in one plugin
npm
stylelint-plugin-aurora
Various Stylelint rules in one plugin
npm
stylelint-test-rule-vitest
A Stylelint rule tester using Vitest
npm

Editor Themes

Color scheme is the most important feature of a code editor.
vscode-theme-porcelain
Porcelain theme for VSCode
Version
zed-theme-porcelain
Porcelain theme for Zed

Others

I think they're useful. You could give them a try.
corner-smoothie
Create elements with Figma corner smoothing
npm
croonjs
A toolkit for parsing and playing numbered musical notation
npm
font-cloak
Encrypt your data with random fonts
npm
git9
git9
Utilities for Git
npm
parseport
Get static value from a JavaScript or TypeScript file
npm
transchema
Transform JSON Schema definition into inline TypeScript type
npm
whistle.try
whistle.try
Provide fallback functionality for local rules of whistle
npm