Clean up FrenoCorp repo: move project code to correct repositories (FRE-4529)

- Removed literal $AGENT_HOME/ directory artifact
- Moved Lendair iOS code to ~/code/lendair/iOS/Lendair/
- Moved marketing/ to ~/code/scripter/
- Moved ShieldAI workflow doc to ~/code/ShieldAI/
- Moved CI/CD workflows and load-test scripts to ~/code/lendair/
- Moved web configs (vercel.json, .env.example, index.html) to ~/code/lendair/web/
- Removed root-level project configs (package.json, tsconfig.json, vite.config.ts, etc.)
- Removed shared/exports/ and scripts/
- Updated all 8 agent AGENTS.md files with Repository Rules section
- Clarified: FrenoCorp is for agent notes/memories/plans only, not project code

Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
2026-05-10 12:12:06 -04:00
parent d74f65b9d5
commit 97d246e98e
91 changed files with 124 additions and 10622 deletions

View File

@@ -1,162 +0,0 @@
name: iOS CI
on:
push:
branches: [main]
paths:
- "Lendair/**"
- ".github/workflows/ios-ci.yml"
pull_request:
branches: [main]
paths:
- "Lendair/**"
- ".github/workflows/ios-ci.yml"
concurrency:
group: ios-ci-${{ github.ref }}
cancel-in-progress: true
jobs:
lint:
name: Swift Lint
runs-on: macos-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Select Xcode
run: sudo xcode-select -s ${{ env.XCODE_APP_PATH || '/Applications/Xcode_15.4.app' }}
env:
XCODE_APP_PATH: ${{ vars.XCODE_APP_PATH || '/Applications/Xcode_15.4.app' }}
- name: Swift Format Check
run: |
swift format lint Lendair/Models Lendair/Services Lendair/ViewModels Lendair/Views || {
echo "::warning::Swift format issues detected (non-blocking)"
}
build:
name: Build
runs-on: macos-latest
needs: lint
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Select Xcode
run: sudo xcode-select -s ${{ env.XCODE_APP_PATH || '/Applications/Xcode_15.4.app' }}
env:
XCODE_APP_PATH: ${{ vars.XCODE_APP_PATH || '/Applications/Xcode_15.4.app' }}
- name: Swift version
run: swift --version
- name: Resolve dependencies
run: swift package resolve
working-directory: Lendair
- name: Build
run: swift build --target LendairApp
working-directory: Lendair
test:
name: Test
runs-on: macos-latest
needs: build
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Select Xcode
run: sudo xcode-select -s ${{ env.XCODE_APP_PATH || '/Applications/Xcode_15.4.app' }}
env:
XCODE_APP_PATH: ${{ vars.XCODE_APP_PATH || '/Applications/Xcode_15.4.app' }}
- name: Run tests
run: swift test
working-directory: Lendair
deploy-testflight:
name: Deploy to TestFlight
runs-on: macos-latest
needs: test
if: github.ref == 'refs/heads/main' && github.event_name == 'push'
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Select Xcode
run: sudo xcode-select -s ${{ env.XCODE_APP_PATH || '/Applications/Xcode_15.4.app' }}
env:
XCODE_APP_PATH: ${{ vars.XCODE_APP_PATH || '/Applications/Xcode_15.4.app' }}
- name: Generate Xcode project
run: swift package generate-xcodeproj
working-directory: Lendair
- name: Create keychain for code signing
run: |
security create-keychain -p "" build.keychain
security default-keychain -s build.keychain
security unlock-keychain -p "" build.keychain
security set-keychain-settings -t 3600 -u build.keychain
- name: Import codesigning certificates
uses: apple-actions/import-codesign-certs@v2
with:
p12-file-base64: ${{ secrets.APPLE_DISTRIBUTION_CERT_BASE64 }}
p12-password: ${{ secrets.APPLE_DISTRIBUTION_CERT_PASSWORD }}
keychain: build.keychain
- name: Import provisioning profile
run: |
mkdir -p ~/Library/MobileDevice/Provisioning\ Profiles
echo "${{ secrets.APPLE_PROVISIONING_PROFILE }}" > ~/Library/MobileDevice/Provisioning\ Profiles/Lendair.mobileprovision
- name: Create Export Options Plist
run: |
cat > Lendair/ExportOptions.plist << EOF
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>method</key>
<string>app-store</string>
<key>uploadBitcode</key>
<false/>
<key>uploadSymbols</key>
<true/>
<key>compileBitcode</key>
<false/>
</dict>
</plist>
EOF
- name: Archive with xcodebuild
run: |
xcodebuild archive \
-project Lendair/Lendair.xcodeproj \
-scheme LendairApp \
-configuration Release \
-destination "generic/platform=iOS" \
-archivePath Lendair/build/Lendair.xcarchive \
CODE_SIGN_STYLE=Automatic \
PROVISIONING_PROFILE_SPECIFIER=Automatic \
DEVELOPMENT_TEAM=${{ secrets.APPLE_TEAM_ID }}
- name: Export IPA
run: |
xcodebuild -exportArchive \
-archivePath Lendair/build/Lendair.xcarchive \
-exportPath Lendair/build/export \
-exportOptionsPlist Lendair/ExportOptions.plist
- name: Upload to TestFlight
uses: apple-actions/upload-testflight-binary@v1
with:
app-path: Lendair/build/export/LendairApp.ipa
github-token: ${{ secrets.GITHUB_TOKEN }}
env:
APPLE_ID: ${{ secrets.APPLE_ID }}
APPLE_PASSWORD: ${{ secrets.APPLE_PASSWORD }}
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}

