# Goga Cell Javascript

> JavaScript CODEMANIFEST contract implementation rules

- **Type:** Skill
- **Install:** `agentstack add skill-qarium-goga-goga-cell-javascript`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [qarium](https://agentstack.voostack.com/s/qarium)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** BSD-3-Clause
- **Upstream author:** [qarium](https://github.com/qarium)
- **Source:** https://github.com/qarium/goga/tree/1.1.x/goga/assets/skills/goga-cell-javascript

## Install

```sh
agentstack add skill-qarium-goga-goga-cell-javascript
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# JavaScript: Contract Implementation Rules

Language skill for JavaScript.

Apply the specification within the context of the invoking skill. Do not paraphrase the contents — use them
to drive implementation decisions.

Invoked via the `goga-lang-disp` router.

---

## Examples

Complete CODEMANIFEST example for JavaScript covering all DSL constructs:

```yaml
Imports:
  - Types:
      - EventEmitter
      - TransportConfig AS Config
    Usages:
      - retry_policy
    From: path/to/events_cell

Usages:
  conventions: .goga/usages/js_conventions.md
  pattern: |
    Use async/await for all asynchronous operations. Avoid callbacks.
  testing: |
    Use Jest. Each exported function and class method must have test coverage.

Annotations: |
  Use `conventions` for code style.
  Use `testing` for test requirements.
  Use `retry_policy` from Imports for retry logic on transient failures.

  All async functions must return `Promise`.

---

"parseInput(input: string) -> data: Uint8Array":
  location: parser.js
  annotations: |
    Parse raw input string into structured data.

    `input`: raw string to parse

    Use `pattern` for implementation.

"ApiClient(baseURL: string)":
  location: api.js
  annotations: |
    HTTP client for external API communication.

    `baseURL`: root URL for all API requests

    Use `retry_policy` from Imports for request retries.
    Use `conventions` for code style.
  properties:
    "baseURL -> string": |
      Root URL for API requests.
    "timeout -> number": |
      Request timeout in milliseconds.
  methods:
    "fetchData(endpoint: string) -> response: Promise>": |
      Fetch data from the specified endpoint.

      `endpoint`: API endpoint path
      `response`: async response data

      Use `pattern` for implementation.
    "close()": |
      Close client and release resources.

"EventEmitter::SocketEmitter(url: string)":
  location: emitter.js
  annotations: |
    Socket-based emitter extending EventEmitter with real-time capabilities.

    `url`: WebSocket server URL

    Use `retry_policy` from Imports for reconnection logic.

->EventEmitter: {}

---

Author: Goga
CreatedAt: 22/05/26
Description: |
  Example CODEMANIFEST demonstrating all DSL constructs for JavaScript.
```

## Cell

A cell is a module:

```
cell/
├── CODEMANIFEST
├── index.js
```

## Language Specifics

**Facade**: `index.js` serves as the single entry point. All contract exports flow through `module.exports` or `export`.
Only symbols exported from `index.js` form the cell facade.

**Naming**: Use camelCase for functions and methods; use PascalCase for classes.

**Types**: JSDoc provides type annotations. Signatures cannot be extracted without JSDoc.

**Constructors**: The entity signature describes a `new ClassName()` invocation or a factory function.

## Construct Mapping

| JavaScript Construct   | CODEMANIFEST     | Notes                                        |
|------------------------|------------------|----------------------------------------------|
| Exported `class`       | Entity           | Class fields → properties, methods → methods |
| Exported `function`    | Routine          | Module-level function                        |
| Class method           | Method           |                                              |
| Class field / getter   | Property         | Type inferred from JSDoc                     |

## Implementation

- All exports must go through `index.js`

## Signature Rules

Use JSDoc for type annotations where needed.

Allowed:
```
string, number, boolean
Array
Object
T | null
Promise
```

Forbidden:
```
Function
Object (without generics)
...args
```

---

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [qarium](https://github.com/qarium)
- **Source:** [qarium/goga](https://github.com/qarium/goga)
- **License:** BSD-3-Clause

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** yes
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-qarium-goga-goga-cell-javascript
- Seller: https://agentstack.voostack.com/s/qarium
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
