Infrastructure & Tools
The machinery around the code: files, packages, APIs, terminals, environments, credentials, extensions, and the protocols that let systems and agents actually do things.
53 terms
File
One saved unit of code, text, configuration, media, or data.
A file is a named collection of data stored by a computer. Its extension often indicates its format or intended use.
A TypeScript file named app.ts or a configuration file named package.json.
Folder, project
A file is not necessarily code. Images, logs, prompts, and settings are files too.
Folder / Directory
A container used to organize files and other folders.
A directory is part of the file system hierarchy and may contain files, subdirectories, or links.
A src folder containing application source files.
File, repository
Folder is the common visual term; directory is the more technical term. They usually mean the same thing.
Path
The address that tells the computer where a file or folder is located.
A path identifies a location in a file system and may be absolute from the system root or relative to the current location.
/projects/ember/src/index.ts
URL
A file path points to a local or mounted file-system location; a URL points to a network resource.
Project
The full body of work being built.
A software project may include source code, tests, assets, configuration, documentation, dependencies, and deployment setup.
The Ember project contains the application, tool schemas, tests, and documentation.
Repository, codebase, product
A project is the work as a whole. A repository is one place where that work may be stored and tracked.
Codebase
All the source code that belongs to a project.
A codebase is the complete body of implementation code for a system, often spread across many files, modules, packages, or repositories.
“Explore the codebase before changing the memory pipeline.”
Repository, project
A repository may contain documentation, assets, and configuration beyond the codebase itself.
Module
A focused unit of code that groups related behavior.
A module exposes selected functions, types, or values for use elsewhere while keeping internal details organized or hidden.
A module that handles memory search or authentication.
Package, library
A module may be a single file or a larger logical unit depending on the language and project.
Package
A bundled unit of reusable code that can be installed or shared.
A package typically includes code, metadata, version information, and dependency declarations.
Installing a package from npm.
Module, library
A package is a distribution unit. A library describes how the code is used.
Dependency
Outside code or a service that your project relies on.
Dependencies may be direct, transitive, runtime, development-only, internal, or external.
A project depending on a validation library.
Library, package
Dependencies include more than installed packages. A task or service can also depend on another system.
Package Manager
A tool that installs, updates, and tracks software packages.
A package manager resolves package versions, records dependencies, and may run project scripts.
npm, pnpm, yarn, or pip.
Package registry
The package manager is the tool. The registry is the service where packages are published and downloaded.
Manifest
A file describing a project, package, or application.
A manifest commonly declares metadata, scripts, dependencies, permissions, entry points, or build settings.
package.json in a JavaScript or TypeScript project.
Lockfile, configuration file
A manifest describes what the project requests or declares; it may not record the exact installed versions.
Lockfile
A file that records the exact package versions installed for a project.
A lockfile makes dependency installation more reproducible by pinning the resolved dependency tree.
package-lock.json, pnpm-lock.yaml, or yarn.lock.
Manifest
The manifest may allow version ranges; the lockfile records the exact resolved versions.
Library
Reusable code that your application calls to perform specific tasks.
A library provides functions, classes, types, or utilities without usually controlling the overall structure of the application.
A date library used to format timestamps.
Framework, package, SDK
A library and a package may overlap, but they describe different aspects: usage versus distribution.
Framework
A larger structure that shapes how an application is built.
A framework provides conventions, lifecycle, architecture, and integration points, and often calls your code at defined moments.
A web framework controlling routing, rendering, and application structure.
Library
A common shorthand is: you call a library; a framework calls your code.
SDK — Software Development Kit
A package of tools and code that helps developers build with a platform or service.
An SDK may include libraries, types, examples, documentation, authentication helpers, command-line tools, and testing utilities.
An image-generation SDK that wraps API calls into reusable functions.
API, library, CLI
An API is the interface. An SDK is a developer toolkit built around that interface.
API — Application Programming Interface
A defined way for one piece of software to communicate with another.
An API specifies available operations, accepted inputs, returned outputs, errors, authentication, and behavioral contracts.
An app sending a request to a model provider and receiving generated text.
SDK, endpoint, application
An API is not necessarily a website or user interface. It is an interface for software.
Endpoint
One specific operation or address exposed by an API.
An endpoint is the callable location and behavior associated with a particular API function.
POST /v1/messages
API
The API is the whole interface; an endpoint is one route or operation within it.
Request
Data sent to a service asking it to do something.
A request may include a method, address, headers, authentication, parameters, and a body or payload.
Sending a search query to an API.
Response
A request is not only the main data. Metadata and authentication may travel with it too.
Response
The data or result returned after a request.
A response may include a status code, headers, body, errors, metadata, and pagination information.
An API returning matching memory nodes.
Request
A response can represent success, failure, partial success, or an empty result.
Payload
The main data carried by a request, response, message, or event.
The payload is the meaningful content being transferred, separate from transport metadata such as routing or headers.
The JSON object sent to an Ember tool.
Schema, request body
Payload describes the data being carried. A schema describes the shape that data should follow.
HTTP Method
A verb that describes what kind of action an HTTP request is asking for.
Common methods include GET, POST, PUT, PATCH, and DELETE.
GET retrieves data; POST often creates or triggers an operation.
Endpoint
The method and endpoint work together. The same path may behave differently under different methods.
Status Code
A number indicating the outcome of an HTTP request.
HTTP status codes are grouped by class: 2xx success, 3xx redirection, 4xx client error, and 5xx server error.
200 means success, 404 means not found, and 500 means server error.
Application error code
A 200 response can still contain bad or incomplete application data. Transport success is not the same as business success.
Client
Software that requests data or services from another system.
A client initiates communication with a server or service and may be a browser, app, SDK, agent host, or command-line tool.
A web app calling an API.
User, server
Client can mean software, not only a paying human customer.
Server
Software or a machine that receives requests and provides services or data.
A server listens for incoming communication, runs logic, accesses resources, and returns results.
An API server handling search requests.
Backend, cloud
Server can describe a role, a running program, or a physical or virtual machine.
Local
Running or stored on your own device or immediate development environment.
Local resources are available without depending on a remote hosted system, though they may still use local networking or containers.
Running the app on your laptop.
Remote, production
Local does not always mean offline.
Remote
Running or stored somewhere other than your current device.
Remote systems may include cloud servers, shared repositories, hosted databases, or external APIs.
Pushing code to a remote Git repository.
Cloud
Remote means elsewhere. It does not necessarily mean a public cloud provider.
Environment
The context and configuration in which software runs.
An environment includes code, variables, dependencies, services, permissions, data, and infrastructure.
Development, staging, test, and production environments.
Runtime
Two environments can run the same code and still behave differently because their configuration or dependencies differ.
Runtime
The environment or phase where code is actually executing.
Runtime can refer to the execution engine, available libraries, operating context, and behavior while the program is running.
Node.js running compiled JavaScript.
Compile time, environment
A problem can pass typechecking and still fail at runtime.
Process
One running instance of a program.
A process has its own memory space, resources, state, and operating-system identity.
Starting a development server creates a running process.
Thread, service
The same program can have multiple processes running at once.
Terminal
A text-based window used to interact with a computer by typing commands.
A terminal application provides access to a shell, which interprets commands and starts programs.
Opening a terminal and running npm test.
Shell, command line, CLI
The terminal is the window or application; the shell is the program interpreting your commands.
Shell
The program that reads and executes commands typed in a terminal.
A shell provides command syntax, variables, scripting, process control, and access to operating-system tools.
Bash, Zsh, PowerShell, or fish.
Terminal, CLI
The terminal displays the session; the shell interprets what you type.
Command Line
The text-based interface where commands are entered.
The command line is the interaction style used through a shell rather than a graphical interface.
Typing git status and pressing Enter.
Terminal, CLI
The command line is the interface. A CLI is a specific program designed for that interface.
CLI — Command-Line Interface
A tool operated by typing commands.
A CLI exposes commands, arguments, flags, help text, and output through a shell.
The Git CLI or an application’s own deployment CLI.
Terminal, shell
The CLI is the tool. The terminal is where you run it.
Command
An instruction typed into a command-line interface.
A command usually invokes a program or subcommand and may include arguments and flags.
npm test
Script
A command can run a script, but the command itself is not necessarily the script.
Flag / Option
Extra command-line input that changes how a command behaves.
Flags are usually named switches such as --watch, --force, or -v and may be boolean or accept values.
npm test --watch
Argument
Arguments often provide the main values; flags modify behavior or configuration.
IDE — Integrated Development Environment
An application designed for writing, navigating, running, and debugging code.
An IDE combines editing, code intelligence, project navigation, debugging, terminals, version-control integration, and extensions.
Visual Studio Code, WebStorm, or IntelliJ IDEA.
Code editor
Some tools sit between editor and full IDE. The boundary is practical, not sacred.
Code Editor
Software used to write and edit code.
A code editor may provide syntax highlighting, autocomplete, extensions, and file navigation without the full integrated tooling of an IDE.
A lightweight editor used to modify TypeScript files.
IDE, text editor
Many modern editors can gain IDE-like features through plugins.
Plugin
An add-on that extends the capabilities of a host application.
A plugin runs within or alongside a host system and uses that host’s extension points.
An IDE plugin that adds code analysis.
Skill, library, MCP server
A plugin depends on a host application. It is not automatically a standalone service.
Skill
A packaged set of instructions or procedures that teaches an agent how to perform a task.
A skill may include prompts, examples, policies, tool-use guidance, templates, scripts, or reference files. The exact format depends on the platform.
A skill describing how to create and validate a PDF.
Plugin, tool, MCP server
Skill is not a universal standard term. Different platforms package and execute skills differently.
Tool
A capability that software or an agent can invoke to perform an action.
A tool has a defined interface, accepted inputs, behavior, permissions, and returned output.
A search tool, calendar tool, file-writing tool, or database query tool.
Skill, plugin, agent
A tool performs an operation. A skill teaches the agent how or when to use capabilities well.
Tool Schema
The formal description of how a tool must be called.
A tool schema defines field names, types, allowed values, required inputs, optional inputs, and sometimes validation rules.
A search tool requiring query: string and allowing limit?: number.
Payload, API documentation
The schema describes the contract; the payload is one actual call that follows it.
MCP — Model Context Protocol
A standard way for AI applications to connect to external tools and resources.
MCP defines how hosts, clients, and servers expose and consume tools, resources, prompts, and related context.
An AI coding host connecting to a project-search MCP server.
Plugin, API, skill
MCP is a protocol, not a single product or tool.
MCP Server
A service that exposes tools or resources through MCP.
An MCP server advertises capabilities and handles structured calls from compatible clients or hosts.
A server exposing project files, database queries, or custom internal tools.
MCP client, plugin
The server provides capabilities. It does not necessarily contain the AI model.
MCP Client
Software that connects to and uses an MCP server.
The client discovers capabilities, sends structured calls, and receives results through the MCP connection.
An AI desktop application connecting to an MCP server.
MCP server, host
The client consumes capabilities; the server exposes them.
Webhook
An automatic message sent to another system when an event happens.
A webhook is an event-driven HTTP callback from one service to a configured endpoint.
A payment provider notifying your app that a payment succeeded.
API request, polling
With a webhook, the source pushes the event. With polling, the receiver repeatedly checks.
Authentication — AuthN
Proving who you are.
Authentication verifies identity using passwords, tokens, keys, biometrics, sessions, or external identity providers.
Signing in with an email and password.
Authorization
Authentication answers “Who are you?” It does not decide everything you are allowed to do.
Authorization — AuthZ
Deciding what an authenticated identity is allowed to do.
Authorization evaluates permissions, roles, ownership, policies, or scopes after identity is established.
Allowing an admin to delete a user while denying a regular member.
Authentication
Authentication proves identity. Authorization grants or denies access.
Token
A value used to represent identity, access, state, or permission.
In infrastructure, tokens may authenticate requests, represent sessions, or grant scoped access. This is different from an LLM text token.
A bearer token sent in an API request.
API key, LLM token
The word token has multiple meanings. Context tells you whether it means text units or access credentials.
API Key
A secret value used to identify and authenticate access to an API.
An API key is issued by a service and included in requests so usage can be authorized, tracked, limited, or billed.
A provider key stored in an environment variable.
Token, password
API keys should not be committed into source code or exposed in client-side applications.
Secret
Sensitive information that must be protected.
Secrets include API keys, passwords, private keys, tokens, and connection credentials.
A database password stored in a secret manager.
Environment variable
An environment variable is a storage mechanism. Whether its value is secret depends on what it contains.
Environment Variable — Env Var
A named configuration value provided outside the source code.
Environment variables configure applications at runtime without hard-coding settings into the codebase.
API_BASE_URL or DATABASE_URL.
Secret, configuration file
Environment variables can hold secrets, but they can also hold ordinary configuration.
Rate Limit
A restriction on how many requests or actions are allowed within a period.
Rate limits protect services from overload, abuse, and uncontrolled cost.
100 requests per minute.
Quota
A rate limit controls speed. A quota usually controls total allowance over a larger period.
Pagination
Splitting a large result set into smaller pages.
Pagination lets clients retrieve manageable portions of data using page numbers, offsets, or cursors.
Returning the first 50 messages plus a token for the next page.
Streaming
Pagination divides a finite result set. Streaming delivers data progressively as it becomes available.
Cursor
A marker used to continue retrieving results from a specific point.
Cursor-based pagination uses an opaque or structured position token instead of a numeric page offset.
Passing next_cursor to fetch the next batch of records.
Offset
A cursor is usually not a row number. It represents a continuation position understood by the service.