007
免费Security audit, hardening, threat modeling (STRIDE/PASTA), Red/Blue Team, OWASP checks, code review, incident response, and infrastructure security for any project.
中文简介正在准备中。当前显示原文说明。
Configure CI/CD pipeline for Abridge clinical AI integrations with GitHub Actions. Use when setting up automated testing, FHIR validation, HIPAA compliance checks, or deployment pipelines for healthcare AI applications. Trigger: "abridge CI", "abridge GitHub Actions", "abridge pipeline", "abridge automated testing", "abridge CI/CD".
中文简介正在准备中。当前显示原文说明。
安装前可以查看交给 AI 代理的指令内容。
CI/CD pipeline for Abridge clinical documentation integrations. Healthcare CI pipelines require FHIR resource validation, PHI leak scanning, HIPAA compliance checks, and sandbox integration testing.
# .github/workflows/abridge-ci.yml
name: Abridge Integration CI
on:
push:
branches: [main, develop]
pull_request:
branches: [main]
env:
NODE_VERSION: '20'
jobs:
lint-and-type-check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with: { node-version: '${{ env.NODE_VERSION }}' }
- run: npm ci
- run: npm run lint
- run: npm run typecheck
phi-leak-scan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Scan for PHI patterns in source code
run: |
echo "Scanning for PHI patterns..."
# SSN patterns
if grep -rn '\b[0-9]\{3\}-[0-9]\{2\}-[0-9]\{4\}\b' src/ --include='*.ts' --include='*.js'; then
echo "FAIL: Possible SSN found in source code"
exit 1
fi
# Hardcoded patient names (common test names)
if grep -rn '"John Doe\|Jane Doe\|Test Patient"' src/ --include='*.ts'; then
echo "WARN: Hardcoded patient names — use synthetic data"
fi
echo "PHI scan passed"
fhir-validation:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with: { node-version: '${{ env.NODE_VERSION }}' }
- run: npm ci
- name: Validate FHIR resources
run: |
npm run test:fhir-schemas
echo "FHIR R4 validation passed"
sandbox-integration:
runs-on: ubuntu-latest
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
needs: [lint-and-type-check, phi-leak-scan, fhir-validation]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with: { node-version: '${{ env.NODE_VERSION }}' }
- run: npm ci
- name: Run sandbox integration tests
env:
ABRIDGE_SANDBOX_URL: ${{ secrets.ABRIDGE_SANDBOX_URL }}
ABRIDGE_CLIENT_SECRET: ${{ secrets.ABRIDGE_CLIENT_SECRET }}
ABRIDGE_ORG_ID: ${{ secrets.ABRIDGE_ORG_ID }}
run: npm run test:integration
// tests/fhir-validation.test.ts
import { describe, it, expect } from 'vitest';
describe('FHIR R4 Resource Validation', () => {
it('should generate valid DocumentReference', () => {
const docRef = {
resourceType: 'DocumentReference',
status: 'current',
type: { coding: [{ system: 'http://loinc.org', code: '11506-3', display: 'Progress note' }] },
subject: { reference: 'Patient/test-001' },
content: [{ attachment: { contentType: 'text/plain', data: btoa('test note') } }],
};
expect(docRef.resourceType).toBe('DocumentReference');
expect(docRef.status).toBe('current');
expect(docRef.type.coding[0].system).toBe('http://loinc.org');
expect(docRef.content[0].attachment.contentType).toBe('text/plain');
});
it('should generate valid Communication resource for patient summary', () => {
const comm = {
resourceType: 'Communication',
status: 'completed',
category: [{ coding: [{ system: 'http://terminology.hl7.org/CodeSystem/communication-category', code: 'notification' }] }],
subject: { reference: 'Patient/test-001' },
payload: [{ contentString: 'Your visit summary...' }],
};
expect(comm.resourceType).toBe('Communication');
expect(comm.payload[0].contentString).toBeTruthy();
});
});
// tests/integration/sandbox.test.ts
import { describe, it, expect } from 'vitest';
import axios from 'axios';
describe('Abridge Sandbox Integration', () => {
const api = axios.create({
baseURL: process.env.ABRIDGE_SANDBOX_URL,
headers: {
'Authorization': `Bearer ${process.env.ABRIDGE_CLIENT_SECRET}`,
'X-Org-Id': process.env.ABRIDGE_ORG_ID!,
},
});
it('should create and finalize an encounter session', async () => {
const { data: session } = await api.post('/encounters/sessions', {
patient_id: 'ci-test-patient',
provider_id: 'ci-test-provider',
encounter_type: 'outpatient',
specialty: 'internal_medicine',
sandbox: true,
});
expect(session.session_id).toBeTruthy();
expect(session.status).toBe('initialized');
// Submit transcript
await api.post(`/encounters/sessions/${session.session_id}/transcript`, {
speaker: 'provider', text: 'CI test — patient presents with headache.',
});
// Finalize
await api.post(`/encounters/sessions/${session.session_id}/finalize`);
}, 30000);
});
| Issue | Cause | Solution |
|---|---|---|
| PHI scan false positive | Regex too broad | Add pattern to allowlist in scan script |
| Sandbox test timeout | API slow | Increase vitest timeout to 30s |
| Secrets not available | Missing GitHub Secrets | Add to repo Settings > Secrets |
For deployment procedures, see abridge-deploy-integration.
还没有评价。欢迎分享你的使用感受。
无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。
还没有评论。来写第一条吧。
Security audit, hardening, threat modeling (STRIDE/PASTA), Red/Blue Team, OWASP checks, code review, incident response, and infrastructure security for any project.
中文简介正在准备中。当前显示原文说明。
Guides the creation of agile user stories and Gherkin feature files. Use when the user wants to create a user story, write acceptance criteria, define Gherkin scenarios, or author BDD feature files. This should trigger for requests such as Create a user story; Write a user story; I need to write a user story. Part of cursor-rules-java project
中文简介正在准备中。当前显示原文说明。
Facilitates conversational discovery to create Architectural Decision Records (ADRs) for non-functional requirements using the ISO/IEC 25010:2023 quality model. Use when the user wants to document quality attributes, NFR decisions, security/performance/scalability architecture, or design systems with measurable quality criteria. This should trigger for requests such as Create ADR for Non-functional requirements; Document Non-functional requirements; Capture Non-functional requirements; Generate Non-functional requirements in an ADR. Part of cursor-rules-java project
中文简介正在准备中。当前显示原文说明。
Run a health check on an existing project: dependency audit, security scan, test runner detection, CI/CD evaluation, and missing configuration analysis. Maps the three execution gates (pre/in/post) from /10x-bootstrapper to an assessment framework for existing codebases. Reads optional context/foundation/stack-assessment.md from /10x-stack-assess to focus checks on identified gaps. Writes context/foundation/health-check.md with findings, prioritized fixes, and an agent-readiness verdict. Use when the user has an existing project and wants to verify its health before working with an agent. Trigger phrases: "health check", "check my project", "audit my project", "is my project healthy", "sprawdź projekt", "audyt projektu", "health-check", "project health". Use AFTER /10x-stack-assess (brownfield chain), BEFORE agent onboarding (m1-l4).
中文简介正在准备中。当前显示原文说明。
You MUST use this when building projects end-to-end. Orchestrates all 12 team roles — automatically switches between CTO, architect, PM, engineers, SRE, security, DBA, QA, and EM based on the current phase of work. Starts with brainstorming before any implementation.
中文简介正在准备中。当前显示原文说明。
Use when you need to add or configure Maven plugins in your pom.xml — including quality tools (enforcer, surefire, failsafe, jacoco, pitest, spotbugs, pmd), security scanning (OWASP), code formatting (Spotless), version management, container image build (Jib), build information tracking, and benchmarking (JMH) — through a consultative, modular step-by-step approach that only adds what you actually need. This should trigger for requests such as Add Maven plugins in pom.xml; Improve Maven plugins in pom.xml. Part of cursor-rules-java project
中文简介正在准备中。当前显示原文说明。