/langchain:init Initialize a new LangChain TypeScript project with optimal configuration for building AI agents. Context Detect the environment: node --version - Node.js version which bun - Check if Bun is available Parameters Parameter Description Default project-name Name of the project directory Required Execution 1. Create Project Directory mkdir -p $1 && cd $1 2. Initialize Package If Bun is available: bun init -y Otherwise: npm init -y 3. Install Dependencies Core packages:
Package manager: bun or npm
bun add langchain @langchain/core @langchain/langgraph bun add @langchain/openai
Default model provider
Dev dependencies
bun
add
-d
typescript @types/node tsx
4. Create TypeScript Config
Create
tsconfig.json
:
{
"compilerOptions"
:
{
"target"
:
"ES2022"
,
"module"
:
"NodeNext"
,
"moduleResolution"
:
"NodeNext"
,
"esModuleInterop"
:
true
,
"strict"
:
true
,
"skipLibCheck"
:
true
,
"outDir"
:
"dist"
,
"declaration"
:
true
}
,
"include"
:
[
"src/*/"
]
,
"exclude"
:
[
"node_modules"
,
"dist"
]
}
5. Create Project Structure
mkdir
-p
src
6. Create Example Agent
Create
src/agent.ts
:
import
{
ChatOpenAI
}
from
"@langchain/openai"
;
import
{
createReactAgent
}
from
"@langchain/langgraph/prebuilt"
;
import
{
tool
}
from
"@langchain/core/tools"
;
import
{
z
}
from
"zod"
;
// Example tool
const
greetTool
=
tool
(
async
(
{
name
}
)
=>
Hello,
${
name
}
!
,
{
name
:
"greet"
,
description
:
"Greet someone by name"
,
schema
:
z
.
object
(
{
name
:
z
.
string
(
)
.
describe
(
"The name to greet"
)
,
}
)
,
}
)
;
// Create the agent
const
model
=
new
ChatOpenAI
(
{
model
:
"gpt-4o"
,
temperature
:
0
,
}
)
;
export
const
agent
=
createReactAgent
(
{
llm
:
model
,
tools
:
[
greetTool
]
,
}
)
;
// Run if executed directly
if
(
import
.
meta
.
url
===
file://
${
process
.
argv
[
1
]
}
)
{
const
result
=
await
agent
.
invoke
(
{
messages
:
[
{
role
:
"user"
,
content
:
"Say hello to Claude"
}
]
,
}
)
;
console
.
log
(
result
.
messages
[
result
.
messages
.
length
-
1
]
.
content
)
;
}
7. Create Environment Template
Create
.env.example
:
OpenAI (default)
OPENAI_API_KEY
sk- .. .
Optional: Anthropic
ANTHROPIC_API_KEY=sk-ant-...
Optional: LangSmith tracing
LANGCHAIN_TRACING_V2=true
LANGCHAIN_API_KEY=ls__...
LANGCHAIN_PROJECT=my-project
- Update package.json Scripts Add to package.json : { "scripts" : { "dev" : "tsx watch src/agent.ts" , "start" : "tsx src/agent.ts" , "build" : "tsc" , "typecheck" : "tsc --noEmit" } }
- Create .gitignore node_modules/ dist/ .env *.log Post-Actions Display success message with next steps: Copy .env.example to .env and add API key Run bun dev or npm run dev to start Check LangChain docs for more examples Suggest installing additional model providers if needed: @langchain/anthropic for Claude @langchain/google-genai for Gemini