- Update all skill SSH commands from sshpass to key-based auth (~/.ssh/archipelago-deploy) - Add proxy_connect_timeout 120s to nginx Ollama location blocks - Add new polish/sweep skills for overnight automation - Add demo content (documents, photos) for demo stack - Add .ssh/ to .gitignore Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2.0 KiB
2.0 KiB
name, description, disable-model-invocation, allowed-tools, argument-hint
| name | description | disable-model-invocation | allowed-tools | argument-hint |
|---|---|---|---|---|
| test | Run tests or create test coverage for Archipelago | true | Read, Edit, Write, Glob, Grep, Bash | [area: backend|frontend|all] or [specific-file] |
Run or create tests for $ARGUMENTS.
Backend Testing (Rust)
Run existing tests
# On dev server (never build Rust on macOS)
ssh -i ~/.ssh/archipelago-deploy archipelago@192.168.1.228 \
'source ~/.cargo/env && cd ~/archy/core && cargo test --all-features 2>&1'
Creating new tests
- Place unit tests in the same file with
#[cfg(test)]module - Place integration tests in
core/{crate}/tests/ - Use
#[tokio::test]for async tests - Mock external dependencies (filesystem, network, Podman)
- Test error cases, not just happy paths
- Aim for >80% coverage on core logic
Priority areas needing tests
- RPC endpoint handlers (core/archipelago/src/api/)
- Manifest parsing (core/container/src/manifest.rs)
- Dependency resolver (core/container/src/dependency_resolver.rs)
- Auth flows (core/archipelago/src/auth.rs)
- Secrets manager (core/security/src/secrets_manager.rs)
- Port allocation (core/container/src/port_manager.rs)
Frontend Testing (Vue/TypeScript)
Setup (if not already configured)
Ensure vitest is configured in neode-ui/:
cd neode-ui && npm run test 2>&1 || echo "No test script configured"
Creating new tests
- Use Vitest + @vue/test-utils
- Place tests in
neode-ui/src/__tests__/or co-located*.test.ts - Test stores (Pinia) with
createTestingPinia() - Test API clients with mocked fetch
- Test component rendering and interactions
- Test routing guards
Priority areas needing tests
- Pinia stores (app.ts, container.ts, appLauncher.ts)
- RPC client (api/rpc-client.ts) — error handling, retry logic
- WebSocket client (api/websocket.ts) — reconnection
- Router guards — auth flow, session timeout
- Key components — ContainerStatus, SpotlightSearch
Report test results and any new tests created.