Skip to content

Repository files navigation

eGovConstant

Build Version Downloads

7,200 entries of the Korean government naming standard, inside your IDE. Search in Korean, insert a standard identifier. No setup required.

행정표준용어 7,200건을 IDE 안에서. 한글로 검색하고 표준 변수명을 그대로 삽입하세요. 별도 설정이 필요하지 않습니다.


What it does

  • Code completion. Start naming a variable, field, parameter or column and standard names appear in the completion popup, with the matching Korean term and the domain's data type alongside.
  • Search tool window. Type a Korean term, an English abbreviation, or just the leading consonants (ㅅㅇㅈ finds 사용자). Copy or insert any of the four spellings.
  • Four spellings, always. camelCase, PascalCase, snake_case, CONSTANT_CASE — each copyable and insertable on its own.
  • Rename to a standard name. Alt+Enter on an existing name runs a real rename refactoring, so every usage is updated.
  • Compliance inspection. Finds names that spell a standard word out — userName where the standard says userNm — and offers the rename. Off by default.
  • Your own dictionary. Import entries as JSON, pasted or from a file. They merge with the bundled data, or replace it entirely.
  • Works beyond Java. Java, Kotlin, SQL, JavaScript and TypeScript. Installs into IntelliJ IDEA, WebStorm, DataGrip, PyCharm and the rest.
  • Usable by AI agents. A read-only lookup endpoint and an MCP server let a coding agent consult the standard instead of inventing identifiers.

주요 기능

  • 코드 자동 완성. 변수·필드·파라미터·컬럼 이름을 입력하기 시작하면 표준 변수명이 추천 목록에 나타납니다. 대응하는 한글 용어와 도메인의 데이터 타입을 함께 보여줍니다.
  • 검색 도구 창. 한글 용어, 영문 약어, 또는 초성만으로 검색합니다 (ㅅㅇㅈ → 사용자). 4종 표기 중 원하는 것을 복사하거나 삽입할 수 있습니다.
  • 4종 표기 상시 제공. camelCase, PascalCase, snake_case, CONSTANT_CASE 를 각각 복사·삽입.
  • 표준 변수명으로 변경. 기존 이름 위에서 Alt+Enter. 실제 이름 변경 리팩터링이므로 사용처까지 함께 수정됩니다.
  • 표준 표기 검사. 영문약어 대신 영문명을 그대로 쓴 이름(userNameuserNm)을 찾아 변경을 제안합니다. 기본값은 꺼짐입니다.
  • 사용자 사전. JSON 을 붙여넣거나 파일에서 항목을 가져올 수 있습니다. 기본 사전과 병합하거나, 가져온 항목만 쓸 수도 있습니다.
  • Java 외 언어 지원. Java, Kotlin, SQL, JavaScript, TypeScript. IntelliJ IDEA, WebStorm, DataGrip, PyCharm 등에 설치됩니다.
  • AI 에이전트 연동. 읽기 전용 조회 엔드포인트와 MCP 서버를 제공하므로, 에이전트가 변수명을 지어내지 않고 표준 사전을 참조할 수 있습니다.

The bundled dataset / 기본 제공 데이터

Count Contains
Terms (용어) 5,395 Full standard terms with abbreviation, domain and storage format
Words (단어) 1,699 Single vocabulary words with English name
Domains (도메인) 106 Data-type domains with type, length and unit

English and Korean UI, following the IDE's language setting. IDE 언어 설정에 따라 영어와 한국어를 모두 지원합니다.


Installation / 설치

From the IDE Settings/PreferencesPluginsMarketplace → search for "eGovConstant" → Install

From JetBrains Marketplace plugins.jetbrains.com/plugin/29497-egovconstant

Manually Download the latest release, then Settings/PreferencesPlugins⚙️Install plugin from disk...

Usage / 사용 방법

Completion / 자동 완성

Declare a variable and type at least one character. Standard names appear in the completion popup. Typing a capital mid-name searches the part after it, so userAccountN finds entries for the trailing N.

변수를 선언하고 한 글자 이상 입력하면 추천 목록에 표준 변수명이 나타납니다. 이름 중간에 대문자를 입력하면 그 뒤부터 검색하므로, userAccountN 은 마지막 N 에 해당하는 항목을 찾습니다.

