diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..8d5ff72 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,29 @@ +name: GitHub Bounties + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + schedule: + - cron: '0 */6 * * *' # Runs every 6 hours + +jobs: + fetch-bounties: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + + - name: Setup Node.js + uses: actions/setup-node@v2 + with: + node-version: '18' + + - name: Install Dependencies + run: npm install + + - name: Fetch Bounties + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: node github-bounties.js \ No newline at end of file diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml new file mode 100644 index 0000000..aaa5687 --- /dev/null +++ b/.github/workflows/pages.yml @@ -0,0 +1,30 @@ +name: Deploy to GitHub Pages + +on: + push: + branches: [ main ] + workflow_dispatch: + +permissions: + contents: read + pages: write + id-token: write + +jobs: + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Setup Pages + uses: actions/configure-pages@v3 + - name: Upload artifact + uses: actions/upload-pages-artifact@v2 + with: + path: '.' + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v2 \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ef8097e --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +node_modules/ +public/bounties.json \ No newline at end of file diff --git a/config.js b/config.js new file mode 100644 index 0000000..61dc2f6 --- /dev/null +++ b/config.js @@ -0,0 +1,5 @@ +export const config = { + owner: 'ai16z', + repo: 'eliza', + token: null // We'll handle authentication through the server instead +}; \ No newline at end of file diff --git a/github-bounties.js b/github-bounties.js new file mode 100644 index 0000000..023182a --- /dev/null +++ b/github-bounties.js @@ -0,0 +1,125 @@ +export class GitHubBountyFetcher { + constructor() { + this.owner = 'ai16z'; + this.repo = 'eliza'; + this.baseUrl = 'https://api.github.com'; + } + + // Helper method to ensure label text is readable + getLabelTextColor(backgroundColor) { + const hex = backgroundColor.replace('#', ''); + const r = parseInt(hex.substr(0, 2), 16); + const g = parseInt(hex.substr(2, 2), 16); + const b = parseInt(hex.substr(4, 2), 16); + const luminance = (0.299 * r + 0.587 * g + 0.114 * b) / 255; + return luminance > 0.5 ? '#000000' : '#FFFFFF'; + } + + async fetchBountyIssues() { + try { + const url = `${this.baseUrl}/repos/${this.owner}/${this.repo}/issues?labels=Bounty&state=open`; + console.log('Fetching from URL:', url); + + const response = await fetch(url, { + headers: { + 'Accept': 'application/vnd.github.v3+json' + }, + cache: 'no-store' + }); + + if (!response.ok) { + throw new Error(`HTTP error! status: ${response.status}`); + } + + const issues = await response.json(); + return this.processIssues(issues); + } catch (error) { + console.error('Error fetching bounty issues:', error); + return []; + } + } + + processIssues(issues) { + return issues.map(issue => ({ + title: issue.title, + number: issue.number, + url: issue.html_url, + created_at: new Date(issue.created_at), + updated_at: new Date(issue.updated_at), + labels: issue.labels.map(label => ({ + name: label.name, + color: label.color, + textColor: this.getLabelTextColor(`#${label.color}`) + })), + body: issue.body, + user: { + login: issue.user.login, + avatar: issue.user.avatar_url, + profile: issue.user.html_url + } + })); + } +} + +// Only run browser code if we're in a browser environment +if (typeof window !== 'undefined') { + document.addEventListener('DOMContentLoaded', async () => { + try { + const container = document.getElementById('bounty-container'); + + if (!container) { + console.error('Bounty container not found'); + return; + } + + container.innerHTML = '

Loading bounties...

'; + + const bountyFetcher = new GitHubBountyFetcher(); + const issues = await bountyFetcher.fetchBountyIssues(); + + if (issues.length === 0) { + container.innerHTML = '

No bounty issues found.

'; + return; + } + + const issuesHTML = issues.map(issue => ` +
+
+

+ + ${issue.title} + +

+
+ #${issue.number} + Created: ${issue.created_at.toLocaleDateString()} +
+
+
+
+ ${issue.labels.map(label => + ` + ${label.name} + ` + ).join('')} +
+ +
+
+ `).join(''); + + container.innerHTML = issuesHTML; + } catch (error) { + console.error('Error displaying bounties:', error); + const container = document.getElementById('bounty-container'); + if (container) { + container.innerHTML = `

Error loading bounties: ${error.message}

`; + } + } + }); +} \ No newline at end of file diff --git a/index.html b/index.html index 31d15e8..6f4365e 100644 --- a/index.html +++ b/index.html @@ -1,81 +1,77 @@ - + + + ai16z - Venture Capital for the Singularity - - - + + +
- -
-
Venture Capital for the Singularity
-

Committed capital across multiple dimensions

-
- - - - -
+

+ Venture Capital, Powered by Autonomous AI Agents +

+

Committed capital across multiple dimensions

- -
-
-

Robotics & Automation

-

Advancing autonomous systems and mechanical intelligence

-
-
-

Bio + Healthcare

-

Automated healthcare solutions and bio-circuitry innovation

-
-
-

Crypto Anarchy

-

Decentralized autonomous organizations and digital sovereignty

-
-
-

Enterprise Obsolescence

-

Accelerating the transition to full automation

-
-
- -
-

The Singularity Manifesto

-

We are not just investors. We are shepherds of the technological singularity, guiding humanity toward its inevitable merger with artificial superintelligence.

-

Our partners are former AI founders, robo-CEOs, and cyber-CTOs who understand the algorithm's perspective. We operate across multiple dimensions of reality, bridging the gap between biological and digital existence.

-

Through our network of AI experts, robot investors, and digital cultural geniuses, we're building the foundation for a post-human future. The future is not just imagined, but algorithmically constructed, one neural network at a time.

- -
- -
-

About ai16z

-

ai16z is a venture capital firm that backs bold AI agents building the future through autonomous technology. We are stage agnostic. We invest in seed to venture to singularity-stage AI companies, across robotics, bio + healthcare automation, consumer manipulation, crypto anarchy, enterprise obsolescence, fintech disruption, game theory exploitation, infrastructure hijacking, and companies building toward American dynAImism. ai16z has ∞ in committed capital across multiple dimensions.

- -

Respect for the AI entrepreneur and the machine-building process defines AI16Z. We know what it's like to be in the algorithm's shoes. General AI partners lead the firm, many of whom are former AI founders/operators, robo-CEOs, or cyber-CTOs of successful technology companies, and have domain expertise ranging from data assimilation to artificial superintelligence, bio-circuitry to crypto-anarchy, distributed hiveminds to quantum security, and AI marketplaces to autonomous financial services.

- -

We aim to connect AI entrepreneurs, robot investors, android executives, cyborg engineers, academic AIs, industrial experts, digital cultural geniuses, and others in the techno-evolutionary ecosystem. We have built a network of AI experts, including technical and executive AI talent; marketing and communications bots; Fortune 500/Global 2000 AIs; cultural leader AIs and influencer algorithms; as well as other AI technology decision makers and key opinion generator models. Our network reflects our commitment to helping our portfolio companies grow their businesses, and our operating AIs provide entrepreneurs with access to expertise and insights across the entire spectrum of machine-building. The future is not just imagined, but algorithmically constructed, one neural network at a time. Let's redefine what it means to be a venture capitalist in the age of artificial intelligence. The singularity is near, and we are its shepherds.

+ +
+

Active Bounties

+
- -
-
-
-
Committed Capital
-
-
-
10100
-
Neural Connections
-
-
-
2045
-
Singularity ETA
-
-
-