Update README.md to provide a comprehensive overview of The Order monorepo, including repository structure, quickstart guide, development workflow, and contribution guidelines.
This commit is contained in:
31
apps/mcp-legal/README.md
Normal file
31
apps/mcp-legal/README.md
Normal file
@@ -0,0 +1,31 @@
|
||||
# MCP Legal
|
||||
|
||||
MCP server for Legal Purpose (matters, filings, attestations).
|
||||
|
||||
## Features
|
||||
|
||||
- Matter management
|
||||
- Signature orchestration
|
||||
- Legal-grade record retention
|
||||
- Treaty registry
|
||||
|
||||
## Development
|
||||
|
||||
```bash
|
||||
# Install dependencies
|
||||
pnpm install
|
||||
|
||||
# Run development server
|
||||
pnpm dev
|
||||
|
||||
# Build
|
||||
pnpm build
|
||||
|
||||
# Start production server
|
||||
pnpm start
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
Configure this MCP server in your MCP client to access legal management features.
|
||||
|
||||
24
apps/mcp-legal/package.json
Normal file
24
apps/mcp-legal/package.json
Normal file
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"name": "@the-order/mcp-legal",
|
||||
"version": "0.1.0",
|
||||
"private": true,
|
||||
"description": "MCP server for Legal Purpose (matters, filings, attestations)",
|
||||
"main": "./src/index.ts",
|
||||
"scripts": {
|
||||
"dev": "tsx watch src/index.ts",
|
||||
"build": "tsc",
|
||||
"start": "node dist/index.js",
|
||||
"lint": "eslint src --ext .ts",
|
||||
"type-check": "tsc --noEmit"
|
||||
},
|
||||
"dependencies": {
|
||||
"@modelcontextprotocol/sdk": "^0.4.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^20.10.6",
|
||||
"typescript": "^5.3.3",
|
||||
"tsx": "^4.7.0",
|
||||
"eslint": "^8.56.0"
|
||||
}
|
||||
}
|
||||
|
||||
32
apps/mcp-legal/src/index.ts
Normal file
32
apps/mcp-legal/src/index.ts
Normal file
@@ -0,0 +1,32 @@
|
||||
#!/usr/bin/env node
|
||||
/**
|
||||
* MCP server for Legal Purpose (matters, filings, attestations)
|
||||
*/
|
||||
|
||||
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
||||
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
||||
|
||||
const server = new Server(
|
||||
{
|
||||
name: 'mcp-legal',
|
||||
version: '0.1.0',
|
||||
},
|
||||
{
|
||||
capabilities: {
|
||||
tools: {},
|
||||
},
|
||||
}
|
||||
);
|
||||
|
||||
// Initialize server
|
||||
async function main() {
|
||||
const transport = new StdioServerTransport();
|
||||
await server.connect(transport);
|
||||
console.error('MCP Legal server running on stdio');
|
||||
}
|
||||
|
||||
main().catch((error) => {
|
||||
console.error('Error starting server:', error);
|
||||
process.exit(1);
|
||||
});
|
||||
|
||||
10
apps/mcp-legal/tsconfig.json
Normal file
10
apps/mcp-legal/tsconfig.json
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"extends": "../../tsconfig.base.json",
|
||||
"compilerOptions": {
|
||||
"outDir": "./dist",
|
||||
"rootDir": "./src"
|
||||
},
|
||||
"include": ["src/**/*"],
|
||||
"exclude": ["node_modules", "dist", "**/*.test.ts", "**/*.spec.ts"]
|
||||
}
|
||||
|
||||
31
apps/mcp-members/README.md
Normal file
31
apps/mcp-members/README.md
Normal file
@@ -0,0 +1,31 @@
|
||||
# MCP Members
|
||||
|
||||
MCP server for Members of The Order.
|
||||
|
||||
## Features
|
||||
|
||||
- Membership management
|
||||
- Credential wallet
|
||||
- Role entitlements
|
||||
- Dataroom access
|
||||
|
||||
## Development
|
||||
|
||||
```bash
|
||||
# Install dependencies
|
||||
pnpm install
|
||||
|
||||
# Run development server
|
||||
pnpm dev
|
||||
|
||||
# Build
|
||||
pnpm build
|
||||
|
||||
# Start production server
|
||||
pnpm start
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
Configure this MCP server in your MCP client to access member management features.
|
||||
|
||||
24
apps/mcp-members/package.json
Normal file
24
apps/mcp-members/package.json
Normal file
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"name": "@the-order/mcp-members",
|
||||
"version": "0.1.0",
|
||||
"private": true,
|
||||
"description": "MCP server for Members of The Order",
|
||||
"main": "./src/index.ts",
|
||||
"scripts": {
|
||||
"dev": "tsx watch src/index.ts",
|
||||
"build": "tsc",
|
||||
"start": "node dist/index.js",
|
||||
"lint": "eslint src --ext .ts",
|
||||
"type-check": "tsc --noEmit"
|
||||
},
|
||||
"dependencies": {
|
||||
"@modelcontextprotocol/sdk": "^0.4.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^20.10.6",
|
||||
"typescript": "^5.3.3",
|
||||
"tsx": "^4.7.0",
|
||||
"eslint": "^8.56.0"
|
||||
}
|
||||
}
|
||||
|
||||
32
apps/mcp-members/src/index.ts
Normal file
32
apps/mcp-members/src/index.ts
Normal file
@@ -0,0 +1,32 @@
|
||||
#!/usr/bin/env node
|
||||
/**
|
||||
* MCP server for Members of The Order
|
||||
*/
|
||||
|
||||
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
||||
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
||||
|
||||
const server = new Server(
|
||||
{
|
||||
name: 'mcp-members',
|
||||
version: '0.1.0',
|
||||
},
|
||||
{
|
||||
capabilities: {
|
||||
tools: {},
|
||||
},
|
||||
}
|
||||
);
|
||||
|
||||
// Initialize server
|
||||
async function main() {
|
||||
const transport = new StdioServerTransport();
|
||||
await server.connect(transport);
|
||||
console.error('MCP Members server running on stdio');
|
||||
}
|
||||
|
||||
main().catch((error) => {
|
||||
console.error('Error starting server:', error);
|
||||
process.exit(1);
|
||||
});
|
||||
|
||||
10
apps/mcp-members/tsconfig.json
Normal file
10
apps/mcp-members/tsconfig.json
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"extends": "../../tsconfig.base.json",
|
||||
"compilerOptions": {
|
||||
"outDir": "./dist",
|
||||
"rootDir": "./src"
|
||||
},
|
||||
"include": ["src/**/*"],
|
||||
"exclude": ["node_modules", "dist", "**/*.test.ts", "**/*.spec.ts"]
|
||||
}
|
||||
|
||||
28
apps/portal-internal/README.md
Normal file
28
apps/portal-internal/README.md
Normal file
@@ -0,0 +1,28 @@
|
||||
# Portal Internal
|
||||
|
||||
Internal web portal for The Order (admin/ops).
|
||||
|
||||
## Development
|
||||
|
||||
```bash
|
||||
# Install dependencies
|
||||
pnpm install
|
||||
|
||||
# Run development server (port 3001)
|
||||
pnpm dev
|
||||
|
||||
# Build for production
|
||||
pnpm build
|
||||
|
||||
# Start production server
|
||||
pnpm start
|
||||
```
|
||||
|
||||
## Environment Variables
|
||||
|
||||
See `.env.example` for required environment variables.
|
||||
|
||||
## Authentication
|
||||
|
||||
This portal requires authentication. Configure OIDC/DID settings in environment variables.
|
||||
|
||||
8
apps/portal-internal/next.config.js
Normal file
8
apps/portal-internal/next.config.js
Normal file
@@ -0,0 +1,8 @@
|
||||
/** @type {import('next').NextConfig} */
|
||||
const nextConfig = {
|
||||
reactStrictMode: true,
|
||||
transpilePackages: ['@the-order/ui', '@the-order/schemas', '@the-order/auth'],
|
||||
};
|
||||
|
||||
module.exports = nextConfig;
|
||||
|
||||
29
apps/portal-internal/package.json
Normal file
29
apps/portal-internal/package.json
Normal file
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"name": "@the-order/portal-internal",
|
||||
"version": "0.1.0",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"dev": "next dev -p 3001",
|
||||
"build": "next build",
|
||||
"start": "next start -p 3001",
|
||||
"lint": "next lint",
|
||||
"type-check": "tsc --noEmit"
|
||||
},
|
||||
"dependencies": {
|
||||
"next": "^14.0.4",
|
||||
"react": "^18.2.0",
|
||||
"react-dom": "^18.2.0",
|
||||
"@the-order/ui": "workspace:*",
|
||||
"@the-order/schemas": "workspace:*",
|
||||
"@the-order/auth": "workspace:*"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^20.10.6",
|
||||
"@types/react": "^18.2.45",
|
||||
"@types/react-dom": "^18.2.18",
|
||||
"typescript": "^5.3.3",
|
||||
"eslint": "^8.56.0",
|
||||
"eslint-config-next": "^14.0.4"
|
||||
}
|
||||
}
|
||||
|
||||
19
apps/portal-internal/src/app/layout.tsx
Normal file
19
apps/portal-internal/src/app/layout.tsx
Normal file
@@ -0,0 +1,19 @@
|
||||
import type { Metadata } from 'next';
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: 'The Order - Internal Portal',
|
||||
description: 'Internal portal for The Order (admin/ops)',
|
||||
};
|
||||
|
||||
export default function RootLayout({
|
||||
children,
|
||||
}: {
|
||||
children: React.ReactNode;
|
||||
}) {
|
||||
return (
|
||||
<html lang="en">
|
||||
<body>{children}</body>
|
||||
</html>
|
||||
);
|
||||
}
|
||||
|
||||
9
apps/portal-internal/src/app/page.tsx
Normal file
9
apps/portal-internal/src/app/page.tsx
Normal file
@@ -0,0 +1,9 @@
|
||||
export default function Home() {
|
||||
return (
|
||||
<main>
|
||||
<h1>The Order - Internal Portal</h1>
|
||||
<p>Welcome to The Order internal portal (admin/ops).</p>
|
||||
</main>
|
||||
);
|
||||
}
|
||||
|
||||
32
apps/portal-internal/tsconfig.json
Normal file
32
apps/portal-internal/tsconfig.json
Normal file
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"extends": "../../tsconfig.base.json",
|
||||
"compilerOptions": {
|
||||
"target": "ES2020",
|
||||
"lib": ["dom", "dom.iterable", "esnext"],
|
||||
"allowJs": true,
|
||||
"skipLibCheck": true,
|
||||
"strict": true,
|
||||
"noEmit": true,
|
||||
"esModuleInterop": true,
|
||||
"module": "esnext",
|
||||
"moduleResolution": "bundler",
|
||||
"resolveJsonModule": true,
|
||||
"isolatedModules": true,
|
||||
"jsx": "preserve",
|
||||
"incremental": true,
|
||||
"plugins": [
|
||||
{
|
||||
"name": "next"
|
||||
}
|
||||
],
|
||||
"paths": {
|
||||
"@/*": ["./src/*"],
|
||||
"@the-order/ui": ["../../packages/ui/src"],
|
||||
"@the-order/schemas": ["../../packages/schemas/src"],
|
||||
"@the-order/auth": ["../../packages/auth/src"]
|
||||
}
|
||||
},
|
||||
"include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
|
||||
"exclude": ["node_modules"]
|
||||
}
|
||||
|
||||
24
apps/portal-public/README.md
Normal file
24
apps/portal-public/README.md
Normal file
@@ -0,0 +1,24 @@
|
||||
# Portal Public
|
||||
|
||||
Public web presence for The Order.
|
||||
|
||||
## Development
|
||||
|
||||
```bash
|
||||
# Install dependencies
|
||||
pnpm install
|
||||
|
||||
# Run development server
|
||||
pnpm dev
|
||||
|
||||
# Build for production
|
||||
pnpm build
|
||||
|
||||
# Start production server
|
||||
pnpm start
|
||||
```
|
||||
|
||||
## Environment Variables
|
||||
|
||||
See `.env.example` for required environment variables.
|
||||
|
||||
8
apps/portal-public/next.config.js
Normal file
8
apps/portal-public/next.config.js
Normal file
@@ -0,0 +1,8 @@
|
||||
/** @type {import('next').NextConfig} */
|
||||
const nextConfig = {
|
||||
reactStrictMode: true,
|
||||
transpilePackages: ['@the-order/ui', '@the-order/schemas'],
|
||||
};
|
||||
|
||||
module.exports = nextConfig;
|
||||
|
||||
28
apps/portal-public/package.json
Normal file
28
apps/portal-public/package.json
Normal file
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"name": "@the-order/portal-public",
|
||||
"version": "0.1.0",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"dev": "next dev",
|
||||
"build": "next build",
|
||||
"start": "next start",
|
||||
"lint": "next lint",
|
||||
"type-check": "tsc --noEmit"
|
||||
},
|
||||
"dependencies": {
|
||||
"next": "^14.0.4",
|
||||
"react": "^18.2.0",
|
||||
"react-dom": "^18.2.0",
|
||||
"@the-order/ui": "workspace:*",
|
||||
"@the-order/schemas": "workspace:*"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^20.10.6",
|
||||
"@types/react": "^18.2.45",
|
||||
"@types/react-dom": "^18.2.18",
|
||||
"typescript": "^5.3.3",
|
||||
"eslint": "^8.56.0",
|
||||
"eslint-config-next": "^14.0.4"
|
||||
}
|
||||
}
|
||||
|
||||
19
apps/portal-public/src/app/layout.tsx
Normal file
19
apps/portal-public/src/app/layout.tsx
Normal file
@@ -0,0 +1,19 @@
|
||||
import type { Metadata } from 'next';
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: 'The Order - Public Portal',
|
||||
description: 'Public portal for The Order',
|
||||
};
|
||||
|
||||
export default function RootLayout({
|
||||
children,
|
||||
}: {
|
||||
children: React.ReactNode;
|
||||
}) {
|
||||
return (
|
||||
<html lang="en">
|
||||
<body>{children}</body>
|
||||
</html>
|
||||
);
|
||||
}
|
||||
|
||||
9
apps/portal-public/src/app/page.tsx
Normal file
9
apps/portal-public/src/app/page.tsx
Normal file
@@ -0,0 +1,9 @@
|
||||
export default function Home() {
|
||||
return (
|
||||
<main>
|
||||
<h1>The Order - Public Portal</h1>
|
||||
<p>Welcome to The Order public portal.</p>
|
||||
</main>
|
||||
);
|
||||
}
|
||||
|
||||
31
apps/portal-public/tsconfig.json
Normal file
31
apps/portal-public/tsconfig.json
Normal file
@@ -0,0 +1,31 @@
|
||||
{
|
||||
"extends": "../../tsconfig.base.json",
|
||||
"compilerOptions": {
|
||||
"target": "ES2020",
|
||||
"lib": ["dom", "dom.iterable", "esnext"],
|
||||
"allowJs": true,
|
||||
"skipLibCheck": true,
|
||||
"strict": true,
|
||||
"noEmit": true,
|
||||
"esModuleInterop": true,
|
||||
"module": "esnext",
|
||||
"moduleResolution": "bundler",
|
||||
"resolveJsonModule": true,
|
||||
"isolatedModules": true,
|
||||
"jsx": "preserve",
|
||||
"incremental": true,
|
||||
"plugins": [
|
||||
{
|
||||
"name": "next"
|
||||
}
|
||||
],
|
||||
"paths": {
|
||||
"@/*": ["./src/*"],
|
||||
"@the-order/ui": ["../../packages/ui/src"],
|
||||
"@the-order/schemas": ["../../packages/schemas/src"]
|
||||
}
|
||||
},
|
||||
"include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
|
||||
"exclude": ["node_modules"]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user