Skip to main content
Generated projects use fentaris.json at the project root. The CLI uses this file to discover the project, run scripts, validate local state, and build runtime metadata. When an app starts without explicit port or path options, @fentaris/core also searches upward from the current working directory and uses the nearest project config defaults. SDK-only projects do not need fentaris.json for local secrets commands. When fentaris secrets cannot find a project config file, it can discover the nearest package.json that depends on @fentaris/core and use optional package.json metadata for the secrets entrypoint and local runtime directory.

Quick Start

{
  "name": "my-proxy",
  "packageManager": "pnpm",
  "entrypoint": "src/index.ts",
  "port": 4000,
  "path": "/mcp",
  "authDir": ".fentaris"
}

Fields

name

Project name used in generated metadata and CLI output.
"name": "my-proxy"

packageManager

Package manager used for generated scripts. During fentaris init, the selected binary is also used for dependency installation unless --skip-install is passed.
"packageManager": "pnpm"
Allowed values:
  • pnpm
  • npm
  • bun

entrypoint

Runtime entrypoint copied into build metadata.
"entrypoint": "src/index.ts"
The file must exist for project health checks to pass.

port

Local port printed by fentaris dev, used by runtime checks, and used by app.start() when the app does not pass an explicit port.
"port": 4000

path

MCP endpoint path served by the generated proxy. app.start() uses this path when the app does not pass an explicit path.
"path": "/mcp"
The default local endpoint is http://localhost:4000/mcp.

authDir

Directory for local encrypted credentials and CLI auth state.
"authDir": ".fentaris"
Generated projects include .gitignore entries for .fentaris/ because it contains local credentials and build output. The committed .fentaris/secrets.manifest.json schema is not ignored.

secrets

Optional secrets provider settings. Generated projects default to the local encrypted store.
"secrets": {
  "provider": "local"
}

fentaris

Optional Fentaris Cloud project metadata for forward-compatible cloud sync. Cloud sync is not available yet; keep using the local encrypted store.
"fentaris": {
  "projectId": "proj_123",
  "environment": "production"
}

SDK-Only Secrets Metadata

SDK-only projects can configure fentaris secrets without creating fentaris.json:
{
  "dependencies": {
    "@fentaris/core": "^2.0.0"
  },
  "fentaris": {
    "entrypoint": "src/server.ts",
    "authDir": ".fentaris"
  }
}
Supported fields:
  • entrypoint - TypeScript file scanned by fentaris secrets manifest.
  • authDir - local runtime directory for secrets.manifest.json and credentials.enc.json.
  • port, host, and path - optional defaults used by the synthetic secrets project model.
If entrypoint is omitted, fentaris secrets manifest checks src/index.ts, src/main.ts, and index.ts. Pass --entrypoint <path> when the file uses another name.

Legacy Filename

The CLI can still discover fentaris.config.json, but generated projects use fentaris.json.
mv fentaris.config.json fentaris.json