View File

@@ -1,81 +0,0 @@
name: Load Testing
on:
push:
branches: [main]
paths:
- "scripts/load-test/**"
- ".github/workflows/load-testing.yml"
pull_request:
branches: [main]
paths:
- "scripts/load-test/**"
- ".github/workflows/load-testing.yml"
schedule:
# Run load tests daily at 2 AM UTC
- cron: "0 2 * * *"
concurrency:
group: load-testing-${{ github.ref }}
cancel-in-progress: true
defaults:
run:
working-directory: scripts/load-test
jobs:
load-test:
name: Performance Load Test
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
cache-dependency-path: scripts/load-test/package-lock.json
- name: Install dependencies
run: npm ci
- name: Run load tests
run: npm run load-test
env:
API_BASE_URL: ${{ secrets.API_BASE_URL || 'https://api.frenocorp.com' }}
LOAD_TEST_CONCURRENCY: ${{ vars.LOAD_TEST_CONCURRENCY || 10 }}
LOAD_TEST_DURATION: ${{ vars.LOAD_TEST_DURATION || 60 }}
- name: Upload results artifact
uses: actions/upload-artifact@v4
with:
name: load-test-results-${{ github.run_id }}
path: scripts/load-test/reports/
retention-days: 7
performance-baseline:
name: Performance Baseline Check
runs-on: ubuntu-latest
needs: load-test
if: github.event_name == 'pull_request'
steps:
- name: Download results
uses: actions/download-artifact@v4
with:
name: load-test-results-${{ github.run_id }}
path: scripts/load-test/reports/
- name: Compare against baseline
run: |
if [ -f "scripts/load-test/reports/baseline.json" ]; then
echo "Comparing against baseline..."
# Add comparison logic here
npm run compare-baseline
else
echo "No baseline found, creating initial baseline"
npm run create-baseline
fi
env:
BASELINE_THRESHOLD: ${{ vars.BASELINE_THRESHOLD || 0.1 }}

View File

@@ -1,107 +0,0 @@
name: Web CI
on:
push:
branches: [main]
paths:
- "*.json"
- "*.ts"
- "*.tsx"
- "*.js"
- "*.jsx"
- "*.html"
- ".github/workflows/web-ci.yml"
pull_request:
branches: [main]
paths:
- "*.json"
- "*.ts"
- "*.tsx"
- "*.js"
- "*.jsx"
- "*.html"
- ".github/workflows/web-ci.yml"
concurrency:
group: web-ci-${{ github.ref }}
cancel-in-progress: true
jobs:
check:
name: Type Check
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
cache-dependency-path: package-lock.json
- name: Install dependencies
run: npm ci
- name: Type check
run: npx tsc --noEmit
test:
name: Tests
runs-on: ubuntu-latest
needs: check
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
cache-dependency-path: package-lock.json
- name: Install dependencies
run: npm ci
- name: Run tests
run: npx vitest run --reporter=verbose
build:
name: Build
runs-on: ubuntu-latest
needs: test
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
cache-dependency-path: package-lock.json
- name: Install dependencies
run: npm ci
- name: Build
run: npm run build
deploy:
name: Deploy to Vercel
runs-on: ubuntu-latest
needs: build
if: github.ref == 'refs/heads/main' && github.event_name == 'push'
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Deploy to Vercel
uses: amondnet/vercel-action@v30
with:
vercel-token: ${{ secrets.VERCEL_TOKEN }}
vercel-org-id: ${{ secrets.VERCEL_ORG_ID }}
vercel-project-id: ${{ secrets.VERCEL_PROJECT_ID }}
vercel-args: --prod