Skip to content

Commit a4b8d01

Browse files
committed
chore: rebrand
1 parent 60c366b commit a4b8d01

45 files changed

Lines changed: 285 additions & 155 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/release.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ jobs:
6565
release-cli:
6666
needs: [release]
6767
if: needs.release.outputs.published == 'true' && contains(fromJSON(needs.release.outputs.publishedPackages).*.name, 'cli')
68-
name: Release Gram CLI
68+
name: Release Speakeasy CLI
6969
runs-on: ubuntu-latest
7070
permissions:
7171
contents: write

.goreleaser.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ brews:
5252
owner: speakeasy-api
5353
name: homebrew-tap
5454
homepage: https://app.getgram.ai
55-
description: The Gram CLI for interacting with the Gram Platform
55+
description: The Speakeasy CLI for interacting with the Speakeasy AI Control Plane
5656
license: Apache-2.0
5757
test: |
5858
system "#{bin}/gram --version"
@@ -62,7 +62,7 @@ brews:
6262
owner: speakeasy-api
6363
name: homebrew-tap
6464
homepage: https://app.getgram.ai
65-
description: The Gram CLI for interacting with the Gram Platform
65+
description: The Speakeasy CLI for interacting with the Speakeasy AI Control Plane
6666
license: Apache-2.0
6767
test: |
6868
system "#{bin}/gram --version"

.speakeasy/out.openapi.yaml

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
openapi: 3.0.3
22
info:
3-
title: Gram API Description
4-
description: Gram is the tools platform for AI agents
3+
title: Speakeasy API Description
4+
description: Speakeasy AI Control Plane is the tools platform for AI agents
55
version: 0.0.1
66
servers:
77
- url: https://app.getgram.ai
88
paths:
99
/rpc/assets.uploadFunctions:
1010
post:
11-
description: Upload functions to Gram.
11+
description: Upload functions to the Speakeasy AI Control Plane.
1212
operationId: uploadFunctions
1313
parameters:
1414
- allowEmptyValue: true
@@ -126,7 +126,7 @@ paths:
126126
format: binary
127127
/rpc/assets.uploadOpenAPIv3:
128128
post:
129-
description: Upload an OpenAPI v3 document to Gram.
129+
description: Upload an OpenAPI v3 document to the Speakeasy AI Control Plane.
130130
operationId: uploadOpenAPIv3Asset
131131
parameters:
132132
- allowEmptyValue: true
@@ -1355,7 +1355,7 @@ components:
13551355
github_repo:
13561356
type: string
13571357
description: The github repository in the form of "owner/repo".
1358-
example: speakeasyapi/gram
1358+
example: speakeasyapi/speakeasy
13591359
github_sha:
13601360
type: string
13611361
description: The commit hash that triggered the deployment.
@@ -1420,7 +1420,7 @@ components:
14201420
github_repo:
14211421
type: string
14221422
description: The github repository in the form of "owner/repo".
1423-
example: speakeasyapi/gram
1423+
example: speakeasyapi/speakeasy
14241424
github_sha:
14251425
type: string
14261426
description: The commit hash that triggered the deployment.
@@ -2022,7 +2022,7 @@ components:
20222022
github_repo:
20232023
type: string
20242024
description: The github repository in the form of "owner/repo".
2025-
example: speakeasyapi/gram
2025+
example: speakeasyapi/speakeasy
20262026
github_sha:
20272027
type: string
20282028
description: The commit hash that triggered the deployment.
@@ -3078,11 +3078,11 @@ components:
30783078
in: header
30793079
chat_sessions_token_header_Gram-Chat-Session:
30803080
type: http
3081-
description: Gram Chat Sessions token based auth.
3081+
description: Speakeasy Chat Sessions token based auth.
30823082
scheme: bearer
30833083
function_token_header_Authorization:
30843084
type: http
3085-
description: Gram Functions token based auth.
3085+
description: Speakeasy Functions token based auth.
30863086
scheme: bearer
30873087
project_slug_header_Gram-Project:
30883088
type: apiKey
@@ -3100,21 +3100,21 @@ tags:
31003100
- name: admin
31013101
description: Operational endpoints for administrative tasks.
31023102
- name: assets
3103-
description: Manages assets used by Gram projects.
3103+
description: Manages assets used by Speakeasy projects.
31043104
- name: assistants
31053105
description: Manage assistants and their runtime configuration.
31063106
- name: auditlogs
3107-
description: Manages audit logs in Gram.
3107+
description: Manages audit logs in Speakeasy.
31083108
- name: auth
3109-
description: Managed auth for gram producers and dashboard.
3109+
description: Managed auth for speakeasy producers and dashboard.
31103110
- name: chat
3111-
description: Managed chats for gram AI consumers.
3111+
description: Managed chats for speakeasy AI consumers.
31123112
- name: chatSessions
31133113
description: Manages chat session tokens for client-side authentication
31143114
- name: deployments
31153115
description: Manages deployments of tools from upstream sources.
31163116
- name: domains
3117-
description: Manage custom domains for gram.
3117+
description: Manage custom domains for speakeasy.
31183118
- name: environments
31193119
description: Managing toolset environments.
31203120
- name: mcpRegistries
@@ -3130,7 +3130,7 @@ tags:
31303130
- name: instances
31313131
description: Consumer APIs for interacting with all relevant data for an instance of a toolset and environment.
31323132
- name: integrations
3133-
description: Explore third-party tools in Gram.
3133+
description: Explore third-party tools in Speakeasy.
31343134
- name: keys
31353135
description: Managing system api keys.
31363136
- name: mcpEndpoints
@@ -3142,32 +3142,32 @@ tags:
31423142
- name: organizations
31433143
description: Organization membership, invitations, and directory.
31443144
- name: packages
3145-
description: Manages packages in Gram.
3145+
description: Manages packages in Speakeasy.
31463146
- name: plugins
31473147
description: Manage distributable plugin bundles of MCP servers and hooks.
31483148
- name: features
31493149
description: Manage product level feature controls.
31503150
- name: projects
3151-
description: Manages projects in Gram.
3151+
description: Manages projects in Speakeasy.
31523152
- name: remoteMcp
31533153
description: Managing remote MCP servers.
31543154
- name: resources
31553155
description: Dashboard API for interacting with resources.
31563156
- name: risk
31573157
description: Manage risk analysis policies and view scan results.
31583158
- name: slack
3159-
description: Auth and interactions for the Gram Slack App.
3159+
description: Auth and interactions for the Speakeasy Slack App.
31603160
- name: telemetry
3161-
description: Fetch telemetry data for tools in Gram.
3161+
description: Fetch telemetry data for tools in Speakeasy.
31623162
- name: templates
31633163
description: Manages re-usable prompt templates and higher-order tools for a project.
31643164
- name: tools
31653165
description: Dashboard API for interacting with tools.
31663166
- name: toolsets
3167-
description: Managed toolsets for gram AI consumers.
3167+
description: Managed toolsets for Speakeasy AI consumers.
31683168
- name: triggers
31693169
description: Manage project trigger instances and static trigger definitions.
31703170
- name: usage
3171-
description: Read usage for gram.
3171+
description: Read usage for speakeasy.
31723172
- name: variations
31733173
description: Manage variations of tools.

