Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# EditorConfig helps maintain consistent coding styles across different editors and IDEs

root = true

[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

[*.md]
trim_trailing_whitespace = false

[*.{js,ts}]
indent_size = 2

[*.json]
indent_size = 2

[*.yml,*.yaml]
indent_size = 2

[Makefile]
indent_style = tab
33 changes: 33 additions & 0 deletions .github/ISSUE_TEMPLATE/agent_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
---
name: Agent Request
about: Suggest a new agent for the Eremos swarm
title: '[AGENT] '
labels: 'enhancement, agent'
assignees: ''
---

## πŸ€– Agent Request

**Agent Name**
What should this agent be called?

**Agent Role**
What role would this agent serve in the swarm? (e.g., surveillance, indexing, memory_vault)

**Watch Type**
What type of blockchain events should this agent monitor? (e.g., wallet_activity, mint_activity, contract_calls)

**Detection Logic**
Describe what patterns or behaviors this agent should detect:

**Signal Output**
What signals should this agent emit when it detects relevant activity?

**Confidence Scoring**
How should this agent calculate confidence scores for its signals?

**Use Cases**
What specific use cases would this agent serve for developers or analysts?

**Additional Context**
Any other context, mockups, or examples that would help implement this agent.
34 changes: 34 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
---
name: Bug Report
about: Create a report to help us improve Eremos
title: '[BUG] '
labels: 'bug'
assignees: ''
---

## πŸ› Bug Report

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:
1. Run agent '...'
2. Trigger event '...'
3. See error

**Expected behavior**
A clear and concise description of what you expected to happen.

**Agent Information**
- Agent name: [e.g., Theron, Observer]
- Agent ID: [e.g., agent-000]
- Event type: [e.g., wallet_activity]

**Environment**
- OS: [e.g., macOS, Ubuntu]
- Node.js version: [e.g., 18.0.0]
- TypeScript version: [e.g., 4.9.0]

**Additional context**
Add any other context about the problem here, including signal logs or error messages.
27 changes: 27 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
---
name: Feature Request
about: Suggest an idea for improving Eremos
title: '[FEATURE] '
labels: 'enhancement'
assignees: ''
---

## πŸ’‘ Feature Request

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Impact on Agents**
Would this feature affect existing agents? How?

**Implementation Ideas**
Any thoughts on how this could be implemented within the Eremos framework?

**Additional context**
Add any other context or screenshots about the feature request here.
46 changes: 46 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Pull Request

## πŸ”„ Description
<!-- Provide a brief description of the changes in this PR -->

## 🎯 Type of Change
<!-- Mark the relevant option with an x -->
- [ ] πŸ› Bug fix (non-breaking change which fixes an issue)
- [ ] πŸš€ New feature (non-breaking change which adds functionality)
- [ ] πŸ’₯ Breaking change (fix or feature that would cause existing functionality to not work as expected)
- [ ] πŸ“š Documentation update
- [ ] πŸ€– New agent implementation
- [ ] πŸ”§ Utility improvement
- [ ] 🧹 Code cleanup/refactoring

## πŸ§ͺ Testing
<!-- Describe how you tested your changes -->
- [ ] I have tested this change locally
- [ ] I have run existing tests and they pass
- [ ] I have added tests for my changes (if applicable)
- [ ] I have validated agent functionality (if applicable)

## πŸ“‹ Checklist
<!-- Mark completed items with an x -->
- [ ] My code follows the project's coding standards
- [ ] I have performed a self-review of my code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] My changes generate no new warnings
- [ ] Any dependent changes have been merged and published

## πŸ€– Agent Changes (if applicable)
<!-- If this PR involves agent changes, please fill out the following -->
- Agent name:
- Agent ID:
- Watch type:
- Signal types:

## πŸ“Έ Screenshots/Examples (if applicable)
<!-- Add screenshots or examples of your changes in action -->

## πŸ”— Related Issues
<!-- Link to any related issues using #issue_number -->
Closes #

