---
title: 환경 설정
description: 모든 firma 설정은 로컬의 ~/.firma/config.json에 저장됩니다. `firma config set`과 `firma config get`으로 바로 읽고 쓸 수 있고, 재시작도 필요 없습니다.
---

export const setRows = [
  { cmd: <code>firma config set finnhub-key &lt;key&gt;</code>, desc: 'Finnhub API 키 설정' },
  { cmd: <code>firma config set fred-key &lt;key&gt;</code>,    desc: 'FRED API 키 설정' },
  { cmd: <code>firma config set currency KRW</code>,             desc: '기본 표시 통화 설정 (USD, KRW, JPY, EUR, GBP, CNY, HKD, INR, TWD)' },
  { cmd: <code>firma config set db-path ~/path/to/firma.db</code>, desc: '데이터베이스 위치 변경. iCloud나 Dropbox 동기화에 유용' },
];

export const keys = [
  {
    icon: 'F-KEY',
    title: 'finnhub-key',
    desc: <>Finnhub API 키. <code>firma sync</code>, <code>firma show portfolio</code>, <code>firma show news</code>, <code>firma show insider</code>, <code>firma show financials</code>, <code>firma show earnings</code>에 필요합니다. <a href="https://finnhub.io" target="_blank" rel="noopener noreferrer">finnhub.io</a>의 무료 플랜으로 firma의 모든 기능을 사용할 수 있습니다.</>,
  },
  {
    icon: 'FRED',
    title: 'fred-key',
    desc: <>FRED API 키. <code>firma show macro</code>, <code>firma sync fx</code>에 필요합니다. <a href="https://fred.stlouisfed.org/docs/api/api_key.html" target="_blank" rel="noopener noreferrer">fred.stlouisfed.org</a>에서 무료로 등록합니다.</>,
  },
  {
    icon: 'FX',
    title: 'currency',
    desc: <>기본 표시 통화. 기본값은 <code>USD</code>. 지원 통화: <code>USD</code>, <code>KRW</code>, <code>JPY</code>, <code>EUR</code>, <code>GBP</code>, <code>CNY</code>, <code>HKD</code>, <code>INR</code>, <code>TWD</code>. <code>-c/--currency</code>를 받는 모든 명령(<code>show portfolio</code>, <code>txns</code>, <code>balance</code>, <code>flow</code>, <code>dividend</code>, <code>snapshot</code>, <code>report</code>, <code>brief</code>)의 기본값입니다. 값은 USD로 저장되며 표시 통화는 보여주는 방식만 바꿉니다.</>,
  },
  {
    icon: 'DB',
    title: 'db-path',
    desc: <>SQLite 데이터베이스의 절대 경로입니다. 기본값은 <code>~/.firma/firma.db</code>입니다. iCloud Drive나 Dropbox 위치를 지정하면 여러 컴퓨터에서 같은 데이터를 열 수 있습니다. 다만 동시에 여러 컴퓨터에서 쓰면 안 됩니다.</>,
  },
];

export const relatedRows = [
  { cmd: <code>firma doctor</code>,      desc: '모든 키 설정 여부와 데이터 존재 여부 검사' },
  { cmd: <code>firma sync fx</code>,     desc: 'FRED 키 설정 후 환율 캐시 채우기' },
  { cmd: <code>firma mcp install</code>, desc: 'firma를 Claude Desktop의 MCP 서버로 등록' },
];

<Section label="firma config get">
모든 설정값을 표시합니다. 키 이름을 인자로 전달하면 해당 값만 조회합니다.

  <Terminal command="firma config get" />

  <Terminal command="firma config get currency" />
</Section>

<Section label="firma config set <key> <value>">
  <CommandTable rows={setRows} />
</Section>

<Section label="키 설명">
  <FeatureList items={keys} />
</Section>

<Section label="관련 명령">
  <CommandTable rows={relatedRows} />

  <Note>
    설정은 <code>~/.firma/config.json</code>에 plain JSON으로 저장됩니다.
    macOS에서는 현재 사용자 계정만 읽을 수 있습니다.
  </Note>
</Section>