README.md

Lines changed: 135 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,140 @@
1-
# gf
1+
<a href="https://www.speakeasy.com/product/mcp-gateway" target="_blank">
2+
<picture>
3+
<source media="(prefers-color-scheme: light)" srcset="https://github.com/user-attachments/assets/1812f171-1650-4045-ac35-21bdd7b103a6">
4+
<source media="(prefers-color-scheme: dark)" srcset="https://github.com/user-attachments/assets/3f14e446-0dec-4b8a-b36e-fd92efc25751">
5+
<img src="https://github.com/user-attachments/assets/3f14e446-0dec-4b8a-b36e-fd92efc25751#gh-dark-mode-only" alt="Speakeasy AI Control Plane">
6+
</picture>
7+
</a>
28

3-
Public Gram function tooling.
9+
<h3 align="center">Speakeasy AI Control Plane</h3>
10+
<p align="center">
11+
<br />
12+
<a href="https://www.speakeasy.com/product/mcp-gateway"><strong>Learn more »</strong></a>
13+
<br />
14+
<br />
15+
<a href="https://speakeasy.com/"><img alt="Built by Speakeasy" src="https://www.speakeasy.com/assets/badges/built-by-speakeasy.svg" />
16+
<br />
17+
</a>
18+
<a href="#speakeasy-functions"><strong>Speakeasy Functions</strong></a> ·
19+
<a href="#cli"><strong>CLI</strong></a> ·
20+
<a href="#support"><strong>Support</strong></a> ·
21+
<a href="#contributing"><strong>Contributing</strong></a>
22+
</p>
23+
24+
<hr />
25+
26+
# Speakeasy CLI
27+
28+
Public function tooling for the Speakeasy AI Control Plane.
29+
30+
This repository contains the TypeScript framework for authoring hosted MCP
31+
tools, the scaffolding package for new function projects, and the Go CLI used
32+
to authenticate, stage, push, and inspect deployments.
433