## πŸ“ Additional Notes
<!-- Any additional information that reviewers should know -->
62 changes: 62 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
name: CI

on:
push:
branches: [ main, develop ]
pull_request:
branches: [ main, develop ]

jobs:
test:
runs-on: ubuntu-latest

strategy:
matrix:
node-version: [16.x, 18.x, 20.x]

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Setup Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'

- name: Install dependencies
run: npm ci

- name: Run TypeScript build
run: npm run build

- name: Run tests
run: npm test

- name: Validate example agent
run: npm run validate agents/example.ts

- name: Test agent simulation
run: npm run simulate

lint:
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '18.x'
cache: 'npm'

- name: Install dependencies
run: npm ci

- name: Run linting
run: npm run lint

- name: Check TypeScript
run: npx tsc --noEmit
10 changes: 10 additions & 0 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"recommendations": [
"ms-vscode.vscode-typescript-next",
"bradlc.vscode-tailwindcss",
"esbenp.prettier-vscode",
"ms-vscode.vscode-json",
"yzhang.markdown-all-in-one",
"streetsidesoftware.code-spell-checker"
]
}
44 changes: 44 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
{
"version": "0.2.0",
"configurations": [
{
"name": "Run Dev Agent",
"type": "node",
"request": "launch",
"program": "${workspaceFolder}/scripts/dev-agent.ts",
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen",
"runtimeArgs": ["-r", "ts-node/register"],
"env": {
"NODE_ENV": "development"
}
},
{
"name": "Validate Agent",
"type": "node",
"request": "launch",
"program": "${workspaceFolder}/scripts/validate-agent.ts",
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen",
"runtimeArgs": ["-r", "ts-node/register"],
"args": ["${input:agentPath}"]
},
{
"name": "Simulate Cluster",
"type": "node",
"request": "launch",
"program": "${workspaceFolder}/scripts/simulate-cluster.ts",
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen",
"runtimeArgs": ["-r", "ts-node/register"]
}
],
"inputs": [
{
"id": "agentPath",
"description": "Path to agent file",
"default": "agents/example.ts",
"type": "promptString"
}
]
}
24 changes: 24 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.fixAll": "explicit",
"source.organizeImports": "explicit"
},
"typescript.preferences.includePackageJsonAutoImports": "off",
"files.associations": {
"*.ts": "typescript"
},
"files.exclude": {
"**/node_modules": true,
"**/dist": true,
"**/.git": true
},
"typescript.suggest.paths": false,
"search.exclude": {
"**/node_modules": true,
"**/dist": true
},
"emmet.includeLanguages": {
"typescript": "javascript"
}
}
52 changes: 52 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# Changelog

All notable changes to Eremos will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

### Added
- Enhanced README with proper badges, structure, and quick start guide
- Comprehensive package.json with development scripts and metadata
- GitHub issue and PR templates for better contribution workflow
- Detailed contributing guide with agent development instructions
- Development guide with tooling and best practices
- VS Code workspace configuration with debugging support
- GitHub Actions CI/CD pipeline
- Proper project documentation structure

### Changed
- Improved project organization and developer experience
- Enhanced contribution guidelines and templates
- Better script definitions for development workflow

### Fixed
- Missing project metadata and repository links
- Inconsistent documentation structure

## [0.1.0] - 2025-01-01

### Added
- Initial Eremos framework release
- Base agent system with observe/memory pattern
- Core agents: Theron, Observer, Harvester, LaunchTracker, SkierΓ³
- Signal generation and logging utilities
- Event processing and throttling mechanisms
- TypeScript type definitions
- Basic testing framework
- Development and simulation scripts
- Documentation and architecture guides

### Core Features
- Modular agent architecture
- Signal emission with confidence scoring
- Memory system for agent state
- Swarm design with independent agents
- Launch wallet detection capabilities
- Ghost wallet monitoring
- Structured signal output

[unreleased]: https://github.com/EremosCore/Eremos/compare/v0.1.0...HEAD
[0.1.0]: https://github.com/EremosCore/Eremos/releases/tag/v0.1.0
Loading