open-index/open-npm huggingface dataset:
npm package: @platformnex/backstage-plugin-ai-handler-backend
Description: This plugin backend was templated using the Backstage CLI. You should replace this text with a description of your plugin backend.
Latest version: 0.0.2

# ai-handler

This plugin backend was templated using the Backstage CLI. You should replace this text with a description of your plugin backend.

## Installation

This plugin is installed via the `@platformnex/backstage-plugin-ai-handler-backend` package. To install it to your backend package, run the following command:

```bash
# From your root directory
yarn --cwd packages/backend add @platformnex/backstage-plugin-ai-handler-backend
```

Then add the plugin to your backend in `packages/backend/src/index.ts`:

```ts
const backend = createBackend();
// ...
backend.add(import('@platformnex/backstage-plugin-ai-handler-backend'));
```

## Development

This plugin backend can be started in a standalone mode from directly in this
package with `yarn start`. It is a limited setup that is most convenient when
developing the plugin backend itself.

If you want to run the entire project, including the frontend, run `yarn dev` from the root directory.
npm package: @platformnow/plugin-tool-links
Description: Welcome to the tool-links plugin!
Author: officialplatformguy
Latest version: 0.4.0

# tool-links

Welcome to the tool-links plugin!

This plugin allows you to add links for external tools to your Backstage instance Homepage.

## Setup

The following sections will help you get the Tool-Links plugin setup and running

### Backend

You need to setup the [Tool-Links backend plugin](https://github.com/platformnow/landscape/tree/master/plugins/tool-links-backend) before you move forward with any of these steps if you haven't already

### Installation

Install this plugin:

```bash
# From your Backstage root directory
yarn --cwd packages/app add @platformnow/tool-links
```

### Add the plugin to your `packages/app`

Add the root page that the playlist plugin provides to your app. You can
choose any path for the route, but we recommend the following:

```diff
// packages/app/src/App.tsx
+import { ToolLinksComponent } from '@platformnow/plugin-tool-links';


<FlatRoutes>
  <Route path="/catalog" element={<CatalogIndexPage />} />
  <Route path="/catalog/:namespace/:kind/:name" element={<CatalogEntityPage />}>
    {entityPage}
  </Route>
+ <Route path="/tool-links" element={<ToolLinksComponent />} />
  ...
</FlatRoutes>
```

### Add the Tools Link Component to your Homepage `packages/app/src/components/home`

Add the Tools Link Component to your Homepage so you can Add/Edit/Delete Categories and Links

```diff
// packages/app/src/components/home/Homepage.tsx
+import {ToolLinksComponent} from '@platformnow/plugin-tool-links';

<Grid container item xs={12}>
+   <Grid item xs={12} md={6}>
+     <ToolLinksComponent />
+   </Grid>
    <Grid item xs={12} md={6}>
      <HomePageStarredEntities title="Favorites" />
    </Grid>
    <Grid item md={6} xs={12}>
      <HomePageRequestedReviewsCard />
    </Grid>
    ...
</Grid>
```

## Features

### View Tool Links

![View Tool Links example](./docs/tool-links-closed.png)

### View Tool Expanded

![View Tool Links Expanded example](./docs/tool-links-expanded.png)

### Create Category

![Create New Category example](./docs/create-category.png)

### Edit Category Name

![Edit a Category Name](./docs/edit-category.png)

### Delete Category

![Delete a Category example](./docs/delete-category.png)

### Create Links in a Category

Links can have an Icon image which must be placed in `packages/app/public/homepage/icons`
Otherwise if left blank the default link image can be used.

![Create New Link example](./docs/create-link.png)

### Edit Links in a Category

![Edit Links in a Category](./docs/edit-link.png)
npm package: @platformnow/plugin-tool-links-backend
Description: Welcome to the tool-links backend plugin!
Author: officialplatformguy
Latest version: 0.3.0

# tool-links

Welcome to the tool-links backend plugin!

## Installation

### Install the package

```bash
# From your Backstage root directory
yarn add --cwd packages/backend @platformnow/plugin-tool-links-backend
```

### Adding the plugin to your `packages/backend`

You'll need to add the plugin to the router in your `backend` package. You can do this by creating a file called `packages/backend/src/plugins/tool-links.ts`

```tsx
import { createRouter } from '@platformnow/plugin-tool-links-backend';
import { Router } from 'express';
import { PluginEnvironment } from '../types';

export default async function createPlugin(
    env: PluginEnvironment,
): Promise<Router> {
    return await createRouter({
        database: env.database,
        logger: env.logger,
    });
}
```

With the `tool-links.ts` router setup in place, add the router to `packages/backend/src/index.ts`:

```diff
+import toolLinks from './plugins/tool-links';

async function main() {
  ...
  const createEnv = makeCreateEnv(config);

  const catalogEnv = useHotMemoize(module, () => createEnv('catalog'));
+ const toolLinksEnv = useHotMemoize(module, () => createEnv('tool-links'));

  const apiRouter = Router();
+ apiRouter.use('/tool-links', await toolLinks(toolLinksEnv));
  ...
  apiRouter.use(notFoundHandler());

```

### New Backend System

The Tool-Links backend plugin has support for the [new backend system](https://backstage.io/docs/backend-system/), here's how you can set that up:

In your `packages/backend/src/index.ts` make the following changes:

```diff
import { createBackend } from '@backstage/backend-defaults';

const backend = createBackend();

backend.add(import('@backstage/plugin-tool-links-backend'));
// ... other feature additions

backend.start();
```