534
## Layout
635

7-
- `go/cli`: Go CLI entrypoint. This will depend on the generated Go SDK in `go/sdk`, not on Gram server packages.
8-
- `go/sdk`: Placeholder for the OAS-generated Go SDK.
9-
- `ts/functions`: TypeScript functions framework package. Generated TypeScript client code for framework API calls can live under this package when needed.
36+
- `go/cli`: Go CLI entrypoint. This depends on the generated Go SDK in `go/sdk`, not on server packages.
37+
- `go/sdk`: Generated Go SDK for the Speakeasy Control Plane API.
38+
- `ts/create-function`: Project scaffolding for new function projects.
39+
- `ts/functions`: TypeScript functions framework package.
40+
41+
## Speakeasy Functions
42+
43+
Create agentic tools from simple TypeScript code using Speakeasy Functions, the
44+
functions framework for the Speakeasy AI Control Plane. Functions can be deployed
45+
to hosted MCP servers or run locally during development.
46+
47+
The fastest way to get started is with the Speakeasy function scaffolder,
48+
which creates a complete TypeScript project with a working function.
49+
50+
```bash
51+
# Scaffold a new function project and follow the prompts
52+
npm create @gram-ai/function@latest
53+
54+
# Move into your newly created function directory
55+
cd my_function
56+
57+
# Build and deploy
58+
npm run build
59+
npm run push
60+
```
61+
62+
A default function is created for you.
63+
64+
```typescript
65+
import { Gram } from "@gram-ai/functions";
66+
import * as z from "zod/mini";
67+
68+
const functions = new Gram().tool({
69+
name: "add",
70+
description: "Add two numbers together",
71+
inputSchema: { a: z.number(), b: z.number() },
72+
async execute(ctx, input) {
73+
return ctx.json({ sum: input.a + input.b });
74+
},
75+
});
76+
77+
export default functions;
78+
```
79+
80+
The generated project also includes a local MCP server entrypoint so you can
81+
test tools with MCP Inspector using `pnpm run dev`.
82+
83+
Common function use cases include:
84+
85+
- Powering in-application chat by exposing context from internal APIs or third-party APIs through tools.
86+
- Adding data and actions to AI workflows in platforms such as Zapier and n8n.
87+
- Creating higher-order tools that compose lower-level API calls.
88+
- Managing and securing MCP servers for an organization through a unified control plane.
89+
90+
See the [TypeScript functions README](./ts/functions/README.md) for framework
91+
details.
92+
93+
## CLI
94+
95+
The Speakeasy CLI provides scripted access to the Speakeasy AI Control
96+
Plane. Use it to authenticate, stage function artifacts, push deployments, and
97+
check deployment status.
98+
99+
Install the CLI on macOS or Linux:
100+
101+
```bash
102+
curl -fsSL https://raw.githubusercontent.com/speakeasy-api/gf/main/install-cli.sh | bash
103+
```
104+
105+
Install the CLI on Windows:
106+
107+
```powershell
108+
iwr -useb https://raw.githubusercontent.com/speakeasy-api/gf/main/install-cli.ps1 | iex
109+
```
110+
111+
Authenticate before pushing deployments:
112+
113+
```bash
114+
gram auth
115+
```
116+
117+
Stage and push a function artifact:
118+
119+
```bash
120+
gram stage function --slug my-function --location ./dist/function.zip
121+
gram push
122+
```
123+
124+
See the [CLI README](./go/cli/README.md) for local development and testing.
125+
126+
## Support
127+
128+
- Slack: [Join our Slack](https://join.slack.com/t/speakeasy-dev/shared_invite/zt-3hudfoj4y-9EPqMmHIFhNiTtannqiV3Q) for support and discussions.
129+
- In-app: When using the Speakeasy application, you can engage with the core maintainers of the product.
130+
- GitHub: Contribute or report issues [on this repository](https://github.com/speakeasy-api/gf/issues/new).
131+
- Documentation: View the [Speakeasy docs](https://www.speakeasy.com/docs) for function framework guidance.
132+
133+
## Contributing
134+
135+
Contributions are welcome. Please open an issue or discussion for questions or
136+
suggestions before starting significant work.
10137

138+
For package-specific development notes, see the README files in
139+
[`ts/functions`](./ts/functions/README.md), [`go/cli`](./go/cli/README.md), and
140+
[`go/sdk`](./go/sdk/README.md).

go/cli/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Gram CLI
1+
# Speakeasy CLI
22

33
## Local Development
44

@@ -13,7 +13,7 @@
1313
- `cd go/cli`
1414
- `go run main.go status`
1515

16-
### Testing Gram Functions
16+
### Testing Speakeasy Functions
1717

1818
1. Stage zip
1919
- `go run main.go stage function --slug test-fn --location fixtures/example.zip`

go/cli/internal/app/app.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ func newApp() *cli.App {
2424

2525
return &cli.App{
2626
Name: "gram",
27-
Usage: "A command line interface for the Gram platform. Get started at https://docs.getgram.ai/",
27+
Usage: "A command line interface for the Speakeasy AI Control Plane. Get started at https://www.speakeasy.com/docs",
2828
Version: fmt.Sprintf("%s (%s)", Version, shortSha),
2929
Commands: []*cli.Command{
3030
newAuthCommand(),

go/cli/internal/app/auth.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -112,16 +112,16 @@ func DoAuth(ctx context.Context, opts AuthOptions) (*AuthResult, error) {
112112
func newAuthCommand() *cli.Command {
113113
return &cli.Command{
114114
Name: "auth",
115-
Usage: "Authenticate with Gram",
115+
Usage: "Authenticate with Speakeasy",
116116
Flags: []cli.Flag{
117117
&cli.StringFlag{
118118
Name: "api-url",
119-
Usage: "URL of the Gram API server",
119+
Usage: "URL of the Speakeasy API server",
120120
EnvVars: []string{"GRAM_API_URL"},
121121
},
122122
&cli.StringFlag{
123123
Name: "dashboard-url",
124-
Usage: "URL of the Gram dashboard for authentication",
124+
Usage: "URL of the Speakeasy dashboard for authentication",
125125
EnvVars: []string{"GRAM_SITE_URL"},
126126
},
127127
},

go/cli/internal/app/install.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ var baseInstallFlags = []cli.Flag{
1818
flags.Project(),
1919
&cli.StringFlag{
2020
Name: "toolset",
21-
Usage: "The slug of the Gram toolset to install (e.g., speakeasy-admin). Will automatically look up MCP configuration.",
21+
Usage: "The slug of the Speakeasy toolset to install (e.g., speakeasy-admin). Will automatically look up MCP configuration.",
2222
},
2323
&cli.StringFlag{
2424
Name: "mcp-url",
@@ -49,7 +49,7 @@ var installFlags = append(baseInstallFlags, &cli.StringFlag{
4949
func newInstallCommand() *cli.Command {
5050
return &cli.Command{
5151
Name: "install",
52-
Usage: "Install Gram toolsets as MCP servers in various clients",
52+
Usage: "Install Speakeasy toolsets as MCP servers in various clients",
5353
Subcommands: []*cli.Command{
5454
newInstallClaudeCodeCommand(),
5555
newInstallClaudeDesktopCommand(),

go/cli/internal/app/install_claude_code.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import (
1313
func newInstallClaudeCodeCommand() *cli.Command {
1414
return &cli.Command{
1515
Name: "claude-code",
16-
Usage: "Install a Gram toolset as an MCP server in Claude Code (CLI editor with native HTTP support)",
16+
Usage: "Install a Speakeasy toolset as an MCP server in Claude Code (CLI editor with native HTTP support)",
1717
Flags: installFlags,
1818
Action: doInstallClaudeCode,
1919
}

go/cli/internal/app/install_claude_desktop.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import (
1717
func newInstallClaudeDesktopCommand() *cli.Command {
1818
return &cli.Command{
1919
Name: "claude-desktop",
20-
Usage: "Generate a .mcpb file for installing a Gram toolset in Claude Desktop (standalone desktop app)",
20+
Usage: "Generate a .mcpb file for installing a Speakeasy toolset in Claude Desktop (standalone desktop app)",
2121
Flags: append(baseInstallFlags, &cli.StringFlag{
2222
Name: "output-dir",
2323
Usage: "Directory to save the .mcpb file (defaults to Downloads folder)",

0 commit comments

Comments
 (0)