By default these appear below the IDE's own suggestions, so variables already in scope stay on top. Change it in settings if you prefer otherwise.

기본적으로 IDE 자체 추천보다 아래에 표시되므로 이미 선언된 변수가 위에 남습니다. 설정에서 바꿀 수 있습니다.

Search / 검색

Open the eGovConstant tool window. The Dictionary tab searches the whole dictionary; select a result to see its description, synonyms, domain, and all four spellings with copy and insert buttons.

eGovConstant 도구 창을 엽니다. 사전 탭에서 검색하고, 결과를 선택하면 설명·동의어·도메인과 함께 4종 표기가 복사·삽입 버튼과 함께 표시됩니다.

Search accepts:

Input Example
Korean term 사용자아이디
English abbreviation USER_ID, usernm
Abbreviation suffix nm, ymd, cd
Initial consonants ㅅㅇㅈ
Abbreviation initials uscUSER_SE_CD
A near miss user_nn still finds USER_NM

Rename / 이름 변경

Place the caret on a declared name and press Alt+EnterRename to a standard name.

선언된 이름 위에 커서를 두고 Alt+Enter표준 변수명으로 변경.

Compliance inspection / 표준 표기 검사

The standard names a concept with each word's abbreviation — 명 is NM, 코드 is CD — so userName is the right concept spelled the way the standard says not to. The inspection Name spelled out instead of using the standard abbreviation finds those and offers a rename to userNm.

It is off by default: the standard was written for database columns, and applied to ordinary application code it would want to rename userService to userSrvc. Turn it on in SettingsEditorInspectionseGovConstant, ideally scoped to the packages holding your DTOs, VOs and entities, or to SQL files.

표준용어는 표준단어의 영문약어를 조합해 만듭니다(명 → NM, 코드 → CD). 따라서 userName 은 개념은 맞지만 표기가 틀린 이름이며, 영문약어 대신 영문명을 그대로 쓴 이름 검사가 이를 찾아 userNm 으로 변경해 줍니다. 기본값은 꺼짐이며, SettingsEditorInspections 에서 켤 수 있습니다. DTO·VO·엔티티 패키지나 SQL 파일로 범위를 좁혀 쓰는 것을 권장합니다.

It only reports when every part of the name resolves, skips a variable named after its own type (UserService userService), and skips single-word names.

이름의 모든 구성 요소가 표준 사전에서 해석될 때만 보고하며, 타입 이름을 그대로 쓴 변수 (UserService userService)와 단어 하나짜리 이름은 건너뜁니다.

Importing your own dictionary / 사전 가져오기

Use the Import tab in the tool window, or SettingsToolseGovConstantImport....

Paste a JSON array, or click Import a file... and pick one — the counterpart to Export..., which is how a colleague's shared dictionary arrives.

JSON 배열을 붙여넣거나, 파일에서 가져오기... 로 파일을 선택하세요. 내보내기... 로 만든 파일을 그대로 가져올 수 있습니다.

koName is the only required field:

[
  {
    "type": "TERM",
    "koName": "사용자아이디",
    "enAbbr": "USER_ID",
    "description": "사용자를 유일하게 식별하는 값",
    "descriptionEn": "Value that uniquely identifies a user",
    "synonyms": ["계정아이디"]
  },
  {
    "type": "WORD",
    "koName": "사용자",
    "enAbbr": "USER",
    "enName": "User"
  }
]

type is TERM, WORD or DOMAIN (default TERM). Imported entries merge field by field with anything already present, and never overwrite a value that is already filled in. A malformed record is skipped on its own, and the result reports how many were added, merged and skipped.

typeTERM, WORD, DOMAIN 중 하나입니다(기본값 TERM). 가져온 항목은 기존 항목과 필드 단위로 병합되며 이미 채워진 값을 덮어쓰지 않습니다. 잘못된 항목은 해당 항목만 건너뛰고, 추가·병합·건너뜀 건수를 알려줍니다.

Imported dictionaries are stored per IDE, not per project, so importing once is enough. 가져온 사전은 프로젝트가 아니라 IDE 단위로 저장되므로 한 번만 가져오면 됩니다.

Settings / 설정

SettingsToolseGovConstant

