Graphql Zeus
GraphQL client and GraphQL code generator with GraphQL autocomplete library generation ⚡⚡⚡ for browser,nodejs and react native ( apollo compatible )
Install / Use
npx skills add graphql-editor/graphql-zeusInstalls into whichever agent you are using.
README

Strongly Typed GraphQL from the team at GraphQL Editor
Install
$ npm i -g graphql-zeus
# OR
# yarn global add graphql-zeus
You can also install it locally to a project and then use it as an npm or yarn script command using npx or yarn directly like this:
$ npx zeus schema.graphql ./
# OR
# yarn zeus schema.graphql ./
TypeScript
Zeus is TypeScript native, you can refer to imported types directly from the generated output of the CLI
$ zeus schema.graphql ./
Generate
To generate clients simply run this command:
| For NodeJS | For React Native |
|-------------------------------------|----------------------------------|
| $ zeus schema.graphql ./ --node | $ zeus schema.graphql ./ |
How it works

GraphQL Zeus is the absolute best way to interact with your GraphQL endpoints in a type-safe way. Zeus uses your schema to generate Typescript types and strongly typed clients to unlock the power, efficiency, productivity and safety of Typescript on your GraphQL requests.
GraphQL Syntax ( not type-safe 😢 )
query ($id: String!) {
usersQuery {
admin {
sequenceById(_id: $id) {
_id
name
analytics {
sentMessages
sentInvitations
receivedReplies
acceptedInvitations
}
replies {
message
createdAt
_id
}
messages {
_id
content
renderedContent
sendAfterDays
}
tracks {
_id
createdAt
inviteSent
inviteAccepted
contact {
linkedInId
}
}
}
}
}
}
Zeus syntax ( type-safe 😋 )
{
usersQuery: {
admin: {
sequenceById: [
{ id: $("id", "String!") },
{
_id: true,
name: true,
analytics: { ...fields("SequenceAnalytics") },
replies: {
...fields("SequenceTrackReply"),
},
messages: {
...fields("Message"),
},
tracks: {
...fields("SequenceTrack"),
contact: {
linkedInId: true,
},
},
},
],
},
},
}
New! Composables
import {
Gql,
ComposableSelector,
} from './zeus/index.js';
const withComposable = <T extends ComposableSelector<'Card'>, Z extends T>(id: string, rest: Z | T) =>
Gql('query')({
cardById: [{ cardId: id }, rest],
});
const c1result = await withComposable('12', {
id: true,
});
const c2result = await withComposable('12', {
Defense: true,
Attack: true,
});
Both responses and inputs are safely typed
Features
⚡️ Validates queries and selectors ⚡️ Types mapped from your schema <br/> ⚡️ Fetch all primitive fields with one function <br/> ⚡️ Works with Apollo Client, React Query, Stucco Subscriptions (*more coming soon...)<br/> ⚡️ Works with Subscriptions <br/> ⚡️ Infer complex response types <br/> ⚡️ Create reusable selection sets (like fragments) for use across multiple queries <br/> ⚡️ Supports GraphQL Unions, Interfaces, Aliases and Variables<br/> ⚡️ Handles massive schemas <br/> ⚡️ Supports Browsers, Node.js and React Native in Javascript and Typescript <br/> ⚡️ Schema downloader <br/> ⚡️ JSON schema generation <br/>
Full documentation
Our full documentation has all the use cases of:
- scalars
- selectors
and much more...
Full documentation is available here
Join the Zeus Community and Spread the Word
⚡️ Join the Discussion forum on Dicord 📣
⚡️ Leave a GitHub star ⭐️ 👆
⚡️ Spread the word on your socials and with your networks! 🗣
Contribute
For a complete guide to contributing to GraphQL Zeus, see the Contribution Guide.
- Fork this repo
- Create your feature branch: git checkout -b feature-name
- Commit your changes: git commit -am 'Add some feature'
- Push to the branch: git push origin my-new-feature
- Submit a pull request
License
MIT 🕊
Related Skills
node-connect
385.5kDiagnose OpenClaw Android, iOS, or macOS node pairing, QR/setup code, route, auth, and connection failures.
blender-python-addon
40.5kBlender Python add-on rules for operators, panels, properties, registration, testing, and API-safe scripting
flutter-development-guidelines-cursorrules-prompt-file
40.5kCursor rules for Flutter development with MVVM architecture, Riverpod state management, Material widgets, and Dart style guidelines.
commit-push-pr
140.6kCommit, push, and open a PR
