Skip to content
Closed
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
145 changes: 145 additions & 0 deletions README 2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,145 @@
<!-- # Turborepo starter

This Turborepo starter is maintained by the Turborepo core team.

## Using this example

Run the following command:

```sh
npx create-turbo@latest
```

## What's inside?

This Turborepo includes the following packages/apps:

### Apps and Packages

- `docs`: a [Next.js](https://nextjs.org/) app
- `web`: another [Next.js](https://nextjs.org/) app
- `@repo/ui`: a stub React component library shared by both `web` and `docs` applications
- `@repo/eslint-config`: `eslint` configurations (includes `eslint-config-next` and `eslint-config-prettier`)
- `@repo/typescript-config`: `tsconfig.json`s used throughout the monorepo

Each package/app is 100% [TypeScript](https://www.typescriptlang.org/).

### Utilities

This Turborepo has some additional tools already setup for you:

- [TypeScript](https://www.typescriptlang.org/) for static type checking
- [ESLint](https://eslint.org/) for code linting
- [Prettier](https://prettier.io) for code formatting

### Build

To build all apps and packages, run the following command:

```
cd my-turborepo
pnpm build
```

### Develop

To develop all apps and packages, run the following command:

```
cd my-turborepo
pnpm dev
```

### Remote Caching

> [!TIP]
> Vercel Remote Cache is free for all plans. Get started today at [vercel.com](https://vercel.com/signup?/signup?utm_source=remote-cache-sdk&utm_campaign=free_remote_cache).

Turborepo can use a technique known as [Remote Caching](https://turbo.build/repo/docs/core-concepts/remote-caching) to share cache artifacts across machines, enabling you to share build caches with your team and CI/CD pipelines.

By default, Turborepo will cache locally. To enable Remote Caching you will need an account with Vercel. If you don't have an account you can [create one](https://vercel.com/signup?utm_source=turborepo-examples), then enter the following commands:

```
cd my-turborepo
npx turbo login
```

This will authenticate the Turborepo CLI with your [Vercel account](https://vercel.com/docs/concepts/personal-accounts/overview).

Next, you can link your Turborepo to your Remote Cache by running the following command from the root of your Turborepo:

```
npx turbo link
```

## Useful Links

Learn more about the power of Turborepo:

- [Tasks](https://turbo.build/repo/docs/core-concepts/monorepos/running-tasks)
- [Caching](https://turbo.build/repo/docs/core-concepts/caching)
- [Remote Caching](https://turbo.build/repo/docs/core-concepts/remote-caching)
- [Filtering](https://turbo.build/repo/docs/core-concepts/monorepos/filtering)
- [Configuration Options](https://turbo.build/repo/docs/reference/configuration)
- [CLI Usage](https://turbo.build/repo/docs/reference/command-line-reference) -->
Comment on lines +1 to +84
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

Remove commented-out legacy content.

The entire commented section about Turborepo starter is no longer relevant and clutters the documentation. Consider removing it entirely.

-<!-- # Turborepo starter
-
-This Turborepo starter is maintained by the Turborepo core team.
-
-## Using this example
-
-Run the following command:
-
-```sh
-npx create-turbo@latest
-```
-
-## What's inside?
-
-This Turborepo includes the following packages/apps:
-
-### Apps and Packages
-
-- `docs`: a [Next.js](https://nextjs.org/) app
-- `web`: another [Next.js](https://nextjs.org/) app
-- `@repo/ui`: a stub React component library shared by both `web` and `docs` applications
-- `@repo/eslint-config`: `eslint` configurations (includes `eslint-config-next` and `eslint-config-prettier`)
-- `@repo/typescript-config`: `tsconfig.json`s used throughout the monorepo
-
-Each package/app is 100% [TypeScript](https://www.typescriptlang.org/).
-
-### Utilities
-
-This Turborepo has some additional tools already setup for you:
-
-- [TypeScript](https://www.typescriptlang.org/) for static type checking
-- [ESLint](https://eslint.org/) for code linting
-- [Prettier](https://prettier.io) for code formatting
-
-### Build
-
-To build all apps and packages, run the following command:
-
-```
-cd my-turborepo
-pnpm build
-```
-
-### Develop
-
-To develop all apps and packages, run the following command:
-
-```
-cd my-turborepo
-pnpm dev
-```
-
-### Remote Caching
-
-> [!TIP]
-> Vercel Remote Cache is free for all plans. Get started today at [vercel.com](https://vercel.com/signup?/signup?utm_source=remote-cache-sdk&utm_campaign=free_remote_cache).
-
-Turborepo can use a technique known as [Remote Caching](https://turbo.build/repo/docs/core-concepts/remote-caching) to share cache artifacts across machines, enabling you to share build caches with your team and CI/CD pipelines.
-
-By default, Turborepo will cache locally. To enable Remote Caching you will need an account with Vercel. If you don't have an account you can [create one](https://vercel.com/signup?utm_source=turborepo-examples), then enter the following commands:
-
-```
-cd my-turborepo
-npx turbo login
-```
-
-This will authenticate the Turborepo CLI with your [Vercel account](https://vercel.com/docs/concepts/personal-accounts/overview).
-
-Next, you can link your Turborepo to your Remote Cache by running the following command from the root of your Turborepo:
-
-```
-npx turbo link
-```
-
-## Useful Links
-
-Learn more about the power of Turborepo:
-
-- [Tasks](https://turbo.build/repo/docs/core-concepts/monorepos/running-tasks)
-- [Caching](https://turbo.build/repo/docs/core-concepts/caching)
-- [Remote Caching](https://turbo.build/repo/docs/core-concepts/remote-caching)
-- [Filtering](https://turbo.build/repo/docs/core-concepts/monorepos/filtering)
-- [Configuration Options](https://turbo.build/repo/docs/reference/configuration)
-- [CLI Usage](https://turbo.build/repo/docs/reference/command-line-reference) -->
🤖 Prompt for AI Agents
In README 2.md from lines 1 to 84, remove the entire commented-out Turborepo
starter section as it is legacy content that clutters the documentation. Delete
all lines within the comment block including the instructions, package
descriptions, build and develop commands, remote caching info, and useful links
to clean up the file.


# MetaState Prototype

## Progress Tracker

| Project | Status |
| ------------------------------------------ | ----------- |
| [W3ID](./infrastructure/w3id/) | In Progress |
| [eID Wallet](./infrastructure/eid-wallet/) | In Progress |
| EVault Core | Planned |
| Web3 Adapter | Planned |
Comment on lines +90 to +95
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

Update project status to reflect actual implementation.

The progress tracker shows Web3 Adapter as "Planned", but based on the PR content and other documentation, it appears to be implemented.

 | [W3ID](./infrastructure/w3id/)             | In Progress |
 | [eID Wallet](./infrastructure/eid-wallet/) | In Progress |
 | EVault Core                                | Planned     |
-| Web3 Adapter                               | Planned     |
+| [Web3 Adapter](./infrastructure/web3-adapter/) | Complete    |
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
| Project | Status |
| ------------------------------------------ | ----------- |
| [W3ID](./infrastructure/w3id/) | In Progress |
| [eID Wallet](./infrastructure/eid-wallet/) | In Progress |
| EVault Core | Planned |
| Web3 Adapter | Planned |
| Project | Status |
| ------------------------------------------ | ----------- |
| [W3ID](./infrastructure/w3id/) | In Progress |
| [eID Wallet](./infrastructure/eid-wallet/) | In Progress |
| EVault Core | Planned |
| [Web3 Adapter](./infrastructure/web3-adapter/) | Complete |
🤖 Prompt for AI Agents
In README 2.md around lines 90 to 95, the project status for "Web3 Adapter" is
incorrectly marked as "Planned". Update the status to "In Progress" or
"Completed" to accurately reflect its implementation based on the PR content and
documentation.


## Documentation Links

| Documentation | Description | Link |
| ---------------------------- | ------------------------------------------- | -------------------------------------------------------------------------- |
| MetaState Prototype | Main project README | [README.md](./README.md) |
| W3ID | Web 3 Identity System documentation | [W3ID README](./infrastructure/w3id/README.md) |
| eVault Core | Core eVault system documentation | [eVault Core README](./infrastructure/evault-core/README.md) |
| eVault Core W3ID Integration | W3ID integration details for eVault Core | [W3ID Integration](./infrastructure/evault-core/docs/w3id-integration.md) |
| eVault Provisioner | Provisioning eVault instances documentation | [eVault Provisioner README](./infrastructure/evault-provisioner/README.md) |
| Bug Report Template | GitHub issue template for bug reports | [Bug Report Template](./.github/ISSUE_TEMPLATE/bug-report.md) |

## Project Structure

```
prototype/
├─ .vscode/
│ └─ settings.json
├─ infrastructure/
│ ├─ evault-core/
│ │ └─ package.json
│ └─ w3id/
│ └─ package.json
├─ packages/
│ ├─ eslint-config/
│ │ ├─ base.js
│ │ ├─ next.js
│ │ ├─ package.json
│ │ ├─ react-internal.js
│ │ └─ README.md
│ └─ typescript-config/
│ ├─ base.json
│ ├─ nextjs.json
│ ├─ package.json
│ └─ react-library.json
├─ platforms/
│ └─ .gitkeep
├─ services/
│ ├─ ontology/ (MetaState Ontology Service)
│ │ └─ package.json
│ └─ web3-adapter/ (MetaState Web-3 Adapter Service)
│ └─ package.json
├─ .gitignore (Ignores files while upstream to repo)
├─ .npmrc (Dependency Manager Conf)
├─ package.json (Dependency Management)
├─ pnpm-lock.yaml (Reproducability)
├─ pnpm-workspace.yaml (Configures MonoRepo)
├─ README.md (This File)
└─ turbo.json (Configures TurboRepo)
```
32 changes: 30 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -92,14 +92,15 @@ Learn more about the power of Turborepo:
| [W3ID](./infrastructure/w3id/) | In Progress |
| [eID Wallet](./infrastructure/eid-wallet/) | In Progress |
| EVault Core | Planned |
| Web3 Adapter | Planned |
| [Web3 Adapter](./infrastructure/web3-adapter/) | ✅ Complete |

## Documentation Links

| Documentation | Description | Link |
| ---------------------------- | ------------------------------------------- | -------------------------------------------------------------------------- |
| MetaState Prototype | Main project README | [README.md](./README.md) |
| W3ID | Web 3 Identity System documentation | [W3ID README](./infrastructure/w3id/README.md) |
| Web3 Adapter | Platform data synchronization adapter | [Web3 Adapter README](./infrastructure/web3-adapter/README.md) |
| eVault Core | Core eVault system documentation | [eVault Core README](./infrastructure/evault-core/README.md) |
| eVault Core W3ID Integration | W3ID integration details for eVault Core | [W3ID Integration](./infrastructure/evault-core/docs/w3id-integration.md) |
| eVault Provisioner | Provisioning eVault instances documentation | [eVault Provisioner README](./infrastructure/evault-provisioner/README.md) |
Expand All @@ -114,7 +115,14 @@ prototype/
├─ infrastructure/
│ ├─ evault-core/
│ │ └─ package.json
│ └─ w3id/
│ ├─ w3id/
│ │ └─ package.json
│ └─ web3-adapter/
│ ├─ src/
│ │ ├─ adapter.ts
│ │ ├─ types.ts
│ │ └─ index.ts
│ ├─ examples/
│ └─ package.json
├─ packages/
│ ├─ eslint-config/
Expand Down Expand Up @@ -143,3 +151,23 @@ prototype/
├─ README.md (This File)
└─ turbo.json (Configures TurboRepo)
```

## Web3 Adapter

The Web3 Adapter is a critical infrastructure component that enables seamless data exchange between different social media platforms through the W3DS infrastructure. It provides:

### Key Features
- **Schema Mapping**: Maps platform-specific data models to universal ontology schemas
- **ID Translation**: Maintains bidirectional mapping between W3IDs and platform-specific identifiers
- **ACL Management**: Handles access control lists for read/write permissions
- **MetaEnvelope Support**: Converts data to/from eVault's envelope-based storage format
- **Cross-Platform Exchange**: Enables data sharing between Twitter, Instagram, and other platforms

### How It Works
1. Platform data is converted to universal ontology format using schema mappings
2. Data is broken down into atomic Envelopes with ontology references
3. MetaEnvelopes group related envelopes as logical entities
4. W3IDs are mapped to local platform IDs for seamless integration
5. ACLs control data access across platforms

For detailed implementation and usage examples, see the [Web3 Adapter documentation](./infrastructure/web3-adapter/README.md).
Loading