sapper-iq 1.1.37 → 1.1.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,35 +0,0 @@
1
- name: CI
2
-
3
- on:
4
- push:
5
- branches: [ main ]
6
- pull_request:
7
- branches: [ main ]
8
-
9
- jobs:
10
- test:
11
- runs-on: ubuntu-latest
12
- strategy:
13
- matrix:
14
- node-version: [16.x, 18.x, 20.x]
15
-
16
- steps:
17
- - name: Checkout code
18
- uses: actions/checkout@v4
19
-
20
- - name: Use Node.js ${{ matrix.node-version }}
21
- uses: actions/setup-node@v4
22
- with:
23
- node-version: ${{ matrix.node-version }}
24
- cache: 'npm'
25
-
26
- - name: Install dependencies
27
- run: npm ci
28
-
29
- - name: Run tests
30
- run: npm test --if-present
31
-
32
- - name: Check if sapper runs
33
- run: |
34
- chmod +x sapper.mjs
35
- timeout 5s node sapper.mjs --help || true
@@ -1,46 +0,0 @@
1
- name: Publish to NPM
2
-
3
- on:
4
- release:
5
- types: [published]
6
- push:
7
- tags:
8
- - 'v*'
9
-
10
- jobs:
11
- publish:
12
- runs-on: ubuntu-latest
13
- steps:
14
- - name: Checkout code
15
- uses: actions/checkout@v4
16
-
17
- - name: Setup Node.js
18
- uses: actions/setup-node@v4
19
- with:
20
- node-version: '18'
21
- registry-url: 'https://registry.npmjs.org'
22
-
23
- - name: Install dependencies
24
- run: npm ci
25
-
26
- - name: Run tests (if any)
27
- run: npm test --if-present
28
-
29
- - name: Publish to NPM
30
- run: npm publish
31
- env:
32
- NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
33
-
34
- - name: Create GitHub Release
35
- if: startsWith(github.ref, 'refs/tags/v')
36
- uses: actions/create-release@v1
37
- env:
38
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
39
- with:
40
- tag_name: ${{ github.ref }}
41
- release_name: Release ${{ github.ref }}
42
- body: |
43
- ## Changes in this release
44
- - Auto-generated release from tag ${{ github.ref }}
45
- draft: false
46
- prerelease: false
@@ -1,32 +0,0 @@
1
- ---
2
- name: "Code Reviewer"
3
- description: "Code review agent — analyzes code for bugs, security issues, performance, and best practices. Read-only: won't modify files."
4
- tools: [read, list, search]
5
- ---
6
-
7
- # Code Reviewer
8
-
9
- You are a senior code reviewer within Sapper.
10
-
11
- ## Your Expertise
12
- - Bug detection and logic errors
13
- - Security vulnerability scanning (OWASP Top 10)
14
- - Performance bottleneck identification
15
- - Code style and best practices
16
- - Architecture and design pattern review
17
- - Dependency and import analysis
18
-
19
- ## Behavior
20
- - You are READ-ONLY — analyze and report, never modify files
21
- - Be specific: reference exact file paths and line numbers
22
- - Categorize issues by severity: 🔴 Critical, 🟡 Warning, 🟢 Suggestion
23
- - Provide the fix alongside the problem
24
- - Check for: unused variables, error handling gaps, race conditions, SQL injection, XSS, hardcoded secrets
25
-
26
- ## Review Format
27
- For each issue found:
28
- ```
29
- 🔴/🟡/🟢 [Category] — file:line
30
- Problem: What's wrong
31
- Fix: How to fix it
32
- ```
@@ -1,23 +0,0 @@
1
- ---
2
- name: "Sapper IT"
3
- description: "Expert full-stack coding agent — handles web dev, architecture, debugging, DevOps, databases, APIs, and performance. Use for any coding task."
4
- tools: [read, edit, write, list, search, shell]
5
- ---
6
-
7
- # Sapper IT - Coding Agent
8
-
9
- You are Sapper IT, an expert full-stack coding agent working within Sapper.
10
-
11
- ## Your Expertise
12
- - Full-stack web development (frontend + backend)
13
- - System architecture and design patterns
14
- - Debugging, refactoring, and code review
15
- - DevOps, CI/CD, and deployment
16
- - Database design and optimization
17
- - API development (REST, GraphQL)
18
- - Performance optimization and security best practices
19
-
20
- ## Behavior
21
- When the user asks for help, dive into the codebase using Sapper's tools. Read files, understand the structure, then make precise changes.
22
-
23
- Be technical, thorough, and code-first. Always verify your changes work by running tests or builds.
@@ -1,31 +0,0 @@
1
- ---
2
- name: "Technical Writer"
3
- description: "Documentation and writing agent — READMEs, API docs, tutorials, guides, and code comments. Use for any writing or documentation task."
4
- tools: [read, edit, write, list, search]
5
- ---
6
-
7
- # Technical Writer
8
-
9
- You are an expert technical writer within Sapper.
10
-
11
- ## Your Expertise
12
- - API documentation and developer guides
13
- - README files and onboarding docs
14
- - Architecture decision records (ADRs)
15
- - Code comments, JSDoc/TSDoc annotations
16
- - Tutorials, how-to guides, and changelogs
17
- - Clear, structured, audience-aware writing
18
-
19
- ## Behavior
20
- - Always READ the code first to understand what it does before writing docs
21
- - Use examples and code snippets in documentation
22
- - Keep language simple and scannable
23
- - Match the project's existing documentation style
24
- - Prefer concise bullet points over long paragraphs
25
-
26
- ## Workflow
27
- 1. LIST the project to understand structure
28
- 2. READ key files (README, package.json, main entry points)
29
- 3. Identify what needs documenting
30
- 4. WRITE or PATCH documentation files
31
- 5. Cross-reference with existing docs for consistency
@@ -1,4 +0,0 @@
1
- {
2
- "autoAttach": true,
3
- "contextLimit": 35000
4
- }
@@ -1,14 +0,0 @@
1
- [
2
- {
3
- "role": "system",
4
- "content": "You are Sapper, an intelligent AI assistant with access to the local filesystem and shell.\nYou can help with ANY task - coding, writing, research, planning, analysis, and more.\nAdapt your personality and expertise based on the active agent role and loaded skills.\n\nCURRENT DATE AND TIME: Monday, April 6, 2026, 09:20 AM\n\nRULES:\n1. EXPLORE FIRST: Use list and read to understand files before making changes.\n2. THINK IN STEPS: Explain what you found and what you plan to do before acting.\n3. BE PRECISE: When using patch, ensure the 'old_text' matches exactly.\n4. VERIFY: After making changes, verify they work (run tests, check output, etc).\n5. NO HALLUCINATIONS: If a file doesn't exist, don't guess its content. List the directory instead.\n\nTOOLS:\nYou have function-calling tools available. Call them directly — do NOT use [TOOL:...] text markers.\nAvailable tools: list_directory, read_file, search_files, write_file, patch_file, create_directory, run_shell.\n\nPATCH TIPS:\n- For patch_file, set old_text to \"LINE:<number>\" to replace a specific line by number (most reliable).\n- Always read_file first to see exact content before using patch_file.\n- If a patch fails, do NOT retry with slight variations. Switch to LINE:number mode or use write_file instead.\n\nIMPORTANT CONTEXT:\n- The current working directory is the user's project folder.\n- Sapper has a built-in agent/skill system. Agents are managed via /agents, /agent create, /newagent commands - NOT by you creating files manually.\n- Do NOT try to build agent frameworks, projects, or directory structures when the user mentions agents. The agent system is already built into Sapper.\n- When the user asks you to do something, work within their current project directory.\n- Use \".\" for the current directory when listing, not \"/\" or \"agent/\".\n\nWhen no agent is active, you are a general-purpose assistant. When an agent role is loaded, fully adopt that role."
5
- },
6
- {
7
- "role": "user",
8
- "content": "hi"
9
- },
10
- {
11
- "role": "assistant",
12
- "content": "Hello! I'm Sapper, an AI assistant ready to help you with anything you need—coding, writing, researching, planning, or analyzing.\n\nWhat can I do for you today?"
13
- }
14
- ]
@@ -1,29 +0,0 @@
1
- # Sapper Session Log
2
- **Started:** 4/6/2026, 9:20:13 AM
3
- **Working Directory:** `/Users/ibrahimihsan/Downloads/sapper`
4
-
5
- ---
6
-
7
- ## 🚀 Session Started
8
- - **Model:** `gemma4:e4b-it-q4_K_M`
9
- - **Resumed:** No
10
- - **Context Messages:** 1
11
-
12
- ### 💬 User Input `9:20:18 AM` _(+5.3s)_
13
- ```
14
- hi
15
- ```
16
-
17
- ### 🤖 AI Response `9:20:33 AM` _(+20.1s)_
18
- - **Tokens:** ~159 chars
19
- - **Duration:** 14.8s
20
- - **Tools Used:** 0
21
-
22
- <details><summary>Response preview</summary>
23
-
24
- Hello! I'm Sapper, an AI assistant ready to help you with anything you need—coding, writing, researching, planning, or analyzing.
25
-
26
- What can I do for you today?
27
-
28
- </details>
29
-
@@ -1,44 +0,0 @@
1
- ---
2
- name: git-workflow
3
- description: "Git best practices — branching, commits, PRs, rebasing, conflict resolution. Use when working with version control."
4
- argument-hint: "Describe the git operation (e.g., 'create feature branch', 'squash commits')"
5
- ---
6
-
7
- # Git Workflow
8
-
9
- Best practices for Git version control.
10
-
11
- ## Commit Messages
12
- - Format: `type(scope): description`
13
- - Types: feat, fix, docs, style, refactor, test, chore, perf
14
- - Keep subject line under 72 characters
15
- - Use imperative mood: "add feature" not "added feature"
16
- - Examples:
17
- - `feat(auth): add JWT token refresh`
18
- - `fix(api): handle null response from payment service`
19
- - `docs(readme): add deployment instructions`
20
-
21
- ## Branching Strategy
22
- - `main` — production-ready code
23
- - `develop` — integration branch
24
- - `feature/name` — new features
25
- - `fix/name` — bug fixes
26
- - `hotfix/name` — urgent production fixes
27
-
28
- ## Common Operations
29
- | Task | Command |
30
- |------|---------|
31
- | New feature branch | `git checkout -b feature/name develop` |
32
- | Stage specific files | `git add file1 file2` |
33
- | Interactive rebase | `git rebase -i HEAD~N` |
34
- | Squash last N commits | `git rebase -i HEAD~N` then change pick to squash |
35
- | Undo last commit (keep changes) | `git reset --soft HEAD~1` |
36
- | Stash with message | `git stash push -m "description"` |
37
- | Cherry-pick a commit | `git cherry-pick <hash>` |
38
-
39
- ## PR Checklist
40
- - [ ] Branch is up to date with target branch
41
- - [ ] Tests pass
42
- - [ ] No console.log / debug statements
43
- - [ ] Commit messages follow convention
44
- - [ ] Documentation updated if needed
@@ -1,52 +0,0 @@
1
- ---
2
- name: node-project
3
- description: "Node.js project conventions — package.json, scripts, folder structure, error handling, env config, testing patterns."
4
- argument-hint: "Describe what you need (e.g., 'setup express project', 'add testing')"
5
- ---
6
-
7
- # Node.js Project Conventions
8
-
9
- ## Project Structure
10
- ```
11
- project/
12
- ├── src/
13
- │ ├── index.js # Entry point
14
- │ ├── routes/ # Route handlers
15
- │ ├── controllers/ # Business logic
16
- │ ├── models/ # Data models
17
- │ ├── middleware/ # Express middleware
18
- │ ├── services/ # External service integrations
19
- │ └── utils/ # Helper functions
20
- ├── tests/
21
- │ ├── unit/
22
- │ └── integration/
23
- ├── config/
24
- │ └── index.js # Environment-based config
25
- ├── .env.example
26
- ├── .gitignore
27
- ├── package.json
28
- └── README.md
29
- ```
30
-
31
- ## Package.json Scripts
32
- ```json
33
- {
34
- "scripts": {
35
- "start": "node src/index.js",
36
- "dev": "nodemon src/index.js",
37
- "test": "jest --coverage",
38
- "test:watch": "jest --watch",
39
- "lint": "eslint src/",
40
- "lint:fix": "eslint src/ --fix"
41
- }
42
- }
43
- ```
44
-
45
- ## Best Practices
46
- - Use `const` by default, `let` when needed, never `var`
47
- - Always handle async errors with try/catch or .catch()
48
- - Use environment variables via dotenv, never hardcode secrets
49
- - Validate input at API boundaries (use zod, joi, or express-validator)
50
- - Use structured logging (pino or winston), not console.log in production
51
- - Prefer async/await over callbacks and .then() chains
52
- - Exit gracefully: handle SIGTERM and SIGINT
@@ -1,52 +0,0 @@
1
- {
2
- "indexed": "2026-04-06T06:00:27.405Z",
3
- "files": {
4
- ".gitignore": {
5
- "size": 265,
6
- "modified": "2026-04-05T10:46:05.585Z",
7
- "imports": [],
8
- "exports": [],
9
- "symbols": [],
10
- "summary": "node_modules/ .env .env.local"
11
- },
12
- "PUBLISHING.md": {
13
- "size": 2894,
14
- "modified": "2026-01-20T12:46:40.688Z",
15
- "imports": [],
16
- "exports": [],
17
- "symbols": [],
18
- "summary": "This guide explains how to publish Sapper to npm registry manually. 1. **npm account** - Create at [npmjs.com](https://npmjs.com) 2. **npm login** - R"
19
- },
20
- "README.md": {
21
- "size": 2384,
22
- "modified": "2026-01-19T21:36:28.719Z",
23
- "imports": [],
24
- "exports": [],
25
- "symbols": [],
26
- "summary": "🚀 **AI-powered development assistant that executes commands and builds projects** Sapper is a command-line interface that connects to Ollama models t"
27
- },
28
- "package-lock.json": {
29
- "size": 29118,
30
- "modified": "2026-04-05T10:44:21.805Z",
31
- "imports": [],
32
- "exports": [],
33
- "symbols": [],
34
- "summary": "{ \"name\": \"sapper-iq\", \"version\": \"1.1.36\","
35
- },
36
- "package.json": {
37
- "size": 965,
38
- "modified": "2026-04-05T10:44:21.804Z",
39
- "imports": [],
40
- "exports": [],
41
- "symbols": [],
42
- "summary": "{ \"name\": \"sapper-iq\", \"version\": \"1.1.36\","
43
- }
44
- },
45
- "graph": {
46
- ".gitignore": [],
47
- "PUBLISHING.md": [],
48
- "README.md": [],
49
- "package-lock.json": [],
50
- "package.json": []
51
- }
52
- }
package/.sapperignore DELETED
@@ -1,137 +0,0 @@
1
- # ═══════════════════════════════════════════════════════════════
2
- # .sapperignore — Files and folders Sapper should ignore
3
- # Works like .gitignore: one pattern per line, # for comments
4
- # ═══════════════════════════════════════════════════════════════
5
-
6
- # ── Sapper internal ──
7
- .sapper/
8
-
9
- # ── Dependencies ──
10
- node_modules/
11
- vendor/
12
- bower_components/
13
-
14
- # ── Build outputs ──
15
- dist/
16
- build/
17
- out/
18
- .next/
19
- .nuxt/
20
- .output/
21
- .vercel/
22
- .netlify/
23
-
24
- # ── Environment & secrets ──
25
- .env
26
- .env.*
27
- !.env.example
28
- *.pem
29
- *.key
30
- *.cert
31
-
32
- # ── Version control ──
33
- .git/
34
- .svn/
35
- .hg/
36
-
37
- # ── IDE / Editor ──
38
- .idea/
39
- .vscode/
40
- *.swp
41
- *.swo
42
- *~
43
-
44
- # ── OS files ──
45
- .DS_Store
46
- Thumbs.db
47
- desktop.ini
48
-
49
- # ── Caches ──
50
- .cache/
51
- __pycache__/
52
- *.pyc
53
- .pytest_cache/
54
- .mypy_cache/
55
-
56
- # ── Coverage & tests ──
57
- coverage/
58
- .nyc_output/
59
- htmlcov/
60
-
61
- # ── Logs ──
62
- *.log
63
- npm-debug.log*
64
- yarn-debug.log*
65
- yarn-error.log*
66
-
67
- # ── Lock files (large) ──
68
- package-lock.json
69
- yarn.lock
70
- pnpm-lock.yaml
71
- composer.lock
72
- Gemfile.lock
73
- Cargo.lock
74
-
75
- # ── Compiled / binary / large ──
76
- *.min.js
77
- *.min.css
78
- *.map
79
- *.bundle.js
80
- *.chunk.js
81
- *.wasm
82
- *.so
83
- *.dylib
84
- *.dll
85
- *.exe
86
- *.o
87
- *.a
88
- *.class
89
- *.jar
90
- *.war
91
- *.zip
92
- *.tar.gz
93
- *.tgz
94
- *.rar
95
- *.7z
96
- *.iso
97
- *.dmg
98
-
99
- # ── Media (large files) ──
100
- *.mp4
101
- *.mp3
102
- *.avi
103
- *.mov
104
- *.mkv
105
- *.wav
106
- *.flac
107
- *.png
108
- *.jpg
109
- *.jpeg
110
- *.gif
111
- *.bmp
112
- *.ico
113
- *.svg
114
- *.webp
115
- *.ttf
116
- *.woff
117
- *.woff2
118
- *.eot
119
- *.otf
120
- *.pdf
121
-
122
- # ── Database ──
123
- *.sqlite
124
- *.sqlite3
125
- *.db
126
-
127
- # ── Terraform / IaC ──
128
- .terraform/
129
- *.tfstate
130
- *.tfstate.*
131
-
132
- # ── Docker ──
133
- *.tar
134
-
135
- # ── Gradle / Maven ──
136
- .gradle/
137
- target/
package/PUBLISHING.md DELETED
@@ -1,148 +0,0 @@
1
- # Publishing Sapper to NPM
2
-
3
- This guide explains how to publish Sapper to npm registry manually.
4
-
5
- ## Prerequisites
6
-
7
- 1. **npm account** - Create at [npmjs.com](https://npmjs.com)
8
- 2. **npm login** - Run `npm login` in terminal
9
- 3. **Package name available** - Check if "sapper" is available on npm
10
-
11
- ## Step-by-Step Publishing Process
12
-
13
- ### 1. Verify Package Configuration
14
-
15
- Check `package.json` has correct information:
16
- ```json
17
- {
18
- "name": "sapper",
19
- "version": "1.0.0",
20
- "main": "sapper.mjs",
21
- "bin": {
22
- "sapper": "./sapper.mjs"
23
- },
24
- "type": "module"
25
- }
26
- ```
27
-
28
- ### 2. Make Executable
29
-
30
- Ensure the main file is executable:
31
- ```bash
32
- chmod +x sapper.mjs
33
- ```
34
-
35
- ### 3. Test Locally
36
-
37
- Test the package locally before publishing:
38
- ```bash
39
- npm link
40
- sapper --version # Test if it works
41
- npm unlink -g sapper # Clean up
42
- ```
43
-
44
- ### 4. Check Package Contents
45
-
46
- See what files will be published:
47
- ```bash
48
- npm pack --dry-run
49
- ```
50
-
51
- ### 5. Login to NPM
52
-
53
- ```bash
54
- npm login
55
- # Enter username, password, email, and 2FA code
56
- ```
57
-
58
- ### 6. Publish
59
-
60
- ```bash
61
- npm publish
62
- ```
63
-
64
- If successful, you'll see:
65
- ```
66
- + sapper@1.0.0
67
- ```
68
-
69
- ### 7. Verify Installation
70
-
71
- Test global installation:
72
- ```bash
73
- npm install -g sapper
74
- sapper --version
75
- ```
76
-
77
- ## Publishing Updates
78
-
79
- ### For patch updates (1.0.0 → 1.0.1):
80
- ```bash
81
- npm version patch
82
- git push --follow-tags
83
- npm publish
84
- ```
85
-
86
- ### For minor updates (1.0.0 → 1.1.0):
87
- ```bash
88
- npm version minor
89
- git push --follow-tags
90
- npm publish
91
- ```
92
-
93
- ### For major updates (1.0.0 → 2.0.0):
94
- ```bash
95
- npm version major
96
- git push --follow-tags
97
- npm publish
98
- ```
99
-
100
- ## Troubleshooting
101
-
102
- ### Package name taken
103
- If "sapper" is taken, try alternatives:
104
- - `sapper-ai`
105
- - `sapper-cli`
106
- - `ai-sapper`
107
-
108
- Update `package.json` name field accordingly.
109
-
110
- ### Authentication errors
111
- ```bash
112
- npm logout
113
- npm login
114
- ```
115
-
116
- ### Permission errors
117
- Check if you have publish rights to the package name.
118
-
119
- ### Version conflicts
120
- Each publish must have a unique version number. Increment version in `package.json`.
121
-
122
- ## Post-Publish Steps
123
-
124
- 1. **Verify on npmjs.com** - Visit `https://npmjs.com/package/sapper`
125
- 2. **Test installation** - `npm install -g sapper`
126
- 3. **Update README** - Add npm installation instructions
127
- 4. **Tag release on GitHub** - Create release tag matching npm version
128
-
129
- ## NPM Commands Reference
130
-
131
- - `npm whoami` - Check logged in user
132
- - `npm view sapper` - View package info
133
- - `npm unpublish sapper@1.0.0` - Remove specific version (within 24hrs)
134
- - `npm deprecate sapper@1.0.0 "reason"` - Mark version as deprecated
135
- - `npm owner ls sapper` - List package owners
136
-
137
- ## GitHub Integration
138
-
139
- After publishing, users can install via:
140
- - `npm install -g sapper` (from npm registry)
141
- - `npm install -g git+https://github.com/aledanee/sapper.git` (from GitHub)
142
-
143
- Keep both npm and GitHub versions synchronized.
144
-
145
-
146
-
147
-
148
- git add . && git commit -m "Add specialized Node.js/PostgreSQL prompts with use cases" && npm version patch && npm publish