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.
- package/README.md +426 -52
- package/package.json +7 -1
- package/sapper-ui.mjs +66 -19
- package/sapper.mjs +2832 -416
- package/.github/workflows/ci.yml +0 -35
- package/.github/workflows/publish.yml +0 -46
- package/.sapper/agents/reviewer.md +0 -32
- package/.sapper/agents/sapper-it.md +0 -23
- package/.sapper/agents/writer.md +0 -31
- package/.sapper/config.json +0 -4
- package/.sapper/context.json +0 -14
- package/.sapper/logs/session-2026-04-06T06-20-07.md +0 -29
- package/.sapper/skills/git-workflow.md +0 -44
- package/.sapper/skills/node-project.md +0 -52
- package/.sapper/workspace.json +0 -52
- package/.sapperignore +0 -137
- package/PUBLISHING.md +0 -148
- package/old/sapper copy 2.mjs +0 -673
- package/old/sapper copy 3.mjs +0 -1154
- package/old/sapper copy.mjs +0 -483
- package/old/sapper copy4.mjs +0 -1950
package/.github/workflows/ci.yml
DELETED
|
@@ -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.
|
package/.sapper/agents/writer.md
DELETED
|
@@ -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
|
package/.sapper/config.json
DELETED
package/.sapper/context.json
DELETED
|
@@ -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
|
package/.sapper/workspace.json
DELETED
|
@@ -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
|