Skip to main content

Quickstart guide

This guide will walk you through your first ScryCLI session, from launching the CLI to executing AI-powered file operations.

Launch ScryCLI

Open your terminal and run:
scrycli
If this is your first time, you’ll see the authentication and model selection prompts. If you’ve already set up ScryCLI, you’ll see the main interface:


/home/your-username/your-project
> Ask anything about your codebase...

Model: qwen/qwen3-next-80b-a3b-instruct:free
The current working directory is displayed above the input prompt. ScryCLI will perform file operations relative to this directory.

Your first command

Let’s create a simple HTML file using natural language. Type the following and press Enter:
Create a simple HTML landing page with a hero section
You’ll see a loading indicator while the AI processes your request:
⠋ Thinking…

Understanding the response

ScryCLI’s AI engine converts your natural language command into structured JSON instructions:
{
  "action": "create_file",
  "file": "public/index.html",
  "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n  <meta charset=\"UTF-8\">\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n  <title>Landing Page</title>\n  <style>\n    body { margin: 0; font-family: Arial, sans-serif; }\n    .hero { height: 100vh; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; }\n    .hero h1 { font-size: 3rem; }\n  </style>\n</head>\n<body>\n  <div class=\"hero\">\n    <h1>Welcome to Our Product</h1>\n  </div>\n</body>\n</html>"
}
The response appears in a green bordered box:
┌───────────────────────────────────────────┐
│ {                                         │
│   "action": "create_file",                 │
│   "file": "public/index.html",             │
│   "content": "<!DOCTYPE html>..."          │
│ }                                         │
└───────────────────────────────────────────┘
ScryCLI automatically executes the instruction and creates the file at public/index.html.
The AI engine is powered by the system prompt at src/model/systemPrompt.ts which instructs it to return only valid JSON with specific action types.

Supported actions

ScryCLI’s AI can perform several types of file operations:

Create a file

Create a React component for a user profile card
Response:
{
  "action": "create_file",
  "file": "src/components/UserCard.jsx",
  "content": "import React from 'react';\n\nconst UserCard = ({ name, email }) => {\n  return (\n    <div className=\"user-card\">\n      <h3>{name}</h3>\n      <p>{email}</p>\n    </div>\n  );\n};\n\nexport default UserCard;"
}

Read a file

Read the package.json file
Response:
{
  "action": "read_file",
  "file": "package.json"
}

Write/modify a file

Update App.jsx to include error boundary
Response:
{
  "action": "write_file",
  "file": "src/App.jsx",
  "content": "import React from 'react';\nimport ErrorBoundary from './ErrorBoundary';\n\nfunction App() {\n  return (\n    <ErrorBoundary>\n      <div className=\"App\">\n        {/* Your app content */}\n      </div>\n    </ErrorBoundary>\n  );\n}\n\nexport default App;"
}
The AI may respond with update_file in the action field (as mentioned in the system prompt), but ScryCLI processes it the same as write_file - it overwrites the entire file content.

Delete a file

Delete the old config.js file
Response:
{
  "action": "delete_file",
  "file": "config.js"
}
File deletion is permanent. Make sure you have backups or version control in place before deleting files.

Using built-in commands

ScryCLI includes several slash commands for configuration and utilities. All commands start with /.

View available commands

Type /help to see all available commands:
/help
Output:
┌──────────────────────────────────────────┐
│ /help     - Show help                    │
│ /path     - change directory             │
│ /model    - Select a model               │
│ /apikey   - Set API key                  │
│ /logout   - Logout                       │
│ /Report   - Report a bug                 │
│ /exit     - Exit                         │
└──────────────────────────────────────────┘

Press [Esc] to go back

Change AI model

To switch to a different AI model:
/model
This will show the model selection interface again, allowing you to choose a different provider and model.

Exit ScryCLI

To exit the application:
/exit
Or press Ctrl+C at any time.
Press Esc to return from any command screen to the main input interface.

Example workflow

Here’s a complete workflow showing how to use ScryCLI to scaffold a simple project:
1

Create HTML structure

Create an HTML file with a navigation bar and main content area
Result: public/index.html created with complete HTML structure
2

Add styles

Create a CSS file with modern styles for the navigation and layout
Result: styles.css created with navigation and layout styles
3

Add JavaScript

Create a JavaScript file that adds smooth scrolling behavior
Result: main.js created with scroll event handlers
4

Update HTML to include assets

Update the HTML file to include the CSS and JavaScript files
Result: public/index.html updated with link and script tags

Understanding AI responses

The AI engine processes your natural language input using the system prompt defined in src/model/systemPrompt.ts. Here’s how it works:
  1. Intent recognition - The AI determines what action you want (create, read, update, delete)
  2. File path inference - It chooses appropriate file paths based on your description and common conventions
  3. Content generation - For create/update operations, it generates complete, functional code
  4. Structured output - Everything is returned as valid JSON for execution
The AI follows strict rules to always return valid JSON. It won’t include markdown, explanations, or extra text outside the JSON structure.

Error handling

If something goes wrong, ScryCLI will display an error message:
❌ Invalid token. Please check your token and try again.
Common errors include:
  • Authentication errors - Invalid or expired token
  • Model errors - AI provider API issues
  • File system errors - Permission issues or invalid paths
  • JSON parsing errors - AI response format issues

Tips for better results

  1. Be specific - “Create a React component” is less specific than “Create a React component for a user profile card with name and email props”
  2. Include context - Mention the file type or framework: “Create a TypeScript interface” or “Add a Vue component”
  3. Use standard naming - Reference files by common conventions: “Update App.jsx” rather than “Update the main app file”
  4. One operation at a time - Break complex tasks into individual file operations for better results

What’s next?

Now that you understand the basics, you can:
  • Experiment with different AI models using /model
  • Try more complex file operations and code generation
  • Integrate ScryCLI into your development workflow
  • Report any issues using /report
Happy coding with ScryCLI!