Setting Description
Use imported entries only Ignore the bundled dictionary
Suggest standard names while declaring a variable Turn code completion on or off
Suggestions shown 5, 10, 20 or 40
Default spelling Which of the four spellings insert actions use
Ranking Whether suggestions sort above the IDE's own

Use from an AI agent (MCP) / AI 에이전트에서 사용

Ask an AI agent to name a Korean domain concept and it will invent an identifier. The plugin ships an MCP server so the agent can consult the same standard dictionary the IDE uses instead.

AI 에이전트에게 변수명을 맡기면 표준 사전을 무시하고 식별자를 지어냅니다. 플러그인이 사용하는 것과 동일한 사전을 에이전트가 직접 조회할 수 있도록 MCP 서버를 함께 제공합니다.

How it works / 동작 방식

agent ──stdio JSON-RPC──▶ tools/mcp/egovconstant-mcp.mjs ──HTTP──▶ running IDE ──▶ plugin's index

The server is a thin proxy, not a second implementation — ranking, Hangul initial-consonant search and any dictionary you imported all stay in the plugin, so an agent sees exactly what the tool window shows. The IDE must be running.

랭킹·초성 검색·가져온 사전이 모두 플러그인 쪽에 있으므로 재구현이 아닌 프록시입니다. 따라서 도구 창과 동일한 결과를 보며, 직접 추가한 항목도 조회됩니다. 대신 IDE가 실행 중이어야 합니다.

Setup / 설정

Requires Node.js 18+. This repository's .mcp.json already registers it; for another project:

Node.js 18 이상이 필요합니다. 이 저장소에는 .mcp.json 으로 이미 등록돼 있고, 다른 프로젝트에서는:

{
  "mcpServers": {
    "egovconstant": {
      "command": "node",
      "args": ["/absolute/path/to/tools/mcp/egovconstant-mcp.mjs"],
      "env": { "EGOVCONSTANT_PORT": "63342" }
    }
  }
}

The IDE's built-in server defaults to port 63342; check SettingsAdvanced SettingsBuilt-in server if a second IDE took the next one.

IDE 내장 서버 기본 포트는 63342 입니다. IDE를 여러 개 띄웠다면 설정에서 실제 포트를 확인하세요.

Tools / 제공 도구

Tool Purpose
egov_search Korean term, English abbreviation, or initial consonants → official abbreviation + all four spellings
egov_convert A known abbreviation → all four spellings
egov_status Entry count, for checking the connection
egov_search { "query": "사용자아이디" }
→ { "enAbbr": "USER_ID", "camel": "userId", "pascal": "UserId",
    "snake": "user_id", "constant": "USER_ID", "domain": "아이디", ... }

Without MCP / MCP 없이 쓰기

The endpoints are plain read-only HTTP, so scripts, code generators and CI checks can call them directly:

엔드포인트는 읽기 전용 HTTP 이므로 스크립트·코드 생성기·CI 에서 바로 호출할 수 있습니다:

curl 'http://127.0.0.1:63342/api/egovconstant/search?q=사용자&type=TERM&limit=5'
curl 'http://127.0.0.1:63342/api/egovconstant/convert?abbr=USER_ID_YN'
curl 'http://127.0.0.1:63342/api/egovconstant/status'

Requests without an Origin header are served directly; browser requests go through the platform's usual confirmation. Nothing here can modify the dictionary or touch your project.

Origin 헤더가 없는 요청은 바로 처리하고, 브라우저 요청은 플랫폼 확인 절차를 따릅니다. 이 경로로는 사전을 수정하거나 프로젝트를 건드릴 수 없습니다.

Full details and troubleshooting: tools/mcp/README.md.

Releases / 릴리스

Version numbers, the changelog and GitHub releases are produced automatically from the commits on main:

  • [major] or BREAKING CHANGE in a commit message → major bump
  • [minor] or feat: → minor bump
  • anything else → patch bump
  • [skip release] → no release for that change

main 의 커밋으로부터 버전·CHANGELOG·릴리스가 자동 생성됩니다. 커밋 메시지에 [major] / BREAKING CHANGE 는 major, [minor] / feat: 는 minor, 그 외에는 patch 로 올라가며, [skip release] 를 넣으면 릴리스를 건너뜁니다.


Built on the IntelliJ Platform Plugin Template.

About

정부 표준·공공 데이터 기반 변수명 검색/추천

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages