Skip to content

Latest commit

History

119 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Code Please

English | 한국어

Auto-formatting and LSP diagnostics plugin for Claude Code. Get real-time type checking feedback and automatic code formatting during AI coding sessions.

Features

  • Auto-formatting hooks — Automatically format files after Claude Code edits (35+ formatters)
  • LSP diagnostics — Real-time type errors and warnings fed back to Claude as context
  • 30+ language servers — TypeScript, Python, Go, Rust, Kotlin, Dart, and more
  • Zero config — Language servers are auto-detected from project files

Plugin Installation (Claude Code)

Step 1: Add the marketplace

/plugin marketplace add pleaseai/code-intelligence

Step 2: Install language-specific LSP plugins

Install only the language servers you need:

# TypeScript/JavaScript
/plugin install typescript-lsp@code-intelligence
# Python
/plugin install pyright-lsp@code-intelligence
# Go
/plugin install gopls-lsp@code-intelligence
# Rust
/plugin install rust-analyzer-lsp@code-intelligence

Note: Language server binaries are auto-installed via npm install on first session start. No manual binary installation is required.

Plugin management

# Update marketplace and plugins
/plugin marketplace update code-intelligence
# Disable without removing
/plugin disable code-please@code-intelligence
# Re-enable
/plugin enable code-please@code-intelligence
# Uninstall
/plugin uninstall code-please@code-intelligence
# Reload after changes (no restart needed)
/reload-plugins

Available LSP plugins

PluginLanguageServer
typescript-lspTypeScript/JavaScripttypescript-language-server
pyright-lspPythonpyright
gopls-lspGogopls
rust-analyzer-lspRustrust-analyzer
kotlin-lspKotlinJetBrains Kotlin LSP
dart-lspDartdart language-server
vue-lspVue@vue/language-server
svelte-lspSveltesvelte-language-server
astro-lspAstro@astrojs/language-server
deno-lspDenodeno lsp
biome-lspJS/TS (linter)biome
oxlint-lspJS/TS (linter)oxlint
eslint-lspJS/TS (linter)eslint
prisma-lspPrisma@prisma/language-server
graphql-lspGraphQLgraphql-language-service-cli
yaml-lspYAMLyaml-language-server
bash-lspBash/Shellbash-language-server
dockerfile-lspDockerfiledockerfile-language-server
php-lspPHPintelephense
jdtls-lspJavaEclipse JDTLS
clangd-lspC/C++clangd
csharp-lspC#OmniSharp
fsharp-lspF#fsautocomplete
swift-lspSwiftSourceKit-LSP
rubocop-lspRuby (linter)rubocop
elixir-lspElixirelixir-ls
lua-lspLualua-language-server
ocaml-lspOCamlocaml-lsp
terraform-lspTerraformterraform-ls
texlab-lspLaTeXTexLab
gleam-lspGleamgleam
zls-lspZigzls

CLI Usage

# Install globally
npm install -g @pleaseai/code
# Format a file
code format src/index.ts
# Get LSP diagnostics
code lsp src/index.ts
# Check and install tools
code setup

Configuration

Create .please/config.yml in your project root:

# Formatter settingsformatter:
biome:
command: [biome, format, --write, $FILE]extensions: [.ts, .tsx, .js, .jsx]prettier:
disabled: true # Disable a built-in formattercustom:
command: [my-formatter, $FILE]extensions: [.xyz]# LSP settingslsp:
typescript:
enabled: truepyright:
root: ./backend # Custom root pathvue:
enabled: false # Disable a specific server

Set formatter: false or lsp: false to globally disable either subsystem.

Built-in Formatters

biome, prettier, gofmt, mix (Elixir), zig fmt, clang-format, ktlint (Kotlin), ruff, air (R), uv format, rubocop, standardrb, htmlbeautifier, dart, ocamlformat, terraform, latexindent, gleam, prisma

Environment Variables

VariableDescriptionDefault
CODE_PROJECT_PATHProject directorycwd
CLAUDE_PROJECT_DIRUsed in hook mode-

Development

bun install # Install dependencies
bun run test# Run tests
bun run typecheck # Type check
bun run build # Build

License

MIT

About

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages